Back to home

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_BOWL is 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:

CalloutRead as
3'-6" 3' 6" 0'-9"3.5 ft, 3.5 ft, 0.75 ft
3.5' 3.5 FT3.5 ft
DEPTH 8' 8' DEEP D=4.5 WD 4.58, 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 END label) 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
SpaSPA, HOT TUB, JACUZZI, SPILLOVERcircle or closed polygon (20–150 sf) → diameterRAISED 18", 8 JETS, 6 SEATS
Sun shelf / tanning ledgeSHELF, LEDGE, BAJA, TANNINGclosed polygon → area9" depth, 2 BUBBLERS
Beach entryBEACH, ZERO ENTRY, ZERO DEPTHclosed polygon → length × width
Steps / benchSTEP, STAIR, BENCH, SEATcounted, noteddepth callout on it names the zone
Vanishing / infinity edgeVANISH…, INFINITY, NEGATIVE EDGE, NEG EDGE, ZERO EDGE, KNIFE EDGE, WEIRopen polyline / LINE along the edge → length; number of lines = sides (1 or 2)DROP 6'
Catch basinCATCH BASIN, BASIN, TROUGH, SURGE TANKclosed polygon → noted
Perimeter overflowPERIMETER OVERFLOW, SLOT EDGE, GUTTER, RIMFLOW— (sets the edge type)SLOT 1"
Raised wall / bond beamRAISED WALL, RAISED BOND BEAM, BOND BEAM, RB, RAISED, PLANTERopen polyline → lengthRAISED WALL 24", PLANTER
Waterfall / grotto / rockGROTTO, WATERFALL, ROCK…, CAVEopen polyline → lip lengthGROTTO ⇒ grotto roof
SlideSLIDESLIDE 8' height
Sheer descents / water wallsSHEER, WATERFALL WEIR, WATER WALL, RAIN CURTAIN, SCUPPERone text / block each → count24" width
Laminar / deck jetsLAMINAR, DECK JET, ARC JETone text / block each → count
Fire bowls / fire pitFIRE BOWL, FIRE PIT, FIRE FEATURE, FIREone text / block each → countFIRE PIT ⇒ pit
Lazy riverLAZY RIVER, RIVERopen polyline centreline → length8' WIDE
Cold plungePLUNGEclosed polygon
Swim-up barSWIM-UP, SWIM UP BAR
Acrylic windowACRYLIC, WINDOWLINE / 2-point polyline → width
Automatic coverAUTO COVER, AUTOMATIC COVER, COVER VAULT
Equipment padEQUIP…, PUMP PAD, MECH…closed polygon → position noted
DeckDECK, PATIO, COPING, PAVERS, HARDSCAPEarea 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

MissingResult
No pool layer namelargest plausible closed polygon; check the “Outline read” line
No depth calloutsno floor profile — enter zones by hand (the two intake depths still work)
Callouts but no feature layerszones only; add features on the Design tab
Feature label without geometryfeature added with library defaults for size (noted as “text only”)
Legacy drawing with only an outlinenothing 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.