True Point

Pool design & quoting
An isometric natural swimming pool with a planted margin of boulders and reeds blending into the pool edge, the safety barrier set out past the margin, and two gates.

True Point is a quoting tool for concrete and fibreglass pool builders. It reads the CAD the firm already draws in, runs the exact geometry in the browser, and prices it against what is actually on the shelf, so a quote that took months comes back in hours. What leaves the office is a fabrication order the factory can build from, with a delivery and installation date that holds.

Geometry
Exact B-rep
OpenCascade, not a mesh
Runs
In the browser
Local-first document
Quantities
Off the solid
Areas, volumes, counts
Configurator
Live
Drag it yourself, below

The whole run, CAD to payment

True Point · the shape of it Overview Three beats · detail follows below
Scroll the diagram sideways
True Point in three beats, CAD in and accounting out A three part overview. On the left, a model is drawn in SolidWorks or the firm's preferred CAD. An arrow leads into the centre, where a single enclosing box labelled True Point contains the eight things it covers: the STEP file it reads, the OpenCascade kernel, Blender presentation, the catalogue, the take-off, inventory, the programme and quoting. An arrow leads out of that box to the right, to MYOB, Xero or QuickBooks, where the accepted quote becomes an invoice. 1 · DRAWN IN or the firm's preferred CAD. The pool is modelled once, by the person who models. nothing changes here STEP 2 · ONE PRODUCT True Point Everything between the drawing and the invoice STEP read exactly OpenCascade the CAD kernel Blender what clients see Catalogue configurable Take-off measured, not typed Inventory stock and lead time Programme weeks, in order Quoting materials, labour One document not eight tools One model, one price. Change the drawing, the quote follows. INVOICE 3 · HANDED OFF TO Xero QuickBooks Any of the three. The accepted quote posts as an invoice against the client. payment reconciles back to the job SolidWorks, MYOB, Xero and QuickBooks marks are the property of their owners, shown to name the products True Point interoperates with through published formats and public APIs. No partnership, endorsement or certification is implied. is implied.
One product sits between the CAD the model is drawn in and the ledger the invoice lands in, and the eight things inside the box are the work it does rather than eight tools to buy and wire together. Below, the same run with the formats, payloads and figures named.
True Point · CAD to payment Pipeline Worked example · 10.0 × 4.0 m fibreglass · rev 14 · AUD
Scroll the diagram sideways
True Point pipeline from SolidWorks to payment A nine stage engineering diagram. A pool model leaves SolidWorks as a STEP AP214 file of 943,975 bytes containing 51 manifold solid B-reps. The OpenCascade kernel reads it as exact B-rep with 327 faces and 672 edges. It becomes a configurable catalogue product with five variable axes. Quantities are measured off the solid: 40.0 square metres of water, 62.0 cubic metres of volume, 51.0 square metres of surround, 39.0 lineal metres of barrier. Eight SKUs are checked against stock, four fall short worth $62,627.60, and the 9 week shell lead sets a 15 week programme. 448 labour hours across six trades come to $61,234.26. The quote totals $155,386.83 including GST, is accepted, and invoices to MYOB, Xero or QuickBooks with payment reconciling back. 1 · DESIGN, OUTSIDE TRUE POINT 2 · INSIDE TRUE POINT · ONE EXACT DOCUMENT 3 · SUPPLY, PROGRAMME AND LABOUR 4 · COMMERCIAL, OUT AND BACK or the firm's preferred CAD Pool modelled as features: sketch, extrude, fillet R1050, shell 150 mm, pattern, cut to the surveyed fall. 51 solids · 327 faces · 672 edges SAVE AS pool.step STEP AP214 neutral solid, not a mesh ISO 10303-214. Carries exact B-rep topology, so nothing is re-modelled on the other side. Parasolid .x_t also works. 943,975 bytes 51 MANIFOLD_SOLID_BREP IMPORT read, not traced Blender presentation only The shaded render the client sees is baked from a tessellation of the same solid. An output of the document, never the thing measured. THE KERNEL · LOAD BEARING OpenCascade exact B-rep, compiled to WebAssembly The imported solid stays a solid. Faces keep their true surfaces, edges keep their true curves, and a radius is a radius rather than a run of short straight segments. This is why an area is measured and not approximated, and it is the claim everything downstream rests on. 51 solids · 327 faces · 672 edges · all bodies valid rebuild reproduces the geometry hashes exactly WHAT IT IS NOT A mesh viewer. A triangulated import loses the surfaces, so every area becomes a sum of facets and every quantity on the quote inherits that error. B-rep: one arc mesh: 5 chords area error compounds 3 · A CONFIGURABLE PRODUCT Catalogue item Five axes a rep or client can move shape rect · kidney · round size 6.0-14.0 × 3.0-5.0 m surround porcelain · travertine barrier frameless · alum · steel treatmentsalt · mineral · fresh A rudimentary client sketch resolves to the nearest variant, then the rep moves the axes. CONFIGURED DOCUMENT · REV 14 8 priced lines 4 · MEASURED OFF THE SOLID Take-off Not estimated. Read from the evaluated B-rep. water surface 40.0 m² water volume 62.0 m³ surround area 51.0 m² coping 28.0 lm barrier run 39.0 lm excavation 124 m³ 8 SKUS 5 · CHECKED AGAINST STOCK ON HAND Inventory Required quantity minus free stock. The gap is a purchase line. SKUREQ ON HANDSHORT $ PL-FG-10401 ea 046,872.00 GL-FR-1239.0 lm 11.58,577.79 TL-PORC-6051.0 m² 18.44,392.85 CH-SALT-621 ea 02,784.96 4 more SKUs in full covered0.00 4 SHORT 6 · THE LONGEST SHORTFALL Programme The shell is the critical item. Everything waits on it. 0 5 10 15 PROCURE, SHELL 9 wk GLASS, TILE, PLANT 6 wk SITE BUILD, WEEK 7 ON 8 wk 7 · LABOUR, HOURS BY TRADE, PRICED Excavation 58 h @ $116 Shell and plant 84 h @ $138 Concrete, paving 168 h @ $132 Barrier and gate 54 h @ $148 Electrical 38 h @ $152 Supervision 46 h @ $128 15 weeks to handover 448 hours six trades plus $1,082.26 prelims MATERIAL + LABOUR 8 · PRICED QUOTE Quote QT-0142 Eight lines, each traced to a measured quantity. material $80,026.49 labour $61,234.26 subtotal $141,260.75 GST at 10% $14,126.08 $155,386.83 AUD incl GST · valid 30 days 15 wk programme · 8 lines ISSUED 9 · ACCEPTANCE Client accepts The client signs the same document they configured, at the fixed price. accepted, rev 14 deposit 10% $15,538.68 Balance on progress claims. Acceptance locks the revision, so the invoice cannot drift. PUSH · INVOICE 8 lines + GST PULL · PAYMENT webhook ACCOUNTING SYSTEM · PUBLIC API MYOB AccountRight API Xero Accounting API QuickBooks Online API Any of the three. The accepted quote posts as a draft invoice against the client's contact record, GST tax code, one line per quoted line. INV-0142 $155,386.83 GST at 10% $14,126.08 deposit received $15,538.68 paid Status returns on the webhook and marks the job. RECONCILED BACK · THE JOB IS MARKED PAID AGAINST THE SAME DOCUMENT THAT WAS DRAWN THE WHOLE CHAIN, ONE LINE SolidWorks → STEP AP214 → OpenCascade → catalogue → take-off → stock → 15 wk → 448 h → $155,386.83 → MYOB / Xero / QuickBooks Material $80,026.49 is strictly less than the $141,260.75 subtotal it sits under, because the balance is labour. Every figure on this diagram is derived from the 10.0 × 4.0 m worked example, not asserted. SolidWorks, MYOB, Xero and QuickBooks marks are the property of their owners, shown to name the products True Point interoperates with through published formats and public APIs. No partnership, endorsement or certification
One in-ground pool from CAD to cleared payment. The kernel carries the claim the rest depends on: the import stays exact B-rep, so 40.0 m² of water and 51.0 m² of surround are measured rather than approximated. Four of eight SKUs fall short by $62,627.60, the nine week shell lead sets a 15 week programme, 448 labour hours price at $61,234.26, and the accepted $155,386.83 invoice posts to MYOB, Xero or QuickBooks as INV-0142 with the deposit reconciling back on the dashed return leg.

