bimtex

furniture

Boat conference table 2

boat-conference-table-2 dresses furniture:conference-table — and nothing else. Appearance is invisible to the drawing set, so adding this changes no plan, no section and no elevation.

  • 6of 500 meshes
  • 3slots
  • 1finish

Drag to orbit · scroll to zoom

The build. Made here, now, by the same interpreter a model gets.
Boat conference table 2, shown as a photorealistic visual reference
The reference. AI-generated, not bimtex output — the authored input this body was written against.
$surface
$accent
$frame

This definition leaves $surface and $accent 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-ash","of":"timber","value":80,"accent":"#cbbfa9"}
{"t":"materialdef","id":"pal-charcoal","of":"paint","value":20}
{"t":"lookdef","id":"boat-conference-table-2","for":"furniture:conference-table","desc":"Long boat-shaped conference table with a central pedestal base.","slots":{"surface":"pack-ash","accent":"pal-charcoal","frame":"pal-charcoal"},"preview":{"projection":"perspective","azimuth":-36,"elevation":22,"fov":32,"margin":1.04},"body":{"type":"Group","children":[{"type":"Mesh","material":"$accent","geometry":{"type":"ExtrudeGeometry","profile":[[-1.25,-0.24],[-1.12,-0.34],[1.12,-0.34],[1.25,-0.24],[1.25,0.24],[1.12,0.34],[-1.12,0.34],[-1.25,0.24]],"depth":0.035,"curveSegments":8,"bevelEnabled":false},"position":[0,0.73,0],"rotation":[1.5707963267948966,0,0]},{"type":"Mesh","material":"$surface","geometry":{"type":"ExtrudeGeometry","profile":[[-1.2375,-0.23279999999999998],[-1.1088,-0.32980000000000004],[1.1088,-0.32980000000000004],[1.2375,-0.23279999999999998],[1.2375,0.23279999999999998],[1.1088,0.32980000000000004],[-1.1088,0.32980000000000004],[-1.2375,0.23279999999999998]],"depth":0.055,"curveSegments":8,"bevelEnabled":false},"position":[0,0.79,0],"rotation":[1.5707963267948966,0,0]},{"type":"Mesh","material":"$frame","geometry":{"type":"ExtrudeGeometry","profile":[[-0.3,0],[-0.24,0.62],[0.24,0.62],[0.3,0]],"depth":0.58,"curveSegments":8,"bevelEnabled":false},"position":[-0.68,0.1,-0.29]},{"type":"Mesh","material":"$frame","geometry":{"type":"ExtrudeGeometry","profile":[[-0.3,0],[-0.24,0.62],[0.24,0.62],[0.3,0]],"depth":0.58,"curveSegments":8,"bevelEnabled":false},"position":[0.68,0.1,-0.29]},{"type":"Mesh","material":"$frame","geometry":{"type":"RoundedBoxGeometry","width":1.35,"height":0.06,"depth":0.075,"radius":0.02,"segments":3},"position":[0,0.12,0]},{"type":"Mesh","material":"$accent","geometry":{"type":"RoundedBoxGeometry","width":0.18,"height":0.025,"depth":0.1,"radius":0.012,"segments":3},"position":[0,0.81,0]}]}}

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

cat packs/furniture.ndjson model.ndjson > dressed.ndjson
Download furniture pack 33 KB · NDJSON ↓