Pool pump
pool-pump
dresses asset:pool-pump
— and nothing else. Appearance is invisible to the drawing set, so adding this changes no
plan, no section and no elevation.
- 12of 500 meshes
- 2slots
- 1finish
Drag to orbit · scroll to zoom
$frame
$accent
This definition leaves
$frame and $accent
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 2 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-tile","of":"paving","value":42,"accent":"#245a72","texture":"tile-grid","body":{"roughness":0.2}}
{"t":"materialdef","id":"pal-grey","of":"paint","value":58}
{"t":"lookdef","id":"pool-pump","for":"asset:pool-pump","desc":"Compact pool circulation pump with cylindrical motor housing.","slots":{"frame":"pack-pool-tile","accent":"pal-grey"},"body":{"type":"Group","children":[{"type":"Mesh","material":"$frame","geometry":{"type":"RoundedBoxGeometry","width":1.48,"height":0.1,"depth":0.72,"radius":0.035,"segments":3},"position":[0,0.05,0]},{"type":"Mesh","material":"$frame","geometry":{"type":"CylinderGeometry","radiusTop":0.34,"radiusBottom":0.34,"height":0.52,"radialSegments":22},"position":[-0.42,0.36,0]},{"type":"Mesh","material":"$frame","geometry":{"type":"RoundedBoxGeometry","width":0.42,"height":0.46,"depth":0.64,"radius":0.09,"segments":4},"position":[-0.2,0.35,0]},{"type":"Mesh","material":"glass","geometry":{"type":"CylinderGeometry","radiusTop":0.32,"radiusBottom":0.32,"height":0.065,"radialSegments":24},"position":[-0.42,0.655,0]},{"type":"Mesh","material":"$accent","geometry":{"type":"TorusGeometry","radius":0.31,"tube":0.025,"radialSegments":12,"tubularSegments":28},"position":[-0.42,0.65,0],"rotation":[1.5707963267948966,0,0]},{"type":"Mesh","material":"$frame","geometry":{"type":"CylinderGeometry","radiusTop":0.27,"radiusBottom":0.27,"height":0.82,"radialSegments":22},"position":[0.42,0.37,0],"rotation":[0,0,1.5707963267948966]},{"type":"Mesh","material":"$frame","geometry":{"type":"CylinderGeometry","radiusTop":0.25,"radiusBottom":0.25,"height":0.12,"radialSegments":22},"position":[0.86,0.37,0],"rotation":[0,0,1.5707963267948966]},{"type":"bimtex:Run","count":7,"from":[0.12,0.37,0],"to":[0.7,0.37,0],"children":[{"type":"Mesh","material":"$accent","geometry":{"type":"RoundedBoxGeometry","width":0.026,"height":0.49,"depth":0.59,"radius":0.006,"segments":2}}]},{"type":"Mesh","material":"$frame","geometry":{"type":"CylinderGeometry","radiusTop":0.15,"radiusBottom":0.15,"height":0.22,"radialSegments":18},"position":[-0.78,0.35,0],"rotation":[0,0,1.5707963267948966]},{"type":"Mesh","material":"$frame","geometry":{"type":"CylinderGeometry","radiusTop":0.045,"radiusBottom":0.045,"height":0.035,"radialSegments":16},"position":[-0.42,0.71,0]},{"type":"Mesh","material":"$frame","geometry":{"type":"RoundedBoxGeometry","width":0.2,"height":0.2,"depth":0.62,"radius":0.035,"segments":3},"position":[-0.57,0.17,0]},{"type":"Mesh","material":"$frame","geometry":{"type":"RoundedBoxGeometry","width":0.18,"height":0.2,"depth":0.62,"radius":0.035,"segments":3},"position":[0.72,0.17,0]}]},"preview":{"projection":"perspective","azimuth":32,"elevation":18,"fov":34,"margin":1.05}}
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 ↓