Relief

Wait for the ground to load

Cut a chunk of the Surveyor's measured 3-D ground and fabricate a physical site model of it at a stated scale — a 27″ × 27″ base at 1″ = 100′ covers 2,700 ft of real terrain, and comes apart into pieces sized to your printer's own square (a Bambu P1S prints 205 mm, so that model lands as sixteen 6.75″ chunks you can see, name and pull apart in the viewport before gluing). The place comes with it: OpenStreetMap roads, rivers, lakes and building footprints ride across on the Surveyor's hand-off and are cut into the ground — roads bumped out or pressed in, water grooved, buildings unioned in as massing — so the model reads as somewhere, not just a landform. Four fabrications from the one chunk: watertight thin-shell tiles sized to your printer bed (STL), an interlocking waffle grid — laser-cut to cover with fabric (DXF) or printed assembled (STL) — a stacked-slab contour model with the next layer scored on each for registration (DXF), and the top surface developed flat into fold-scored paper strips (DXF). The preview is a model you can read: shaded under a settable sun with cast shadows, mesh edges inked on, contours draped at your interval. Export the same ground FULL SIZE as a Rhino .3dm — the measured survey with no model conventions cut into it, the mapped buildings standing on it as editable solids (Extrusions or closed meshes, your pick) and the roads and water draped alongside as curves — to keep designing on. Runs on a demo landform without a survey. Client-side, nothing uploaded.

A square plate, like the Surveyor's. At 1″ = 100′ a 27″ square covers 2,700 ft of ground.

1″ of model = 100 ft of ground

Covers 2,700 ft × 2,700 ft of ground.

Readouts imperial-first; DXF in inches, .3dm in feet

Reading the Surveyor hand-off…

Decimal, degree signs, hemisphere letters or degrees-minutes-seconds. Inside the ground already loaded, this just moves the cut; anywhere else it fetches the terrain there (AWS Terrain Tiles, 3DEP-derived in the US) and models that.

Footprint centre
40.11000° N, 88.24000° W
40.11000, -88.24000
N 40.11371 · S 40.10629 · E -88.23517 · W -88.24483
Site centre 40.11000° N, 88.24000° W
°
×

At 1″ = 100′ this ground is only 3.4% of the plate — it will read as a flat card. Exaggerating the vertical is how a district model is made legible; label it when you do.

One model, flat on the table. Five models all start at the table and the row loses the elevation between the sites.

Two lattices, and they are not the same one. The ground lattice is the survey grid every generator samples: it cuts the waffle’s ribs, the slabs’ contours, the paper’s strips, the contour lines and the full-size Rhino ground. 0 is the survey as measured — right refines, left reduces, one halving or doubling of the cell per step.

In shell mode this slider does not change the wireframe. A printed piece is cut on its own lattice, sized in millimetres of stock — set that with Part mesh below.It is not idle, though: here it still moves the shape each piece samples (reduce it and the terrain smooths without the mesh thinning), the contour lines, the error reading below, the full-size Rhino ground — and it cuts the mesh directly in waffle, slabs and paper.

257 × 257 samples · 65,536 quad faces (131,072 triangles) · one cell = 11 ft of ground · measured 129 × 129

Ground lattice method: Tensor-product cubic B-spline refinement — the Lane-Riesenfeld masks (1/8[1 6 1] on the old samples, 1/2[1 1] on the new ones) along x then y, which on a regular quad grid is exactly Catmull-Clark subdivision. Approximating: the limit surface stays inside the convex hull of the measured samples, so it can round a data stair-step but can never lift a hill that was not surveyed.

Approximating. Rounds a coarse survey's stair-steps; measured samples move a little.

Against the 16,641 measured posts this lattice is off by at most 0 ft (0 m) (rms 0 ft (0 m)). The model edge is held exactly either way.

98 × 98 cells per piece = 9,604 quads each, 153,664 over 16 pieces · 0.07″ on the model — finer than the ground lattice above, which adds smoothness, not information

The viewport is drawing the EXPORT lattice — 98 × 98 cells a piece, 633k triangles. What you see is what the file carries.