The interface

No left-hand navigation. A top rail carries the document and the four things a designer moves between; underneath it the workspace is the shape every CAD user already knows: feature history on one side, the model in the middle, the selected feature's parameters on the other. The price updates as a consequence of the geometry, in the same panel.

Live screen
Feature history with an approved typed-agent change, the shell selected, parameters and driven values on the right, and the quote built from the solid.

What the design actually cost to arrive at

A pool quote is not one number, it is a number that moves. This is one project from first site visit to order: the quoted value over time, the revisions it took, and the client feedback events that moved it. The spa coming out is the whole story; everything after it is the client buying value back.

Live screen
Quoted value over six weeks, revision volume behind it, feedback events on the axis, and where the money moved.

Why a real kernel matters

Most quoting tools draw a picture and price a list. If the two disagree, the list wins and the client finds out on site. True Point takes the other approach: one document, one exact kernel, and every quantity read from the evaluated solid. Deck area is the face area. The bearer count is the pattern count. Water volume is the volume.

The architecture follows the local-first CAD model: the document lives in the browser, the geometry is evaluated by OpenCascade compiled to WebAssembly, and the shaded view is a result rather than the source of truth. Typed agents operate against the same schema and the same kernel as the person, under an authority the account owner grants, so an automated change is a reviewable commit against the open document rather than opaque parallel state.

