Squat rack
squat-rack
dresses asset:squat-rack
— and nothing else. Appearance is invisible to the drawing set, so adding this changes no
plan, no section and no elevation.
- 18of 500 meshes
- 2slots
- 1finish
Drag to orbit · scroll to zoom
$frame
$accent
This definition leaves
$frame and $accent
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-charcoal","of":"paint","value":20}
{"t":"lookdef","id":"squat-rack","for":"asset:squat-rack","desc":"Open four-post squat rack with bar catches and pull-up bar.","slots":{"frame":"pal-charcoal","accent":"pal-charcoal"},"preview":{"projection":"perspective","azimuth":38,"elevation":20,"fov":34,"margin":1},"body":{"type":"Group","children":[{"type":"Mesh","material":"$frame","geometry":{"type":"RoundedBoxGeometry","width":0.16,"height":0.08,"depth":1.4,"radius":0.018,"segments":2},"position":[-0.53,0.04,0]},{"type":"Mesh","material":"$frame","geometry":{"type":"RoundedBoxGeometry","width":0.16,"height":0.08,"depth":1.4,"radius":0.018,"segments":2},"position":[0.53,0.04,0]},{"type":"Mesh","material":"$frame","geometry":{"type":"RoundedBoxGeometry","width":0.11,"height":2.16,"depth":0.11,"radius":0.016,"segments":2},"position":[-0.5,1.12,-0.52]},{"type":"Mesh","material":"$frame","geometry":{"type":"RoundedBoxGeometry","width":0.11,"height":2.16,"depth":0.11,"radius":0.016,"segments":2},"position":[0.5,1.12,-0.52]},{"type":"Mesh","material":"$frame","geometry":{"type":"RoundedBoxGeometry","width":0.11,"height":2.16,"depth":0.11,"radius":0.016,"segments":2},"position":[-0.5,1.12,0.38]},{"type":"Mesh","material":"$frame","geometry":{"type":"RoundedBoxGeometry","width":0.11,"height":2.16,"depth":0.11,"radius":0.016,"segments":2},"position":[0.5,1.12,0.38]},{"type":"Mesh","material":"$frame","geometry":{"type":"RoundedBoxGeometry","width":0.11,"height":0.12,"depth":1.01,"radius":0.015,"segments":2},"position":[-0.5,2.24,-0.07]},{"type":"Mesh","material":"$frame","geometry":{"type":"RoundedBoxGeometry","width":0.11,"height":0.12,"depth":1.01,"radius":0.015,"segments":2},"position":[0.5,2.24,-0.07]},{"type":"Mesh","material":"$frame","geometry":{"type":"RoundedBoxGeometry","width":1.11,"height":0.12,"depth":0.11,"radius":0.015,"segments":2},"position":[0,2.24,-0.52]},{"type":"Mesh","material":"$frame","geometry":{"type":"RoundedBoxGeometry","width":1.11,"height":0.12,"depth":0.11,"radius":0.015,"segments":2},"position":[0,2.24,0.38]},{"type":"Mesh","material":"$frame","geometry":{"type":"CylinderGeometry","radiusTop":0.035,"radiusBottom":0.035,"height":1.1,"radialSegments":20},"position":[0,2.13,-0.58],"rotation":[0,0,1.5708]},{"type":"Mesh","material":"$frame","geometry":{"type":"TubeGeometry","path":[[-0.5,1.48,0.38],[-0.5,1.36,0.45],[-0.5,1.36,0.56],[-0.5,1.43,0.56]],"radius":0.025,"radialSegments":10,"tubularSegments":16}},{"type":"Mesh","material":"$frame","geometry":{"type":"TubeGeometry","path":[[0.5,1.48,0.38],[0.5,1.36,0.45],[0.5,1.36,0.56],[0.5,1.43,0.56]],"radius":0.025,"radialSegments":10,"tubularSegments":16}},{"type":"Mesh","material":"$frame","geometry":{"type":"CylinderGeometry","radiusTop":0.025,"radiusBottom":0.025,"height":1.3,"radialSegments":20},"position":[0,1.42,0.35],"rotation":[0,0,1.5708]},{"type":"Mesh","material":"$accent","geometry":{"type":"CylinderGeometry","radiusTop":0.35,"radiusBottom":0.35,"height":0.1,"radialSegments":24},"position":[-0.48,1.42,0.35],"rotation":[0,0,1.5708]},{"type":"Mesh","material":"$accent","geometry":{"type":"CylinderGeometry","radiusTop":0.35,"radiusBottom":0.35,"height":0.1,"radialSegments":24},"position":[0.48,1.42,0.35],"rotation":[0,0,1.5708]},{"type":"Mesh","material":"$accent","geometry":{"type":"CylinderGeometry","radiusTop":0.29,"radiusBottom":0.29,"height":0.08,"radialSegments":24},"position":[-0.6,1.42,0.35],"rotation":[0,0,1.5708]},{"type":"Mesh","material":"$accent","geometry":{"type":"CylinderGeometry","radiusTop":0.29,"radiusBottom":0.29,"height":0.08,"radialSegments":24},"position":[0.6,1.42,0.35],"rotation":[0,0,1.5708]}],"scale":[0.999999895,1.000000001,1.000000013]}}
Or take the whole pack, which brings every entry and every material at once:
cat packs/fitness.ndjson model.ndjson > dressed.ndjson
Download fitness pack
23 KB · NDJSON ↓