Exporting a design file for H2Structure
Nobody should have to redraw anything. H2Structure reads the
2D DXF or DWG your design software already produces — whichever tool you draw in — and fills
in the water outline, the floor profile (depth zones), the feature list and the edge and spa
parameters. This page is the convention it reads.
Follow it loosely — matching is case-insensitive, tolerant of -, _,
. and / in names, and works on plurals — and check the “Design read
from DXF” line on the Intake screen after upload.
What to export
- Format: DXF (ASCII, AutoCAD 2000 / AC1015 or newer). Working in DWG is fine — save a DXF copy, one dialog. Most pool design packages export a 2D plan only: there is no 3D or depth information in the file, so water depths come from text callouts (below).
- Units: inches or feet, both fine. Set the drawing units before export; an unlabelled drawing is read as feet when the pool spans < 150 units, inches up to 3,000, millimetres beyond that.
- Layers: keep whatever layer names your software already writes (“Pool”, “Spa”, “Shelf”, “Steps”, “Raised Bond Beam”, “Vanishing Edge”, “Rock Waterfall”, “Fire Feature”, “Equipment”…). Do not flatten everything to layer 0.
- Text: TEXT or MTEXT, any font; block references (INSERT) count too —
a block named
FIRE_BOWLis a fire bowl. Leave the callouts where they are in plan; H2Structure uses their position.
1. Water outline
The pool water line is the closed polyline on a layer whose name contains
POOL, WATER, SHELL or
SWIM (Pool, P-POOL, A-POOL-OUTL,
Pool Waterline). If none is named, the largest closed polygon of plausible
size (150–3,500 sf) is used and deck, patio, coping, lot and house layers are ignored.
2. Depths — text callouts inside the water
One TEXT per flat area, placed inside the water outline. Any of these forms:
| Callout | Read as |
|---|---|
3'-6" 3' 6" 0'-9" | 3.5 ft, 3.5 ft, 0.75 ft |
3.5' 3.5 FT | 3.5 ft |
DEPTH 8' 8' DEEP D=4.5 WD 4.5 | 8, 8, 4.5, 4.5 ft — these are accepted even outside the outline |
9" SUN SHELF 9" | 0.75 ft (inches only = a shelf / step) |
BEACH ENTRY (no number) | 0 ft at the entry lip |
Rules
- Shallow end is the low-x end of the drawing unless the callouts (or a
DEEP END/SHALLOW ENDlabel) say otherwise — then the plan is mirrored and the note says so. - Callouts are ordered along the pool length. Equal consecutive depths merge into one flat zone; between two different depths a slope is inferred (about 3 ft of run per foot of drop, centred between the callouts). A shelf, step or bench (≤ 2 ft deep) meets the next zone with a step-down, not a slope; a zero-depth callout is a beach ramp.
- Only two depths → the standard 40 % shallow / 30 % slope / 30 % deep profile. One depth → constant depth. None → nothing is filled in and the builder enters the profile by hand.
- Prefix the callout with the zone kind and it names the zone:
SUN SHELF 0'-9",LEDGE 1'-6",STEP 1'-0",BENCH 1'-6",BEACH ENTRY 0'-0". - Overall dimensions (
44'-0") are ignored as depths — anything over 15 ft or containing WIDE / LONG / RAISED / DROP / HEIGHT / DIA / TILE / O.C. is not a depth.
3. Features — layer names or labels
Each feature is found from the layer name of its geometry or a TEXT label inside or next to it. Geometry gives the size; the label gives the extras.
| Feature | Layer / text keywords | Geometry read | Extras from the label |
|---|---|---|---|
| Spa | SPA, HOT TUB, JACUZZI, SPILLOVER | circle or closed polygon (20–150 sf) → diameter | RAISED 18", 8 JETS, 6 SEATS |
| Sun shelf / tanning ledge | SHELF, LEDGE, BAJA, TANNING | closed polygon → area | 9" depth, 2 BUBBLERS |
| Beach entry | BEACH, ZERO ENTRY, ZERO DEPTH | closed polygon → length × width | — |
| Steps / bench | STEP, STAIR, BENCH, SEAT | counted, noted | depth callout on it names the zone |
| Vanishing / infinity edge | VANISH…, INFINITY, NEGATIVE EDGE, NEG EDGE, ZERO EDGE, KNIFE EDGE, WEIR | open polyline / LINE along the edge → length; number of lines = sides (1 or 2) | DROP 6' |
| Catch basin | CATCH BASIN, BASIN, TROUGH, SURGE TANK | closed polygon → noted | — |
| Perimeter overflow | PERIMETER OVERFLOW, SLOT EDGE, GUTTER, RIMFLOW | — (sets the edge type) | SLOT 1" |
| Raised wall / bond beam | RAISED WALL, RAISED BOND BEAM, BOND BEAM, RB, RAISED, PLANTER | open polyline → length | RAISED WALL 24", PLANTER |
| Waterfall / grotto / rock | GROTTO, WATERFALL, ROCK…, CAVE | open polyline → lip length | GROTTO ⇒ grotto roof |
| Slide | SLIDE | — | SLIDE 8' height |
| Sheer descents / water walls | SHEER, WATERFALL WEIR, WATER WALL, RAIN CURTAIN, SCUPPER | one text / block each → count | 24" width |
| Laminar / deck jets | LAMINAR, DECK JET, ARC JET | one text / block each → count | — |
| Fire bowls / fire pit | FIRE BOWL, FIRE PIT, FIRE FEATURE, FIRE | one text / block each → count | FIRE PIT ⇒ pit |
| Lazy river | LAZY RIVER, RIVER | open polyline centreline → length | 8' WIDE |
| Cold plunge | PLUNGE | closed polygon | — |
| Swim-up bar | SWIM-UP, SWIM UP BAR | — | — |
| Acrylic window | ACRYLIC, WINDOW | LINE / 2-point polyline → width | — |
| Automatic cover | AUTO COVER, AUTOMATIC COVER, COVER VAULT | — | — |
| Equipment pad | EQUIP…, PUMP PAD, MECH… | closed polygon → position noted | — |
| Deck | DECK, PATIO, COPING, PAVERS, HARDSCAPE | area noted, never used as the outline | — |
A labelled polygon and its label count once. Two fire-bowl texts = two bowls;
FIRE BOWL (2) or 2 EA also works. Feature
positions (feet from the shallow end and from side A) are kept, so the
stress map and the plumbing plan put the surcharge and the pipe run where you drew the
feature.
4. What happens when something is missing
| Missing | Result |
|---|---|
| No pool layer name | largest plausible closed polygon; check the “Outline read” line |
| No depth callouts | no floor profile — enter zones by hand (the two intake depths still work) |
| Callouts but no feature layers | zones only; add features on the Design tab |
| Feature label without geometry | feature added with library defaults for size (noted as “text only”) |
| Legacy drawing with only an outline | nothing detected, confidence 0 — exactly what happened before |
The detection confidence and every item it found (layer, text, position) are stored with the file and listed on the Intake screen. The builder reviews and edits; nothing is locked in.
5. A worked example
A typical export from a pool design package — plain descriptive layer names, depths as text, one label per feature:
Layer "Pool" closed polyline 44' × 20'
Layer "Depth" TEXT SUN SHELF 0'-9" at the shelf
TEXT 4'-0" shallow area
TEXT 9'-0" deep area
Layer "Spa" CIRCLE Ø 8', TEXT SPA RAISED 12" 8 JETS
Layer "Shelf" closed polygon 8' × 20', TEXT SUN SHELF 9" 2 BUBBLERS
Layer "Vanishing Edge" LINE along the view side, TEXT VANISHING EDGE DROP 6'
Layer "Catch Basin" closed polygon below the edge
Layer "Acrylic Window" LINE 10' on the lounge side
Layer "Fire Feature" TEXT FIRE BOWL ×2
Layer "Laminar Jets" TEXT LAMINAR JET ×6
Layer "Equipment" closed polygon + TEXT EQUIPMENT PAD
reads as: 4 zones (shelf 0.75′, shallow 4′, slope, deep 9′), spa Ø 8′ raised 12″, 160 sf shelf, 44 lf one-sided vanishing edge with a 6′ drop, 10′ acrylic window, 2 fire bowls, 6 laminar jets, edge = vanishing (1 side), spa = yes. A sample DXF of exactly this plan ships with the application.
AutoCAD and hand-drawn plans
The same rules apply to hand-drawn plans. AIA-style layer names work:
P-POOL / A-POOL-OUTL (outline), P-SPA,
P-SHELF, P-VANISH-EDGE, P-FIRE,
P-EQUIP, A-DECK. Put depth callouts on any annotation layer
(P-ANNO, A-ANNO-TEXT); D=6 / DEPTH 6'
style callouts are read even when they sit outside the outline with a leader. Dimensions
(DIMENSION entities) are ignored; exploded dimension text is filtered by value. Blocks are
read by name — FIRE_BOWL, DECK_JET,
SHEER_DESCENT_24 — so a block library with descriptive names needs no extra
labels. Save as DXF (AutoCAD 2000 or later, ASCII); binary DWG must be converted first.
Something in your export that this page does not cover? Send us the DXF and we will tell you what it reads — tsingh@renovatiointl.com.