Designer
Browser UI, working on the open document
Schema document
Local-first, versioned, one source of truth
Exact kernel
OpenCascade in WebAssembly
B-rep evidence
Volumes, areas, drawings, STEP
A permissioned typed agent joins at the document, not beside it. Same schema, same kernel, same evidence, with the authority chosen by the account owner.

Options, priced as you move them

The client does not want a quote, they want to know what they get for the money. So the drawing and the price are the same object: drag the length, swap the surround, change the coping, and the plan redraws while every affected line re-prices. The lines that do not depend on size sit still.

This is the real thing, not a recording. Move the steppers. Porcelain tile, travertine, clay paver and honed concrete each carry their own rate and their own drawn surface; the bullnose and the square edge are different profiles at different money; and the glass barrier is drawn to AS 1926.1 because in Australia it is not optional.

True Point · Configure Interactive Baseline · rev 14 · AUD inc GST
Pool
10.0 × 4.0 m
Water
62.0 m³
Surround
51.0 m²
Barrier
39.0 lm
Estimate
$155,387
Fibreglass shell, porcelain tile surround, bullnose coping, frameless glass barrier at 1200 mm, one matched gate, salt chlorinator. Eight lines, $141,260.75 before GST, $155,386.83 with it. Every quantity is measured off the geometry.

A reader who does not touch the screen should still see the mechanism, so here are four moves off that baseline with the figures they actually produce. The change is the part that matters, and the count beneath it: not just that the total moved, but how few lines moved with it. Change the surround material and one line re-prices. Change the length and six do, because six of them are measured off the shell. Nothing here is asserted; each row is the same price() the embed above runs.

Move one option From To Change
Surround: porcelain tile to travertine $245/m² becomes $285/m² over the same 51.0 m²
$155,387Baseline
$157,631Travertine
+$2,244+1.4%
1 of 8 lines moved The surround line goes $12,495 to $14,535. The shell, the excavation, the coping, the barrier, the gate, the plant and the chlorinator do not depend on what the paving is made of, so they sit still.
Barrier: frameless glass to tubular aluminium $472/lm becomes $196/lm over the same 39.0 lm run
$155,387Baseline
$143,258Aluminium
−$12,129−7.8%
2 of 8 lines moved The fence line falls $18,432 to $7,654, and the gate follows it to $1,356 because a matched gate is priced off the fence rate. This is the single largest saving available without touching the pool.
Length: 10.0 m to 12.0 m Water 62.0 to 74.4 m³, surround 51.0 to 57.0 m²
$155,387Baseline
$173,82512.0 m
+$18,438+11.9%
6 of 8 lines moved Shell +$9,440, excavation +$2,826, surround +$1,470, coping +$840, barrier +$1,888, chlorinator +$298. Two lines hold: the gate and the plant set, because neither is a function of pool size. The coping went up because the perimeter went 28.0 to 32.0 lm, not because a rate changed.
Water: salt chlorinator to freshwater Chlorinator out, planted regeneration margin in
$155,387Baseline
$191,062Freshwater
+$35,675+23.0%
8 lines moved · 8 lines becomes 12 The $3,868 chlorinator disappears and five new lines arrive: the regeneration margin $8,200 at 20.0 m², the graded batter $6,864, the submerged toe $5,136, the sand and gravel bed $2,407 and the low-head circulation pump $4,294. Three existing lines move as a consequence of geometry rather than choice: the margin is part of the same water body, so the barrier has to enclose it and the fence run steps out 39.0 to 43.7 lm, taking the excavation and the surround with it.

The screen the client is in

The office screens above are half the job. The client never opens the configurator and never reads the schedule; they get a link, and this is what is behind it. Same document, same solid, same numbers, said in the words of someone who is buying a pool rather than building one. Depth is not a parameter, it is 1.2 metres at one end and 1.9 at the other. The barrier is not a line item at $415/lm, it is frameless glass that keeps the view open where a fence would close it off, and it is there because AS 1926.1 requires it.

The price is one number, fixed, with the single condition that could move it stated plainly: the soil report. There is an Accept button and a way to ask a question, and a timeline showing the quote issued and the deposit next. Nothing here was re-typed from the office view; it is the same quote rendered for the person paying it.

