bimtex

trees

Blue agave

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

  • 17of 500 meshes
  • 1slot
  • 1finish

Drag to orbit · scroll to zoom

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

This definition leaves $foliage 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 1 materialdef the body resolves to, then the definition. Copying the lookdef alone still compiles and still validates — it just renders grey.

{"t":"materialdef","id":"pal-leaf-pale","of":"foliage","value":58}
{"t":"lookdef","id":"blue-agave","for":"tree:agave","desc":"Blue agave with three radial ranks of broad, thick spear leaves and a low planted centre.","slots":{"foliage":"pal-leaf-pale"},"preview":{"projection":"perspective","azimuth":-38,"elevation":24,"fov":32,"margin":1.02},"body":{"type":"Group","children":[{"type":"Mesh","material":"$foliage","geometry":{"type":"ConeGeometry","radius":0.18,"height":1.25,"radialSegments":10,"heightSegments":2},"position":[0,0.625,0],"rotation":[0,0,0]},{"type":"Mesh","material":"$foliage","geometry":{"type":"ConeGeometry","radius":0.2,"height":1.18,"radialSegments":10,"heightSegments":2},"position":[0.32,0.4,0],"rotation":[0,0,-0.72]},{"type":"Mesh","material":"$foliage","geometry":{"type":"ConeGeometry","radius":0.2,"height":1.18,"radialSegments":10,"heightSegments":2},"position":[-0.32,0.4,0],"rotation":[0,0,0.72]},{"type":"Mesh","material":"$foliage","geometry":{"type":"ConeGeometry","radius":0.2,"height":1.18,"radialSegments":10,"heightSegments":2},"position":[0,0.4,0.32],"rotation":[0.72,0,0]},{"type":"Mesh","material":"$foliage","geometry":{"type":"ConeGeometry","radius":0.2,"height":1.18,"radialSegments":10,"heightSegments":2},"position":[0,0.4,-0.32],"rotation":[-0.72,0,0]},{"type":"Mesh","material":"$foliage","geometry":{"type":"ConeGeometry","radius":0.2,"height":1.18,"radialSegments":10,"heightSegments":2},"position":[0.25,0.4,0.25],"rotation":[0.55,0,-0.55]},{"type":"Mesh","material":"$foliage","geometry":{"type":"ConeGeometry","radius":0.2,"height":1.18,"radialSegments":10,"heightSegments":2},"position":[-0.25,0.4,0.25],"rotation":[0.55,0,0.55]},{"type":"Mesh","material":"$foliage","geometry":{"type":"ConeGeometry","radius":0.2,"height":1.18,"radialSegments":10,"heightSegments":2},"position":[0.25,0.4,-0.25],"rotation":[-0.55,0,-0.55]},{"type":"Mesh","material":"$foliage","geometry":{"type":"ConeGeometry","radius":0.2,"height":1.18,"radialSegments":10,"heightSegments":2},"position":[-0.25,0.4,-0.25],"rotation":[-0.55,0,0.55]},{"type":"Mesh","material":"$foliage","geometry":{"type":"ConeGeometry","radius":0.16,"height":0.98,"radialSegments":10,"heightSegments":2},"position":[0.56,0.25,0],"rotation":[0,0,-1.14]},{"type":"Mesh","material":"$foliage","geometry":{"type":"ConeGeometry","radius":0.16,"height":0.98,"radialSegments":10,"heightSegments":2},"position":[-0.56,0.25,0],"rotation":[0,0,1.14]},{"type":"Mesh","material":"$foliage","geometry":{"type":"ConeGeometry","radius":0.16,"height":0.98,"radialSegments":10,"heightSegments":2},"position":[0,0.25,0.56],"rotation":[1.14,0,0]},{"type":"Mesh","material":"$foliage","geometry":{"type":"ConeGeometry","radius":0.16,"height":0.98,"radialSegments":10,"heightSegments":2},"position":[0,0.25,-0.56],"rotation":[-1.14,0,0]},{"type":"Mesh","material":"$foliage","geometry":{"type":"ConeGeometry","radius":0.16,"height":0.98,"radialSegments":10,"heightSegments":2},"position":[0.4,0.25,0.4],"rotation":[0.82,0,-0.82]},{"type":"Mesh","material":"$foliage","geometry":{"type":"ConeGeometry","radius":0.16,"height":0.98,"radialSegments":10,"heightSegments":2},"position":[-0.4,0.25,0.4],"rotation":[0.82,0,0.82]},{"type":"Mesh","material":"$foliage","geometry":{"type":"ConeGeometry","radius":0.16,"height":0.98,"radialSegments":10,"heightSegments":2},"position":[0.4,0.25,-0.4],"rotation":[-0.82,0,-0.82]},{"type":"Mesh","material":"$foliage","geometry":{"type":"ConeGeometry","radius":0.16,"height":0.98,"radialSegments":10,"heightSegments":2},"position":[-0.4,0.25,-0.4],"rotation":[-0.82,0,0.82]}]}}

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

cat packs/trees.ndjson model.ndjson > dressed.ndjson
Download trees pack 245 KB · NDJSON ↓