bimtex

parking

Plan-symbol saloon car

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

  • 21of 500 meshes
  • 7slots
  • 1finish

Drag to orbit · scroll to zoom

The build. Made here, now, by the same interpreter a model gets.
Plan-symbol saloon car, shown as a photorealistic visual reference
The reference. AI-generated, not bimtex output — the authored input this body was written against.
$frame
$glazing
$hardware:tyre
$hardware:rim
$surface:head
$surface:tail
$hardware

This definition leaves $frame and $glazing and $hardware:tyre and $hardware:rim and $surface:head and $surface:tail and $hardware 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.

Generated views

The body and its drawing evidence

The A-101 panel is the built-in plan symbol at its default envelope, not a top-down image of this lookdef. The deterministic renders check the body's footprint, structure and depth. Geometry, material and the selected finish stay unchanged.

A-101 plan symbol1:100 · 1.84 × 4.68 m
Top renderEL 90° · ORTHOGRAPHIC
Rendered axonometricAZ 40° · EL 32°

Paste this

Every part: the 7 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-car-glass","of":"glass","value":20,"body":{"type":"MeshPhysicalMaterial","transmission":0.62,"ior":1.46,"thickness":0.02}}
{"t":"materialdef","id":"pack-car-graphite","of":"car-paint","value":20,"accent":"#33383d","body":{"type":"MeshPhysicalMaterial"}}
{"t":"materialdef","id":"pack-car-silver","of":"car-paint","value":72,"accent":"#c3c8ce","body":{"type":"MeshPhysicalMaterial"}}
{"t":"materialdef","id":"pack-head-lamp","of":"paint","value":92,"accent":"#fdf6de","body":{"emissive":"#fdf6de","emissiveIntensity":1.6,"roughness":0.2}}
{"t":"materialdef","id":"pack-tail-lamp","of":"paint","value":20,"accent":"#8d2a24","body":{"emissive":"#a32a20","emissiveIntensity":1.1,"roughness":0.3}}
{"t":"materialdef","id":"pal-steel","of":"steel","value":72}
{"t":"materialdef","id":"pal-steel-dark","of":"steel","value":20}
{"t":"lookdef","id":"furniture-saloon-car","name":"Plan-symbol saloon car","for":"furniture:car","desc":"Four-door saloon aligned to the furniture car plan symbol.","slots":{"frame":"pack-car-silver","glazing":"pack-car-glass","hardware:tyre":"pal-steel-dark","hardware:rim":"pal-steel","surface:head":"pack-head-lamp","surface:tail":"pack-tail-lamp","hardware":"pack-car-graphite"},"note":"Natural box follows the furniture default: 1.84 w × 4.68 d × 1.46 h, with the long axis on Z so the body and plan symbol share orientation.","body":{"type":"Group","children":[{"type":"Mesh","material":"$hardware:tyre","geometry":{"type":"TorusGeometry","radius":0.31,"tube":0.105,"radialSegments":16,"tubularSegments":28},"position":[-0.91,0.31,-1.48],"rotation":[0,1.5708,0]},{"type":"Mesh","material":"$hardware:rim","geometry":{"type":"CylinderGeometry","radiusTop":0.2,"radiusBottom":0.2,"height":0.12,"radialSegments":24},"position":[-0.92,0.31,-1.48],"rotation":[0,0,1.5708]},{"type":"Mesh","material":"$hardware:tyre","geometry":{"type":"TorusGeometry","radius":0.31,"tube":0.105,"radialSegments":16,"tubularSegments":28},"position":[0.91,0.31,-1.48],"rotation":[0,1.5708,0]},{"type":"Mesh","material":"$hardware:rim","geometry":{"type":"CylinderGeometry","radiusTop":0.2,"radiusBottom":0.2,"height":0.12,"radialSegments":24},"position":[0.92,0.31,-1.48],"rotation":[0,0,1.5708]},{"type":"Mesh","material":"$hardware:tyre","geometry":{"type":"TorusGeometry","radius":0.31,"tube":0.105,"radialSegments":16,"tubularSegments":28},"position":[-0.91,0.31,1.42],"rotation":[0,1.5708,0]},{"type":"Mesh","material":"$hardware:rim","geometry":{"type":"CylinderGeometry","radiusTop":0.2,"radiusBottom":0.2,"height":0.12,"radialSegments":24},"position":[-0.92,0.31,1.42],"rotation":[0,0,1.5708]},{"type":"Mesh","material":"$hardware:tyre","geometry":{"type":"TorusGeometry","radius":0.31,"tube":0.105,"radialSegments":16,"tubularSegments":28},"position":[0.91,0.31,1.42],"rotation":[0,1.5708,0]},{"type":"Mesh","material":"$hardware:rim","geometry":{"type":"CylinderGeometry","radiusTop":0.2,"radiusBottom":0.2,"height":0.12,"radialSegments":24},"position":[0.92,0.31,1.42],"rotation":[0,0,1.5708]},{"type":"Mesh","material":"$frame","geometry":{"type":"RoundedBoxGeometry","width":1.82,"height":0.54,"depth":4.48,"radius":0.18,"segments":4},"position":[0,0.55,0]},{"type":"Mesh","material":"$frame","geometry":{"type":"RoundedBoxGeometry","width":1.76,"height":0.18,"depth":1.15,"radius":0.12,"segments":4},"position":[0,0.78,-1.52]},{"type":"Mesh","material":"$frame","geometry":{"type":"RoundedBoxGeometry","width":1.76,"height":0.16,"depth":0.92,"radius":0.12,"segments":4},"position":[0,0.76,1.7]},{"type":"Mesh","material":"$glazing","geometry":{"type":"RoundedBoxGeometry","width":1.55,"height":0.55,"depth":2.12,"radius":0.2,"segments":4},"position":[0,1.06,0.04]},{"type":"Mesh","material":"$frame","geometry":{"type":"RoundedBoxGeometry","width":1.6,"height":0.08,"depth":1.5,"radius":0.08,"segments":3},"position":[0,1.42,0.12]},{"type":"Mesh","material":"$frame","geometry":{"type":"RoundedBoxGeometry","width":0.07,"height":0.6,"depth":0.08,"radius":0.018,"segments":3},"position":[-0.79,1.08,-0.55],"rotation":[0.38,0,0]},{"type":"Mesh","material":"$frame","geometry":{"type":"RoundedBoxGeometry","width":0.07,"height":0.6,"depth":0.08,"radius":0.018,"segments":3},"position":[0.79,1.08,-0.55],"rotation":[0.38,0,0]},{"type":"Mesh","material":"$frame","geometry":{"type":"RoundedBoxGeometry","width":0.07,"height":0.58,"depth":0.08,"radius":0.018,"segments":3},"position":[-0.79,1.07,0.68],"rotation":[-0.38,0,0]},{"type":"Mesh","material":"$frame","geometry":{"type":"RoundedBoxGeometry","width":0.07,"height":0.58,"depth":0.08,"radius":0.018,"segments":3},"position":[0.79,1.07,0.68],"rotation":[-0.38,0,0]},{"type":"Mesh","material":"$surface:head","geometry":{"type":"RoundedBoxGeometry","width":0.52,"height":0.1,"depth":0.05,"radius":0.025,"segments":3},"position":[-0.5,0.74,-2.25]},{"type":"Mesh","material":"$surface:head","geometry":{"type":"RoundedBoxGeometry","width":0.52,"height":0.1,"depth":0.05,"radius":0.025,"segments":3},"position":[0.5,0.74,-2.25]},{"type":"Mesh","material":"$surface:tail","geometry":{"type":"RoundedBoxGeometry","width":0.46,"height":0.13,"depth":0.05,"radius":0.025,"segments":3},"position":[-0.53,0.72,2.25]},{"type":"Mesh","material":"$surface:tail","geometry":{"type":"RoundedBoxGeometry","width":0.46,"height":0.13,"depth":0.05,"radius":0.025,"segments":3},"position":[0.53,0.72,2.25]}]},"preview":{"projection":"perspective","azimuth":38,"elevation":18,"fov":30,"margin":1.03}}

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

cat packs/parking.ndjson model.ndjson > dressed.ndjson
Download parking pack 58 KB · NDJSON ↓