Live screen
Same screen, further down
The pool drawn in plan from the same solid, with the shape, size, depth and surround stated in plain words. Below, further down the same screen: the fixed price at $153,678 including GST, the accept and ask actions, and the build timeline. Cross links to the admin and fabrication views sit along the top.

The same model is the source of both documents that leave the office. Nothing is re-entered between them: the client sheet and the fabrication order are two renderings of one solid, which is why the barrier run on the quote and the barrier setout on the fabrication order can never disagree.

True Point · Quote pack TP-2418-R3 Issued 3 sheets · 14 Aug 2025 · AUD incl GST
Open the quote pack at full size → three sheets, TP-2418-R3
The issued client pack. Sheet 1 carries the quote reference, the issued stamp and the pool drawn in plan; sheet 2 is the priced schedule with the material component inside each line and the in-price and not-in-price columns; sheet 3 is the sloping site case, the provenance and the acceptance block. Twelve lines, $95,749.60 before GST, $9,574.96 GST at 10 per cent, $105,324.56 payable.

The hard part is the barrier, not the pool

A paved courtyard is a parts list. A pool is a regulated assembly, and most of the difficulty sits outside the water: the barrier, the gates, the level change, the plant run. So the configurator carries the fence material and height, the number of gates and what they are made of, whether the surround is in-ground or raised, the step down between levels, an adjoining or separate spa, the cover, the heating, the water treatment, and how far the filter housing sits from the pool.

Those options are not decoration. Choose a fully above-ground surround and the ground on the outside of the barrier falls away, so a 1500 mm fence reads 550 mm from the outside face and the configuration stops being compliant. The panel says so, in the same words a certifier would use. AS 1926.1 sets 1200 mm as the minimum from finished ground, with a 900 mm non-climbable zone, gaps under 100 mm, and gates that are self-closing and self-latching. A quoting tool that cannot see that is quoting a pool that cannot be signed off.

Barrier and gates

Four fence materials, two compliant heights, one to three gates, three gate treatments. The barrier run and every gate are drawn on the plan with their swing arcs.

Level and spa

In-ground, part above or fully above, with retaining and a step or full stair. A spa can adjoin over a spillway, or sit separate with its own plant and its own barrier run.

Water and plant

Salt, mineral or freshwater. Heat pump, gas or solar, with the collector sized off the water area. The filter housing sits where you put it and the pipe run is priced by the metre.

A pool with no chlorine in it

Choose freshwater and the chlorinator line disappears from the quote. In its place the model adds a regeneration zone, sized as a proportion of the swim area, and a sand and gravel bed. This is a swimming pond: the water is cleaned biologically by the root zone of the planting and by the bed it passes through, and it circulates slowly rather than being pushed through a filter under pressure.

It is also the case that proves the point about geometry. The planting is generated from the shape of the regeneration zone, so every stem carries its own height, lean and seed head, and changing the zone ratio replants the bed at the same density rather than stretching a picture of one.

Modelled, not drawn

This pool was built in a real CAD kernel, not illustrated. A rectangle was sketched and extruded, the four vertical corners filleted to make the oval plan, the solid shelled to a 150 mm wall, then the supports patterned along a datum axis and cut to the falling ground. Fifty-one solids, three hundred and twenty-seven faces, all valid, and the wall material comes out at 7.795 m³ because that is what the kernel measured.

The whole thing exports as STEP. That is the difference between a picture of a pool and a model of one: a fabricator can open the file, and every quantity on the quote traces back to it.

Third-angle hidden-line drawing sheet of the above-ground pool: plan, front elevation, end elevation and isometric, with dimensions and a title block
An exact hidden-line drawing generated from the solid: plan, elevations and isometric at 1:50, third angle. Produced by the kernel, not traced.

Features, not shapes

Sketch, extrude, fillet R1050, shell 150 mm, linear pattern, cut. Editable history, so the pool is still parametric after it has been priced.

Evidence

51 solids, 327 faces, 672 edges, every body valid. Post heights step 349 to 871 mm across the fall.

It leaves the building

AP214 STEP with 51 manifold solid B-reps, written by OpenCascade. Rebuild the model and the geometry hashes reproduce exactly.

What is drawn

The shell

Sketched profile, extruded, shelled to a wall thickness, filleted, with a coping rail around the rim. Editable history, so the shape is still a shape after it is priced.

The ground

A surveyed surface with a real fall. The burial depth and every post height derive from it, so the model answers what the block actually does rather than assuming flat.

The money

Shell, frame, deck, filtration, fencing and GST, each quantity read off the geometry. Change the pool and the number moves because the parts moved.

Built on an exact kernel.

Every quantity on the quote is measured off the solid, not estimated from it.

Get in touch