Folding chair
folding-chair
dresses asset:folding-chair
— 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
$frame
$soft
This definition leaves
$frame and $soft
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-assembly-gold","of":"brass","value":72,"accent":"#b58a3b","body":{"metalness":0.72}}
{"t":"materialdef","id":"pack-assembly-ivory-cloth","of":"cloth","value":80,"accent":"#ded9cf","body":{"roughness":0.92,"sheen":0.22,"sheenRoughness":0.8}}
{"t":"lookdef","id":"folding-chair","for":"asset:folding-chair","desc":"Refined padded folding chair with a light U-frame, paired scissor legs, hinge caps, and rounded seat rail.","slots":{"frame":"pack-assembly-gold","soft":"pack-assembly-ivory-cloth"},"preview":{"projection":"perspective","azimuth":34,"elevation":14,"fov":34,"margin":1.05},"body":{"type":"Group","children":[{"type":"Mesh","material":"$soft","geometry":{"type":"RoundedBoxGeometry","width":0.47,"height":0.075,"depth":0.42,"radius":0.028,"segments":4},"position":[0,0.4675,0.02]},{"type":"Mesh","material":"$soft","geometry":{"type":"RoundedBoxGeometry","width":0.405,"height":0.21,"depth":0.048,"radius":0.022,"segments":4},"position":[0,0.755,-0.182]},{"type":"Mesh","material":"$frame","geometry":{"type":"TubeGeometry","path":[[-0.22,0,-0.24],[-0.18,0.44,-0.15],[-0.23,0.78,-0.19],[-0.23,0.87,-0.19]],"radius":0.0125,"radialSegments":12,"tubularSegments":18,"curve":"spline"}},{"type":"Mesh","material":"$frame","geometry":{"type":"TubeGeometry","path":[[0.22,0,-0.24],[0.18,0.44,-0.15],[0.23,0.78,-0.19],[0.23,0.87,-0.19]],"radius":0.0125,"radialSegments":12,"tubularSegments":18,"curve":"spline"}},{"type":"Mesh","material":"$frame","geometry":{"type":"TubeGeometry","path":[[-0.23,0.87,-0.19],[-0.2,0.92,-0.19],[-0.12,0.94,-0.19],[0.12,0.94,-0.19],[0.2,0.92,-0.19],[0.23,0.87,-0.19]],"radius":0.0125,"radialSegments":12,"tubularSegments":20,"curve":"spline"}},{"type":"Mesh","material":"$frame","geometry":{"type":"TubeGeometry","path":[[-0.205,0,0.23],[-0.18,0.22,0.08],[-0.16,0.44,-0.12]],"radius":0.0125,"radialSegments":12,"tubularSegments":14,"curve":"spline"}},{"type":"Mesh","material":"$frame","geometry":{"type":"TubeGeometry","path":[[0.205,0,0.23],[0.18,0.22,0.08],[0.16,0.44,-0.12]],"radius":0.0125,"radialSegments":12,"tubularSegments":14,"curve":"spline"}},{"type":"Mesh","material":"$frame","geometry":{"type":"TubeGeometry","path":[[-0.19,0.425,-0.205],[-0.225,0.425,-0.19],[-0.237,0.425,-0.155],[-0.237,0.425,0.175],[-0.225,0.425,0.215],[-0.19,0.425,0.23],[0.19,0.425,0.23],[0.225,0.425,0.215],[0.237,0.425,0.175],[0.237,0.425,-0.155],[0.225,0.425,-0.19],[0.19,0.425,-0.205],[-0.19,0.425,-0.205]],"radius":0.011,"radialSegments":12,"tubularSegments":36,"curve":"spline"}},{"type":"Mesh","material":"$frame","geometry":{"type":"TubeGeometry","path":[[-0.18,0.22,0.08],[0.18,0.22,0.08]],"radius":0.01,"radialSegments":10,"tubularSegments":12}},{"type":"bimtex:Run","count":2,"from":[-0.185,0,0],"to":[0.185,0,0],"children":[{"type":"Mesh","material":"$frame","geometry":{"type":"CylinderGeometry","radiusTop":0.023,"radiusBottom":0.023,"height":0.028,"radialSegments":16},"position":[0,0.43,-0.135],"rotation":[0,0,1.5708]}]}]}}
Or take the whole pack, which brings every entry and every material at once:
cat packs/assembly.ndjson model.ndjson > dressed.ndjson
Download assembly pack
18 KB · NDJSON ↓