numpy 2.5.4 | rasterio 1.5.2 | shapely 2.2.0 | manifold3d 3.5.5 | pyvista 0.49.2 === Step 1: read the stratum surfaces in the print window === window 392400-394300 E, 215000-216400 N: 190 x 140 cells of 10 m | model domain covers 89.6% of it 5 units, model base 80 m OD | cells needing re-clamping 0, below the model base (raised to it) 0 top of SUP Superficial deposits 134.0 to 295.4 m OD top of GOG Great Oolite Group 127.8 to 294.3 m OD top of IOG Inferior Oolite Group 127.8 to 293.1 m OD top of BDS Bridport Sand Formation 127.8 to 238.7 m OD top of LIAS Lias mudstones (Whitby Mudstone and older) 127.8 to 212.6 m OD === Step 2: the footprint of the model domain === horizontal scale 1:9,450 | one 10 m cell = 1.06 mm on the print footprint 2.28 km2 = 255.3 cm2 on the print, 0 hole(s) | 0 smaller piece(s) left out (0 m2) === Step 3: print heights, vertical exaggeration x3, nothing thinner than 0.6 mm === 1 m of ground = 0.317 mm on the print, so 0.6 mm = 1.89 m of strata SUP present under 96.0% of the footprint | thinner than 0.6 mm under 48.5% (1,094,700 m2) -> absorbed by the unit below GOG present under 26.1% of the footprint | thinner than 0.6 mm under 1.4% (32,400 m2) -> absorbed by the unit below IOG present under 75.6% of the footprint | thinner than 0.6 mm under 0.4% (8,200 m2) -> absorbed by the unit below BDS present under 80.9% of the footprint | thinner than 0.6 mm under 0.6% (12,800 m2) -> absorbed by the unit below === Step 4: cumulative solids and booleans === whole model 197.9 x 145.0 x 71.4 mm, including the 3 mm plinth SUP 4 separate piece(s) GOG 1 separate piece(s) IOG 1 separate piece(s) BDS 1 separate piece(s) LIAS 1 separate piece(s) === Step 5: check every part before writing === sum of parts 1450.952 cm3 | ground solid 1450.952 cm3 | difference +0.0000% | pairwise overlap 0.0000 mm3 === Step 6: write one STL per unit and a colour 3MF === file unit triangles cm3 PLA g watertight 01_SUP.stl Superficial deposits 46,676 35.62 44.2 True 02_GOG.stl Great Oolite Group 24,120 23.63 29.3 True 03_IOG.stl Inferior Oolite Group 72,058 305.67 379.0 True 04_BDS.stl Bridport Sand Formation 76,698 172.61 214.0 True 05_LIAS.stl Lias mudstones (Whitby Mudstone and older) 93,058 913.43 1132.6 True total 312,610 1450.95 1799.2 (solid PLA; at 15% infill a slicer will use much less) ground_model.3mf 2.9 MB | 5 parts: Superficial deposits, Great Oolite Group, Inferior Oolite Group, Bridport Sand Formation, Lias mudstones (Whitby Mudstone and older) === Step 7: previews rendered from the STL files === read back 5 STLs: 197.9 x 145.0 x 71.4 mm figures written: 01-printable-ground-model.png, 02-exploded-view.png, 03-print-layers-section.png, 04-slicer-style-top.png finished in 6.9 s