bimtex

salon

Styling chair

styling-chair dresses asset:styling-chair — and nothing else. Appearance is invisible to the drawing set, so adding this changes no plan, no section and no elevation.

  • 8of 500 meshes
  • 2slots
  • 1finish

Drag to orbit · scroll to zoom

The build. Made here, now, by the same interpreter a model gets.
Styling chair, shown as a photorealistic visual reference
The reference. AI-generated, not bimtex output — the authored input this body was written against.
$soft
$frame

This definition leaves $soft and $frame 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-salon-black","of":"leather","value":20,"accent":"#252525"}
{"t":"materialdef","id":"pal-steel","of":"steel","value":72}
{"t":"lookdef","id":"styling-chair","for":"asset:styling-chair","desc":"Full-width salon chair with a hydraulic pedestal, open chrome arms, and footrest.","slots":{"soft":"pack-salon-black","frame":"pal-steel"},"preview":{"projection":"perspective","azimuth":40,"elevation":22,"fov":34,"margin":1.04},"body":{"type":"Group","children":[{"type":"Mesh","material":"$frame","geometry":{"type":"CylinderGeometry","radiusTop":0.34,"radiusBottom":0.34,"height":0.04,"radialSegments":24},"position":[0,0.02,0]},{"type":"Mesh","material":"$frame","geometry":{"type":"CylinderGeometry","radiusTop":0.055,"radiusBottom":0.12,"height":0.42,"radialSegments":20},"position":[0,0.25,0]},{"type":"Mesh","material":"$soft","geometry":{"type":"RoundedBoxGeometry","width":0.68,"height":0.17,"depth":0.55,"radius":0.07,"segments":3},"position":[0,0.55,0.02]},{"type":"Mesh","material":"$soft","geometry":{"type":"RoundedBoxGeometry","width":0.64,"height":0.44,"depth":0.11,"radius":0.065,"segments":3},"position":[0,0.87,-0.325],"rotation":[-0.06,0,0]},{"type":"bimtex:Run","count":2,"from":[-0.31,0,0],"to":[0.31,0,0],"children":[{"type":"Mesh","material":"$frame","geometry":{"type":"TubeGeometry","path":[[0,0.47,-0.18],[0,0.72,-0.24],[0,0.77,0.17]],"radius":0.025,"radialSegments":10,"tubularSegments":16,"curve":"spline"}}]},{"type":"bimtex:Run","count":2,"from":[-0.31,0,0],"to":[0.31,0,0],"children":[{"type":"Mesh","material":"$soft","geometry":{"type":"RoundedBoxGeometry","width":0.12,"height":0.085,"depth":0.4,"radius":0.04,"segments":3},"position":[0,0.75,-0.02]}]},{"type":"Mesh","material":"$frame","geometry":{"type":"TorusGeometry","radius":0.25,"tube":0.018,"radialSegments":10,"tubularSegments":28,"arc":3.1416},"position":[0,0.26,0.02],"rotation":[1.5708,0,0]},{"type":"Mesh","material":"$frame","geometry":{"type":"TubeGeometry","path":[[-0.25,0.34,0.12],[-0.34,0.18,0.34],[-0.34,0.07,0.39],[0.34,0.07,0.39],[0.34,0.18,0.34],[0.25,0.34,0.12]],"radius":0.018,"radialSegments":10,"tubularSegments":24,"curve":"spline"}}]}}

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

cat packs/salon.ndjson model.ndjson > dressed.ndjson
Download salon pack 25 KB · NDJSON ↓