bimtex

trees

Multi stem birch 2

multi-stem-birch-2 dresses tree:birch-grove — and nothing else. Appearance is invisible to the drawing set, so adding this changes no plan, no section and no elevation.

  • 23of 500 meshes
  • 2slots
  • 1finish

Drag to orbit · scroll to zoom

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

This definition leaves $foliage and $bark 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":"pal-leaf-pale","of":"foliage","value":58}
{"t":"materialdef","id":"pal-timber-dark","of":"timber","value":42}
{"t":"lookdef","id":"multi-stem-birch-2","for":"tree:birch-grove","desc":"Airy multi-stem birch with three pale trunks, high forks, and many small irregular foliage clusters at branch tips.","slots":{"foliage":"pal-leaf-pale","bark":"pal-timber-dark"},"preview":{"projection":"perspective","azimuth":-36,"elevation":14,"fov":30,"margin":1.03},"body":{"type":"Group","children":[{"type":"Mesh","material":"$bark","geometry":{"type":"LatheGeometry","profile":[[0,0],[0.26,0],[0.22,0.18],[0.15,0.42],[0,0.62]],"segments":20}},{"type":"Mesh","material":"$bark","geometry":{"type":"TubeGeometry","path":[[0,0.32,0.03],[-0.28,1.32,0.06],[-0.72,3.02,0.1],[-1.48,5.28,0.18]],"radius":0.095,"radialSegments":10,"tubularSegments":18,"curve":"spline"}},{"type":"Mesh","material":"$bark","geometry":{"type":"TubeGeometry","path":[[0,0.34,0],[0.05,1.7,-0.04],[0.12,3.7,-0.12],[0.32,6.15,-0.2]],"radius":0.1,"radialSegments":10,"tubularSegments":18,"curve":"spline"}},{"type":"Mesh","material":"$bark","geometry":{"type":"TubeGeometry","path":[[0,0.32,-0.03],[0.32,1.28,-0.06],[0.8,2.9,0.04],[1.52,5.12,0.16]],"radius":0.092,"radialSegments":10,"tubularSegments":18,"curve":"spline"}},{"type":"Mesh","material":"$bark","geometry":{"type":"TubeGeometry","path":[[-0.56,2.5,0.09],[-1.02,3.36,0.16],[-1.7,4.12,0.28]],"radius":0.045,"radialSegments":10,"tubularSegments":18,"curve":"spline"}},{"type":"Mesh","material":"$bark","geometry":{"type":"TubeGeometry","path":[[-0.88,3.5,0.12],[-1.22,4.16,-0.18],[-1.38,4.78,-0.38]],"radius":0.04,"radialSegments":10,"tubularSegments":18,"curve":"spline"}},{"type":"Mesh","material":"$bark","geometry":{"type":"TubeGeometry","path":[[0.12,3.52,-0.1],[-0.18,4.28,-0.3],[-0.42,5.25,-0.52]],"radius":0.04,"radialSegments":10,"tubularSegments":18,"curve":"spline"}},{"type":"Mesh","material":"$bark","geometry":{"type":"TubeGeometry","path":[[0.66,2.48,0.02],[1.12,3.3,0.16],[1.72,4.08,0.28]],"radius":0.045,"radialSegments":10,"tubularSegments":18,"curve":"spline"}},{"type":"Mesh","material":"$bark","geometry":{"type":"TubeGeometry","path":[[0.92,3.35,0.08],[1.28,4.05,-0.2],[1.52,4.82,-0.38]],"radius":0.04,"radialSegments":10,"tubularSegments":18,"curve":"spline"}},{"type":"Mesh","material":"$bark","geometry":{"type":"TubeGeometry","path":[[-0.22,1.55,0.02],[-0.72,2.28,0.25],[-1.08,3.18,0.42]],"radius":0.038,"radialSegments":10,"tubularSegments":18,"curve":"spline"}},{"type":"Mesh","material":"$bark","geometry":{"type":"TubeGeometry","path":[[0.28,1.5,-0.02],[0.72,2.18,0.28],[1.02,3.08,0.46]],"radius":0.038,"radialSegments":10,"tubularSegments":18,"curve":"spline"}},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[-1.65,4.13,0.28],"scale":[0.506,0.323,0.3816],"rotation":[0.1,0.5,0.04]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[-1.32,4.7,0.16],"scale":[0.48576,0.3434,0.3816],"rotation":[0.2,1.2,-0.05]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[-0.92,4.78,-0.48],"scale":[0.46552,0.323,0.3627],"rotation":[0.1,1.9,0.05]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[-0.38,5.42,-0.52],"scale":[0.45496,0.3332,0.3528],"rotation":[0.2,2.6,-0.04]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[0.25,6.12,-0.2],"scale":[0.42504,0.323,0.3438],"rotation":[0.1,3.3,0.05]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[0.62,5.15,0.1],"scale":[0.46552,0.323,0.3627],"rotation":[0.2,4,-0.04]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[1.45,4.65,-0.38],"scale":[0.46552,0.323,0.3627],"rotation":[0.1,4.7,0.05]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[1.74,3.9,0.28],"scale":[0.506,0.323,0.3816],"rotation":[0.2,5.4,-0.04]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[1.48,4.5,0.16],"scale":[0.48576,0.3332,0.3816],"rotation":[0.1,6.1,0.05]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[-1.05,3.63,0.42],"scale":[0.42504,0.2958,0.3339],"rotation":[0.2,0.9,-0.04]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[0.92,4.1,0.46],"scale":[0.44528,0.3043,0.3438],"rotation":[0.1,1.7,0.05]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[-0.18,4.55,0.35],"scale":[0.42504,0.2958,0.3339],"rotation":[0.2,2.5,-0.04]}]}}

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 ↓