The wireframe hides the triangulation, and the print solid's .3dm — mesh row — writes quad faces: about half the faces, ready for QuadRemesh / SubD, the same vertices and the same solid. The STL is triangles regardless (that is all the format carries), and the full-size ground's terrain mesh was always a quad mesh.

The real edges of the geometry being exported — about 633k, diagonals hidden. This is the mesh, not a stand-in for it.

Reading the Surveyor hand-off…

A ridge stands proud of the ground, so roads and rivers read apart: rivers down, roads up. Model units — the same ridge at every scale.

Vehicular = motorway … residential, living street, service. “Every way” adds footways, paths, cycleways, steps and tracks.

Lakes and ponds move as a whole; a river is a band as wide as OSM says it is.

Flat-roofed prisms seated on the lowest ground under each footprint, height from OSM (height → levels × 10.5 ft / 3.2 m → a 15 ft / 4.5 m default), exaggerated with the ground. Massing, not survey — a roof form is not in the data.

In this chunk: 1 road 2 water 3 buildings 1 narrower than two lattice cells at this scale, widened to that floor so the cut registers.

The largest SQUARE this machine actually prints — not the spec envelope (a P1S is sold as 256 mm; its purge corner and plate edges leave ~205 mm square). Trim it below if your first layer wants a skirt.

The printable square — what a piece may occupy is this less the clearance below

Kept free around every piece, so a 7.07″ square is what a chunk may actually fill.

4 × 4 pieces of 6.75″ — as few as the bed allows, 0.66″ of bare plate each side.

Smooth ground. Switch on for the stacked-slab look, printed in one piece instead of cut from sheet.

One closed solid per tile: terrain top, vertical edges, flat bottom. Set a LOW INFILL (5–10%) in the slicer — that is where the material saving is, and the top still prints solid. The print lab's preference. Also the only underside with a NURBS (surfaces) form for Rhino.

Keep this SMALL (the print lab's advice: a very small base under the low point) — on a solid print the plinth is the one volume that is pure filament. Every 1/16″ of it across this 27″ × 27″ model is ~926 g of PLA solid, ~93 g at 10% infill. A groove needs 1 mm of plinth left under it.

°
°

4 × 4 pieces of 6.75″ — drag to separate them.

Every other print piece — and every other slab — takes the second colour, so a seam reads even when the model is closed.

8 levels on this chunk

Loading 3D…
The model
Model
27″ × 27″
1″ = 100′
Ground covered
2,700 ft × 2,700 ft
Demo landform
Relief in chunk
57 ft (17.2 m)
contours @ 5 ft in the .3dm
Model height
0.92″
true relief — only 3.4% of the plate, so it reads FLAT
Model z = 0
649 ft (197.8 m)
this model's own low point — flat on the table
Mesh
Ground lattice
257 × 257
129 × 129 measured, refined 1× · smooth
Faces
65,536 quads
131,072 triangles · 66,049 samples
Lattice cell
11 ft
of ground · 0.11″ on the model
Off the survey
0 ft (0 m)
worst of 16,641 posts · rms 0 ft (0 m)
Part mesh (export)
98 × 98 a piece
153,664 quads over 16 pieces · 0.07″ cell · the viewport is showing it
Read as
Quads
wireframe: about 633k real edges on screen (set by Part mesh)
Print solid
Tiles
4 × 4
6.75″ × 6.75″ each (bed-fitted)
Underside
Solid
flat bottom — infill in the slicer
Plinth
0.125″·3.2mm
under the low point
Bed room
0.66″ a side
bare plate around a tile on your 8.07″ bed
Material (rough)
3372 g PLA
whole set at 100% — a 10% infill is far less
Time (rough)
75.5 h
at ~10 mm³/s

The preview IS the export geometry: shell tiles are the STL writer's solids (coarser lattice), the waffle is the same rib prisms the waffle STL serialises and the DXF nests, slabs are the slicer's own loops, and the paper mode shows the skin the strips develop from. Data stays in metres; files convert once — .3dm in feet, STL in model mm, DXF in model inches.

Relief · Good Tools