bimtex

hotel

Wardrobe niche

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

  • 10of 500 meshes
  • 2slots
  • 1finish

Drag to orbit · scroll to zoom

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

This definition leaves $frame:body and $frame:rail 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-hotel-black","of":"painted-metal","value":20,"accent":"#242526","body":{"roughness":0.36,"metalness":0.24}}
{"t":"materialdef","id":"pal-oak","of":"timber","value":72}
{"t":"materialdef","id":"pal-steel","of":"steel","value":72}
{"t":"lookdef","id":"wardrobe-niche","for":"asset:wardrobe-niche","desc":"Built-in wardrobe niche with open hanging rail and shelves.","slots":{"frame:body":"pal-oak","frame:rail":"pal-steel"},"preview":{"projection":"perspective","azimuth":34,"elevation":14,"fov":34,"margin":1.03},"body":{"type":"Group","children":[{"type":"Mesh","material":"$frame:body","geometry":{"type":"BoxGeometry","width":0.055,"height":2.2,"depth":0.6},"position":[-0.5225,1.1,0]},{"type":"Mesh","material":"$frame:body","geometry":{"type":"BoxGeometry","width":0.055,"height":2.2,"depth":0.6},"position":[0.5225,1.1,0]},{"type":"Mesh","material":"$frame:body","geometry":{"type":"BoxGeometry","width":0.99,"height":0.055,"depth":0.6},"position":[0,0.0275,0]},{"type":"Mesh","material":"$frame:body","geometry":{"type":"BoxGeometry","width":0.99,"height":0.055,"depth":0.6},"position":[0,2.1725,0]},{"type":"Mesh","material":"$frame:body","geometry":{"type":"BoxGeometry","width":0.99,"height":2.09,"depth":0.04},"position":[0,1.1,-0.28]},{"type":"Mesh","material":"$frame:body","geometry":{"type":"BoxGeometry","width":0.99,"height":0.055,"depth":0.56},"position":[0,1.79,0.02]},{"type":"Mesh","material":"$frame:rail","geometry":{"type":"CylinderGeometry","radiusTop":0.018,"radiusBottom":0.018,"height":0.91,"radialSegments":16},"position":[0,1.58,0.08],"rotation":[0,0,1.5708]},{"type":"bimtex:Run","count":5,"from":[-0.3,0,0],"to":[0.3,0,0],"children":[{"type":"Mesh","material":"$frame:body","geometry":{"type":"TubeGeometry","path":[[0,1.58,0.08],[0.025,1.55,0.08],[0.02,1.49,0.08],[-0.11,1.35,0.08],[0.11,1.35,0.08],[0.02,1.49,0.08]],"radius":0.014,"radialSegments":8,"tubularSegments":18}}]},{"type":"Mesh","material":"pack-hotel-black","geometry":{"type":"RoundedBoxGeometry","width":0.5,"height":0.32,"depth":0.38,"radius":0.025,"segments":3},"position":[0,0.24,-0.02]},{"type":"Mesh","material":"$frame:rail","geometry":{"type":"TorusGeometry","radius":0.07,"tube":0.018,"radialSegments":10,"tubularSegments":20},"position":[0,0.24,0.181],"rotation":[1.5708,0,0]}],"scale":[0.766781087,0.999999978,0.99999996]}}

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

cat packs/hotel.ndjson model.ndjson > dressed.ndjson
Download hotel pack 15 KB · NDJSON ↓