bimtex

salon

Pedicure chair

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

  • 9of 500 meshes
  • 2slots
  • 1finish

Drag to orbit · scroll to zoom

The build. Made here, now, by the same interpreter a model gets.
Pedicure 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 3 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-cream","of":"cloth","value":86,"accent":"#e7ddcf"}
{"t":"materialdef","id":"pack-salon-porcelain","of":"ceramic","value":92,"accent":"#f5f3ed","body":{"roughness":0.2,"clearcoat":0.35}}
{"t":"materialdef","id":"pack-salon-white","of":"paint","value":92,"accent":"#f2f1ec","body":{"roughness":0.38}}
{"t":"lookdef","id":"pedicure-chair","for":"asset:pedicure-chair","desc":"High-backed pedicure chair with integrated foot basin and broad arms.","slots":{"soft":"pack-salon-cream","frame":"pack-salon-porcelain"},"preview":{"projection":"perspective","azimuth":40,"elevation":18,"fov":34,"margin":1.03},"body":{"type":"Group","children":[{"type":"Mesh","material":"pack-salon-white","geometry":{"type":"RoundedBoxGeometry","width":0.8,"height":0.2,"depth":1.4,"radius":0.12,"segments":4},"position":[0,0.1,0]},{"type":"Mesh","material":"pack-salon-white","geometry":{"type":"RoundedBoxGeometry","width":0.76,"height":0.45,"depth":0.72,"radius":0.1,"segments":4},"position":[0,0.425,-0.3]},{"type":"Mesh","material":"$soft","geometry":{"type":"RoundedBoxGeometry","width":0.64,"height":0.16,"depth":0.52,"radius":0.075,"segments":4},"position":[0,0.62,-0.28]},{"type":"Mesh","material":"$soft","geometry":{"type":"RoundedBoxGeometry","width":0.7,"height":0.67,"depth":0.16,"radius":0.09,"segments":4},"position":[0,0.8585,-0.52],"rotation":[-0.1,0,0]},{"type":"Mesh","material":"$soft","geometry":{"type":"RoundedBoxGeometry","width":0.48,"height":0.14,"depth":0.12,"radius":0.06,"segments":4},"position":[0,1.13,-0.55]},{"type":"Mesh","material":"$soft","geometry":{"type":"RoundedBoxGeometry","width":0.1,"height":0.3,"depth":0.52,"radius":0.055,"segments":4},"position":[-0.34,0.76,-0.26],"rotation":[0,0,-0.03]},{"type":"Mesh","material":"$soft","geometry":{"type":"RoundedBoxGeometry","width":0.1,"height":0.3,"depth":0.52,"radius":0.055,"segments":4},"position":[0.34,0.76,-0.26],"rotation":[0,0,0.03]},{"type":"Mesh","material":"$frame","geometry":{"type":"LatheGeometry","profile":[[0.16,0],[0.29,0.035],[0.34,0.11],[0.34,0.24],[0.29,0.28],[0.21,0.28],[0.26,0.235],[0.27,0.14],[0.23,0.08],[0.14,0.045]],"segments":24},"position":[0,0.2,0.32],"scale":[1,1,0.75]},{"type":"Mesh","material":"$soft","geometry":{"type":"RoundedBoxGeometry","width":0.5,"height":0.12,"depth":0.23,"radius":0.055,"segments":4},"position":[0,0.53,0.45]}]}}

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 ↓