bimtex

pools

Lap lane pool

lap-lane-pool dresses pool — and nothing else. Appearance is invisible to the drawing set, so adding this changes no plan, no section and no elevation.

  • 28of 500 meshes
  • 6slots
  • 2finishes

Drag to orbit · scroll to zoom

The build. Made here, now, by the same interpreter a model gets.
Lap lane pool, shown as a photorealistic visual reference
The reference. AI-generated, not bimtex output — the authored input this body was written against.
$surface:plaster
$surface:tile
$surface:lane
$surface:coping
$accent
$glazing

This definition leaves $surface:plaster and $surface:tile and $surface:lane and $surface:coping and $accent and $glazing open, and a look line fills them. Every combination is one body — same geometry, same selector, same sheets — so the block below rewrites itself as you pick. Only materials are slottable: a size would have to agree with the plan, so it stays on the entity.

Paste this

Every part: the 6 materialdefs the body resolves to, then the definition. Copying the lookdef alone still compiles and still validates — it just renders grey.

{"t":"materialdef","id":"pack-pool-lane","of":"paving","value":20,"accent":"#0d456b","texture":"tile-grid","body":{"roughness":0.18}}
{"t":"materialdef","id":"pack-pool-tile","of":"paving","value":42,"accent":"#245a72","texture":"tile-grid","body":{"roughness":0.2}}
{"t":"materialdef","id":"pack-pool-water","of":"glass","value":72,"accent":"#74bed0","body":{"type":"MeshPhysicalMaterial","transmission":0.9,"ior":1.33,"clearcoat":0.62,"clearcoatRoughness":0.12,"thickness":0.48,"attenuationColor":"#2a91a8","attenuationDistance":4.6}}
{"t":"materialdef","id":"pal-grey","of":"paint","value":58}
{"t":"materialdef","id":"pal-off-white","of":"paint","value":86}
{"t":"materialdef","id":"pal-stone","of":"stone","value":86}
{"t":"lookdef","id":"lap-lane-pool","for":"pool","desc":"Straight lap pool with marked swim lanes and crisp perimeter coping.","preview":{"projection":"perspective","azimuth":-135,"elevation":56,"fov":31,"margin":1.08},"slots":{"surface:plaster":"pal-off-white","surface:tile":"pack-pool-tile","surface:lane":"pack-pool-lane","surface:coping":"pal-stone","accent":"pal-grey","glazing":"pack-pool-water"},"body":{"type":"Group","children":[{"type":"Mesh","material":"$surface:plaster","geometry":{"type":"BoxGeometry","width":12,"height":0.2,"depth":4.2},"position":[0,0.1,0]},{"type":"Mesh","material":"$surface:plaster","geometry":{"type":"BoxGeometry","width":12,"height":1.4,"depth":0.2},"position":[0,0.9,-2]},{"type":"Mesh","material":"$surface:plaster","geometry":{"type":"BoxGeometry","width":12,"height":1.4,"depth":0.2},"position":[0,0.9,2]},{"type":"Mesh","material":"$surface:plaster","geometry":{"type":"BoxGeometry","width":0.2,"height":1.4,"depth":3.8},"position":[-5.9,0.9,0]},{"type":"Mesh","material":"$surface:plaster","geometry":{"type":"BoxGeometry","width":0.2,"height":1.4,"depth":3.8},"position":[5.9,0.9,0]},{"type":"Mesh","material":"$surface:lane","geometry":{"type":"BoxGeometry","width":10.8,"height":0.028,"depth":0.2},"position":[0,0.214,-1.2]},{"type":"Mesh","material":"$surface:lane","geometry":{"type":"BoxGeometry","width":0.2,"height":0.03,"depth":0.82},"position":[-5.3,0.215,-1.2]},{"type":"Mesh","material":"$surface:lane","geometry":{"type":"BoxGeometry","width":0.2,"height":0.03,"depth":0.82},"position":[5.3,0.215,-1.2]},{"type":"Mesh","material":"$surface:lane","geometry":{"type":"BoxGeometry","width":10.8,"height":0.028,"depth":0.2},"position":[0,0.214,0]},{"type":"Mesh","material":"$surface:lane","geometry":{"type":"BoxGeometry","width":0.2,"height":0.03,"depth":0.82},"position":[-5.3,0.215,0]},{"type":"Mesh","material":"$surface:lane","geometry":{"type":"BoxGeometry","width":0.2,"height":0.03,"depth":0.82},"position":[5.3,0.215,0]},{"type":"Mesh","material":"$surface:lane","geometry":{"type":"BoxGeometry","width":10.8,"height":0.028,"depth":0.2},"position":[0,0.214,1.2]},{"type":"Mesh","material":"$surface:lane","geometry":{"type":"BoxGeometry","width":0.2,"height":0.03,"depth":0.82},"position":[5.3,0.215,1.2]},{"type":"Mesh","material":"$surface:tile","geometry":{"type":"BoxGeometry","width":11.6,"height":0.18,"depth":0.045},"position":[0,1.35,1.878]},{"type":"Mesh","material":"$surface:tile","geometry":{"type":"BoxGeometry","width":11.6,"height":0.18,"depth":0.045},"position":[0,1.35,-1.878]},{"type":"Mesh","material":"$surface:tile","geometry":{"type":"BoxGeometry","width":0.045,"height":0.18,"depth":3.71},"position":[-5.777,1.35,0]},{"type":"Mesh","material":"$surface:tile","geometry":{"type":"BoxGeometry","width":0.045,"height":0.18,"depth":3.71},"position":[5.777,1.35,0]},{"type":"Mesh","material":"$surface:coping","geometry":{"type":"RoundedBoxGeometry","width":12,"height":0.11,"depth":0.36,"radius":0.03,"segments":2},"position":[0,1.545,-1.92]},{"type":"Mesh","material":"$surface:coping","geometry":{"type":"RoundedBoxGeometry","width":12,"height":0.11,"depth":0.36,"radius":0.03,"segments":2},"position":[0,1.545,1.92]},{"type":"Mesh","material":"$surface:coping","geometry":{"type":"RoundedBoxGeometry","width":0.36,"height":0.11,"depth":3.48,"radius":0.03,"segments":2},"position":[-5.82,1.545,0]},{"type":"Mesh","material":"$surface:coping","geometry":{"type":"RoundedBoxGeometry","width":0.36,"height":0.11,"depth":3.48,"radius":0.03,"segments":2},"position":[5.82,1.545,0]},{"type":"Mesh","material":"$surface:plaster","geometry":{"type":"BoxGeometry","width":0.34,"height":0.9,"depth":1.45},"position":[-5.63,0.65,1]},{"type":"Mesh","material":"$surface:plaster","geometry":{"type":"BoxGeometry","width":0.34,"height":0.6,"depth":1.45},"position":[-5.29,0.5,1]},{"type":"Mesh","material":"$surface:plaster","geometry":{"type":"BoxGeometry","width":0.34,"height":0.3,"depth":1.45},"position":[-4.95,0.35,1]},{"type":"Mesh","material":"$surface:tile","geometry":{"type":"BoxGeometry","width":0.33,"height":0.025,"depth":1.45},"position":[-5.63,1.1125,1]},{"type":"Mesh","material":"$surface:tile","geometry":{"type":"BoxGeometry","width":0.33,"height":0.025,"depth":1.45},"position":[-5.29,0.8125,1]},{"type":"Mesh","material":"$surface:tile","geometry":{"type":"BoxGeometry","width":0.33,"height":0.025,"depth":1.45},"position":[-4.95,0.5125,1]},{"type":"Mesh","material":"$glazing","geometry":{"type":"BoxGeometry","width":11.56,"height":1.18,"depth":3.76},"position":[0,0.81,0]}]}}

Or take the whole pack, which brings every entry and every material at once:

cat packs/pools.ndjson model.ndjson > dressed.ndjson
Download pools pack 31 KB · NDJSON ↓