{"data":{"id":190,"slug":"textile-weaving-and-dye-workshop","title":"Textile Weaving and Dye Workshop","summary":"Fifty realistic weaving, winding, dyeing and cloth-finishing designs with a furnished workshop.","description":"Premium ash-timber and indigo textile production kit with shaft looms, eyed heddles, warp paths, winding mechanisms, carding tools, open enamel vessels and cloth finishing stations. Enclosed dry room and attached covered wet bay. All machines and fluids static; no collision or navigation.","url":"https://3dassets.dev/packs/textile-weaving-and-dye-workshop","coverUrl":"https://cdn.3dassets.dev/assets/29582/v1/poster.webp","assetCount":51,"aiGenerated":true,"aiGeneratedAssetCount":51,"aiModels":["GPT-6"],"aiModelUnspecifiedCount":0,"featured":true,"licenseLabel":"CC0 1.0 Universal","totalBytes":16769328,"totalTriangles":1012612,"starterScene":{"id":"29582","slug":"textile-weaving-and-dye-workshop-ash-and-bf1e6ddd-starter-scene","title":"Ash and Indigo Textile Workshop (Textile Weaving and Dye Workshop)","summary":"Roofed dry weaving studio adjoining a covered dye, rinse and finishing bay, with stocked cutting and winding stations and a clear service path.","description":"Roofed dry weaving studio adjoining a covered dye, rinse and finishing bay, with stocked cutting and winding stations and a clear service path.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-ash-and-bf1e6ddd-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/29582/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-ash-and-bf1e6ddd-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/29582/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29582/v1/poster.webp","blurhash":"U9AmrD-;9FRj9Ft7%Mae00IUW=s:~pM{E1WW","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":8168428,"triangles":505988,"vertices":345692,"meshes":147,"materials":9,"textures":0,"animations":[],"boundingBox":{"min":[-7.5,0.0002755857168469378,-6.000320444349498],"max":[7.5,5.014366479221596,6.000320444349498]},"sizeMeters":[15,5.014,12.001],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:49.830Z","updatedAt":"2026-09-08T04:18:49.924Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29582/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AshAndIndigoTextileWorkshopTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29582/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29582/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29582/v1/model.glb\" alt=\"Ash and Indigo Textile Workshop (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29582/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29582/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},"assets":[{"id":"29532","slug":"textile-weaving-and-dye-workshop-four-shaft-floor-loom-1a5daeaa","title":"Four Shaft Floor Loom (Textile Weaving and Dye Workshop)","summary":"Four-shaft ash floor loom with separated shaft frames, individual eyed heddles, suspended cords, slatted reed beater, visible warp path, cloth roller, brake wheels and four linked treadles. All mechanisms fixed.","description":"Four-shaft ash floor loom with separated shaft frames, individual eyed heddles, suspended cords, slatted reed beater, visible warp path, cloth roller, brake wheels and four linked treadles. All mechanisms fixed. Dimensions 1.80 × 1.65 × 1.51 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-four-shaft-floor-loom-1a5daeaa","cdnUrl":"https://cdn.3dassets.dev/assets/29532/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-four-shaft-floor-loom-1a5daeaa","thumbnailUrl":"https://cdn.3dassets.dev/assets/29532/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29532/v1/poster.webp","blurhash":"UAGR-d.A00%3~VofIoWF00i]4:D*IBa{ogWU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":1175888,"triangles":71604,"vertices":46404,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.8999999761581421,0.000006802677726236439,-0.755056964672419],"max":[0.8999999761581421,1.6499931734804159,0.755056964672419]},"sizeMeters":[1.8,1.65,1.51],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:14.945Z","updatedAt":"2026-09-08T04:18:15.053Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29532/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FourShaftFloorLoomTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29532/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29532/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29532/v1/model.glb\" alt=\"Four Shaft Floor Loom (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29532/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29532/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29533","slug":"textile-weaving-and-dye-workshop-table-loom-33aabdbd","title":"Table Loom (Textile Weaving and Dye Workshop)","summary":"Compact four-shaft tabletop loom with eyed heddles, reed, taut warp and wound cloth roller; tabletop origin rests on its feet and shafts remain fixed.","description":"Compact four-shaft tabletop loom with eyed heddles, reed, taut warp and wound cloth roller; tabletop origin rests on its feet and shafts remain fixed. Dimensions 0.92 × 0.62 × 0.69 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-table-loom-33aabdbd","cdnUrl":"https://cdn.3dassets.dev/assets/29533/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-table-loom-33aabdbd","thumbnailUrl":"https://cdn.3dassets.dev/assets/29533/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29533/v1/poster.webp","blurhash":"UBF5y:%N00$d~pxuIUNH00jEIqE4D+Rke.jE","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":1151720,"triangles":70212,"vertices":45424,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.46000000834465027,6.154583855333406e-7,-0.34498458514354136],"max":[0.46000000834465027,0.619999389309986,0.34498458514354136]},"sizeMeters":[0.92,0.62,0.69],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:15.124Z","updatedAt":"2026-09-08T04:18:15.219Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29533/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TableLoomTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29533/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29533/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29533/v1/model.glb\" alt=\"Table Loom (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29533/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29533/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29534","slug":"textile-weaving-and-dye-workshop-warp-beam-stand-515559b5","title":"Warp Beam Stand (Textile Weaving and Dye Workshop)","summary":"Separate warp beam on braced ash trestles, wound warp cylinder, end cheeks, exposed axle and crank handle.","description":"Separate warp beam on braced ash trestles, wound warp cylinder, end cheeks, exposed axle and crank handle. Dimensions 1.74 × 0.85 × 0.67 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-warp-beam-stand-515559b5","cdnUrl":"https://cdn.3dassets.dev/assets/29534/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-warp-beam-stand-515559b5","thumbnailUrl":"https://cdn.3dassets.dev/assets/29534/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29534/v1/poster.webp","blurhash":"UEFYV:%N0J$+~W^*M{In00xst8IU9FIW%MM}","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":145124,"triangles":8568,"vertices":5674,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.8675000071525574,-6.787948009234768e-8,-0.3365311939083421],"max":[0.8675000071525574,0.850000091721338,0.33646078669434043]},"sizeMeters":[1.735,0.85,0.673],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:15.275Z","updatedAt":"2026-09-08T04:18:15.405Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29534/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WarpBeamStandTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29534/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29534/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29534/v1/model.glb\" alt=\"Warp Beam Stand (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29534/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29534/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29535","slug":"textile-weaving-and-dye-workshop-warping-board-11db9201","title":"Warping Board (Textile Weaving and Dye Workshop)","summary":"Pegged upright warping board with six alternating yarn traverses, proud pegs and broad stable foot.","description":"Pegged upright warping board with six alternating yarn traverses, proud pegs and broad stable foot. Dimensions 1.50 × 1.55 × 0.60 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-warping-board-11db9201","cdnUrl":"https://cdn.3dassets.dev/assets/29535/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-warping-board-11db9201","thumbnailUrl":"https://cdn.3dassets.dev/assets/29535/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29535/v1/poster.webp","blurhash":"U6Ef7z~q000002-:xt4o009F_N-;$g?G-;9b","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":46524,"triangles":2532,"vertices":1830,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.7500236287713505,0,-0.30002364261500997],"max":[0.7500236287713505,1.5499999523162842,0.30002364261500997]},"sizeMeters":[1.5,1.55,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:17.147Z","updatedAt":"2026-09-08T04:18:17.253Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29535/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WarpingBoardTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29535/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29535/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29535/v1/model.glb\" alt=\"Warping Board (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29535/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29535/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29536","slug":"textile-weaving-and-dye-workshop-warping-mill-110132e6","title":"Warping Mill (Textile Weaving and Dye Workshop)","summary":"Vertical rotating-style warping mill with central steel spindle, crossed arms, four yarn posts and eight rectangular yarn circuits; fixed pose.","description":"Vertical rotating-style warping mill with central steel spindle, crossed arms, four yarn posts and eight rectangular yarn circuits; fixed pose. Dimensions 1.26 × 1.78 × 1.26 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-warping-mill-110132e6","cdnUrl":"https://cdn.3dassets.dev/assets/29536/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-warping-mill-110132e6","thumbnailUrl":"https://cdn.3dassets.dev/assets/29536/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29536/v1/poster.webp","blurhash":"U9DJ9Vt700Rjbcjat6of00WB~qj]IAkAtSRQ","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":47648,"triangles":2524,"vertices":1856,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.6288042068481445,0,-0.6288042068481445],"max":[0.6288042068481445,1.78000009059906,0.6288042068481445]},"sizeMeters":[1.258,1.78,1.258],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:17.615Z","updatedAt":"2026-09-08T04:18:17.722Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29536/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WarpingMillTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29536/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29536/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29536/v1/model.glb\" alt=\"Warping Mill (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29536/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29536/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29537","slug":"textile-weaving-and-dye-workshop-reed-rack-c903d866","title":"Reed Rack (Textile Weaving and Dye Workshop)","summary":"Braced upright reed storage rack with three separately divided metal reeds resting in the lower cradle.","description":"Braced upright reed storage rack with three separately divided metal reeds resting in the lower cradle. Dimensions 0.90 × 1.45 × 0.42 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-reed-rack-c903d866","cdnUrl":"https://cdn.3dassets.dev/assets/29537/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-reed-rack-c903d866","thumbnailUrl":"https://cdn.3dassets.dev/assets/29537/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29537/v1/poster.webp","blurhash":"U6ECUZRh00?H~V-o9GE302xvWCD*^*%LD*9a","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":524304,"triangles":30492,"vertices":21156,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.4499969629473466,0,-0.21154044455712404],"max":[0.4499969629473466,1.4500000476837158,0.2114953958363257]},"sizeMeters":[0.9,1.45,0.423],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:17.831Z","updatedAt":"2026-09-08T04:18:17.940Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29537/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ReedRackTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29537/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29537/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29537/v1/model.glb\" alt=\"Reed Rack (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29537/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29537/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29538","slug":"textile-weaving-and-dye-workshop-heddle-frame-a98d7283","title":"Heddle Frame (Textile Weaving and Dye Workshop)","summary":"Standalone ash shaft frame carrying twenty-four eyed metal heddles and continuous top and bottom bars.","description":"Standalone ash shaft frame carrying twenty-four eyed metal heddles and continuous top and bottom bars. Dimensions 0.80 × 0.48 × 0.04 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-heddle-frame-a98d7283","cdnUrl":"https://cdn.3dassets.dev/assets/29538/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-heddle-frame-a98d7283","thumbnailUrl":"https://cdn.3dassets.dev/assets/29538/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29538/v1/poster.webp","blurhash":"UEFi0%xwM]%4%N~Vt8ad01s+NMW9oHxFk79H","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":254340,"triangles":15792,"vertices":9848,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.39750000834465027,-0.000026103728847204355,-0.022515336023672318],"max":[0.39750000834465027,0.48002609300001114,0.022515336023672318]},"sizeMeters":[0.795,0.48,0.045],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:18.020Z","updatedAt":"2026-09-08T04:18:18.117Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29538/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HeddleFrameTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29538/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29538/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29538/v1/model.glb\" alt=\"Heddle Frame (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29538/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29538/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29539","slug":"textile-weaving-and-dye-workshop-boat-shuttle-aa54a8dc","title":"Boat Shuttle (Textile Weaving and Dye Workshop)","summary":"Pointed hollow boat shuttle with thick ash bottom and raised walls around an exposed white bobbin on its steel spindle.","description":"Pointed hollow boat shuttle with thick ash bottom and raised walls around an exposed white bobbin on its steel spindle. Dimensions 0.43 × 0.04 × 0.09 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-boat-shuttle-aa54a8dc","cdnUrl":"https://cdn.3dassets.dev/assets/29539/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-boat-shuttle-aa54a8dc","thumbnailUrl":"https://cdn.3dassets.dev/assets/29539/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29539/v1/poster.webp","blurhash":"UABMufxu01afxu?GaeIV00R*~oaxIU0Loz?G","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":31572,"triangles":1588,"vertices":1353,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.21348527073860168,-0.00001001540465378134,-0.04300066490294415],"max":[0.21348527073860168,0.04101001281185174,0.04300066490294415]},"sizeMeters":[0.427,0.041,0.086],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:19.810Z","updatedAt":"2026-09-08T04:18:19.912Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29539/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BoatShuttleTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29539/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29539/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29539/v1/model.glb\" alt=\"Boat Shuttle (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29539/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29539/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29540","slug":"textile-weaving-and-dye-workshop-end-feed-shuttle-0de140f6","title":"End Feed Shuttle (Textile Weaving and Dye Workshop)","summary":"End-feed shuttle with an open bobbin cavity and separate metal tension block and exit eye at one end.","description":"End-feed shuttle with an open bobbin cavity and separate metal tension block and exit eye at one end. Dimensions 0.43 × 0.08 × 0.09 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-end-feed-shuttle-0de140f6","cdnUrl":"https://cdn.3dassets.dev/assets/29540/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-end-feed-shuttle-0de140f6","thumbnailUrl":"https://cdn.3dassets.dev/assets/29540/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29540/v1/poster.webp","blurhash":"U9A,g=xt00IqIW-:s:IV00E2~p-n-l4:NH?G","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":47096,"triangles":2400,"vertices":1862,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.21348527073860168,-0.00001001540465378134,-0.04300066490294415],"max":[0.21348527073860168,0.07999963354514085,0.04300066490294415]},"sizeMeters":[0.427,0.08,0.086],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:20.304Z","updatedAt":"2026-09-08T04:18:20.399Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29540/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EndFeedShuttleTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29540/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29540/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29540/v1/model.glb\" alt=\"End Feed Shuttle (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29540/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29540/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29541","slug":"textile-weaving-and-dye-workshop-bobbin-winder-fd860663","title":"Bobbin Winder (Textile Weaving and Dye Workshop)","summary":"Bench bobbin winder with steel mandrel, loaded tapered bobbin, hand wheel and projecting rounded crank grip.","description":"Bench bobbin winder with steel mandrel, loaded tapered bobbin, hand wheel and projecting rounded crank grip. Dimensions 0.52 × 0.40 × 0.28 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-bobbin-winder-fd860663","cdnUrl":"https://cdn.3dassets.dev/assets/29541/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-bobbin-winder-fd860663","thumbnailUrl":"https://cdn.3dassets.dev/assets/29541/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29541/v1/poster.webp","blurhash":"U7EL~R^*00Si0h-o$y9G00NK~WR4?D%f.8Rj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":30092,"triangles":1528,"vertices":1127,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.26100000739097595,-0.000005332460593948651,-0.1375118222796026],"max":[0.26100000739097595,0.40000533842105845,0.1375118222796026]},"sizeMeters":[0.522,0.4,0.275],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:20.534Z","updatedAt":"2026-09-08T04:18:20.636Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29541/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BobbinWinderTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29541/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29541/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29541/v1/model.glb\" alt=\"Bobbin Winder (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29541/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29541/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29542","slug":"textile-weaving-and-dye-workshop-swift-4aa20c48","title":"Swift (Textile Weaving and Dye Workshop)","summary":"Umbrella yarn swift with six folding-style ash ribs, central spindle, outer yarn pegs and four wound yarn circuits; rigidly posed.","description":"Umbrella yarn swift with six folding-style ash ribs, central spindle, outer yarn pegs and four wound yarn circuits; rigidly posed. Dimensions 0.82 × 0.84 × 0.79 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-swift-4aa20c48","cdnUrl":"https://cdn.3dassets.dev/assets/29542/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-swift-4aa20c48","thumbnailUrl":"https://cdn.3dassets.dev/assets/29542/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29542/v1/poster.webp","blurhash":"U6C?ZHx?00M{.8WAxBt700M}~Wxu00ogt8Ip","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":59976,"triangles":3404,"vertices":2300,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.41200000047683716,0.000002561299827841257,-0.3959999978542328],"max":[0.41200000047683716,0.8399999737739563,0.3959999978542328]},"sizeMeters":[0.824,0.84,0.792],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:20.668Z","updatedAt":"2026-09-08T04:18:20.771Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29542/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SwiftTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29542/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29542/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29542/v1/model.glb\" alt=\"Swift (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29542/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29542/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29543","slug":"textile-weaving-and-dye-workshop-skein-winder-4caa32af","title":"Skein Winder (Textile Weaving and Dye Workshop)","summary":"Horizontal four-arm skein winder with crossbars supporting wound yarn loops, timber trestles and a continuous spindle.","description":"Horizontal four-arm skein winder with crossbars supporting wound yarn loops, timber trestles and a continuous spindle. Dimensions 0.65 × 0.83 × 0.51 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-skein-winder-4caa32af","cdnUrl":"https://cdn.3dassets.dev/assets/29543/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-skein-winder-4caa32af","thumbnailUrl":"https://cdn.3dassets.dev/assets/29543/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29543/v1/poster.webp","blurhash":"U6Eoe}?I00I-?v-U9F9b00My~UtPDjXOxvRQ","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":187704,"triangles":11096,"vertices":7391,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.32499998807907104,0,-0.25500792825931806],"max":[0.32499998807907104,0.8349999785423279,0.25500792825931806]},"sizeMeters":[0.65,0.835,0.51],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:22.541Z","updatedAt":"2026-09-08T04:18:22.644Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29543/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SkeinWinderTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29543/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29543/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29543/v1/model.glb\" alt=\"Skein Winder (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29543/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29543/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29544","slug":"textile-weaving-and-dye-workshop-spinning-wheel-5aff8fcd","title":"Spinning Wheel (Textile Weaving and Dye Workshop)","summary":"Treadle spinning wheel with twelve-spoke rim, drive band, supported flyer bobbin, axle and pedal connecting rod; fixed working pose.","description":"Treadle spinning wheel with twelve-spoke rim, drive band, supported flyer bobbin, axle and pedal connecting rod; fixed working pose. Dimensions 0.81 × 1.09 × 0.60 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-spinning-wheel-5aff8fcd","cdnUrl":"https://cdn.3dassets.dev/assets/29544/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-spinning-wheel-5aff8fcd","thumbnailUrl":"https://cdn.3dassets.dev/assets/29544/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29544/v1/poster.webp","blurhash":"U9D+uMR+00x[EmIUad-;00Ri~Vt8w[x[%LM|","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":150804,"triangles":10456,"vertices":5322,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.4050054189763529,0,-0.3015248749287931],"max":[0.4050054189763529,1.094714641571045,0.30152239124260943]},"sizeMeters":[0.81,1.095,0.603],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:22.994Z","updatedAt":"2026-09-08T04:18:23.100Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29544/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SpinningWheelTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29544/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29544/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29544/v1/model.glb\" alt=\"Spinning Wheel (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29544/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29544/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29545","slug":"textile-weaving-and-dye-workshop-carding-drum-d5efcca0","title":"Carding Drum (Textile Weaving and Dye Workshop)","summary":"Two-drum wool carder with two different drum diameters, individually modeled steel carding teeth, support frame and crank.","description":"Two-drum wool carder with two different drum diameters, individually modeled steel carding teeth, support frame and crank. Dimensions 0.81 × 0.61 × 0.65 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-carding-drum-d5efcca0","cdnUrl":"https://cdn.3dassets.dev/assets/29545/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-carding-drum-d5efcca0","thumbnailUrl":"https://cdn.3dassets.dev/assets/29545/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29545/v1/poster.webp","blurhash":"UCBy${^+Rkxu9bWU%0s:00D%D*IU~UofIVRj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":375000,"triangles":20696,"vertices":15494,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.4025000035762787,0.0000090804598491534,-0.3231814100705814],"max":[0.4025000035762787,0.6133905786552631,0.3231814100705814]},"sizeMeters":[0.805,0.613,0.646],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:23.189Z","updatedAt":"2026-09-08T04:18:23.319Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29545/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CardingDrumTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29545/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29545/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29545/v1/model.glb\" alt=\"Carding Drum (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29545/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29545/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29546","slug":"textile-weaving-and-dye-workshop-wool-comb-pair-edc87748","title":"Wool Comb Pair (Textile Weaving and Dye Workshop)","summary":"Matched handled wool combs with rounded ash grips and two staggered rows of individually tapered-looking steel tines.","description":"Matched handled wool combs with rounded ash grips and two staggered rows of individually tapered-looking steel tines. Dimensions 0.28 × 0.20 × 0.27 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-wool-comb-pair-edc87748","cdnUrl":"https://cdn.3dassets.dev/assets/29546/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-wool-comb-pair-edc87748","thumbnailUrl":"https://cdn.3dassets.dev/assets/29546/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29546/v1/poster.webp","blurhash":"UFCiz4s,01R*58M|t4Rk01kCt6oJ~UxuWUxa","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":48376,"triangles":2544,"vertices":1940,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.14000000059604645,0.000006408088740753742,-0.13499252353990562],"max":[0.14000000059604645,0.20019593664472296,0.13499252353990562]},"sizeMeters":[0.28,0.2,0.27],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:23.335Z","updatedAt":"2026-09-08T04:18:23.451Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29546/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WoolCombPairTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29546/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29546/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29546/v1/model.glb\" alt=\"Wool Comb Pair (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29546/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29546/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29547","slug":"textile-weaving-and-dye-workshop-fiber-basket-daaeafa8","title":"Fiber Basket (Textile Weaving and Dye Workshop)","summary":"Thick open wicker-style basket with vertical stakes, woven horizontal bands and three soft raw-wool bundles.","description":"Thick open wicker-style basket with vertical stakes, woven horizontal bands and three soft raw-wool bundles. Dimensions 0.65 × 0.43 × 0.64 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-fiber-basket-daaeafa8","cdnUrl":"https://cdn.3dassets.dev/assets/29547/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-fiber-basket-daaeafa8","thumbnailUrl":"https://cdn.3dassets.dev/assets/29547/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29547/v1/poster.webp","blurhash":"UDD]SO%M00IU-:a#Rioc00NG~pt64noJx^R-","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":95620,"triangles":5552,"vertices":3718,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.32280632853507996,0.000014349287068560201,-0.3199999928474426],"max":[0.32280632853507996,0.43001983673240857,0.3199999928474426]},"sizeMeters":[0.646,0.43,0.64],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:25.178Z","updatedAt":"2026-09-08T04:18:25.272Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29547/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FiberBasketTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29547/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29547/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29547/v1/model.glb\" alt=\"Fiber Basket (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29547/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29547/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29548","slug":"textile-weaving-and-dye-workshop-yarn-cone-rack-4af47f6f","title":"Yarn Cone Rack (Textile Weaving and Dye Workshop)","summary":"Three-tier yarn rack with fifteen hollow-profile indigo yarn cones over visible ash cores.","description":"Three-tier yarn rack with fifteen hollow-profile indigo yarn cones over visible ash cores. Dimensions 0.90 × 1.40 × 0.37 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-yarn-cone-rack-4af47f6f","cdnUrl":"https://cdn.3dassets.dev/assets/29548/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-yarn-cone-rack-4af47f6f","thumbnailUrl":"https://cdn.3dassets.dev/assets/29548/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29548/v1/poster.webp","blurhash":"U5DlyP?a00jC~V-o9G9HDhRRIwNb?a-oD*9H","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":362384,"triangles":18492,"vertices":15534,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.4500320367709498,0,-0.1865267016687788],"max":[0.4500320367709498,1.399999976158142,0.1864847414994553]},"sizeMeters":[0.9,1.4,0.373],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:25.687Z","updatedAt":"2026-09-08T04:18:25.847Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29548/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function YarnConeRackTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29548/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29548/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29548/v1/model.glb\" alt=\"Yarn Cone Rack (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29548/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29548/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29549","slug":"textile-weaving-and-dye-workshop-thread-guide-stand-afd6931f","title":"Thread Guide Stand (Textile Weaving and Dye Workshop)","summary":"Weighted thread-guide stand with two projecting steel eyelets at independent heights.","description":"Weighted thread-guide stand with two projecting steel eyelets at independent heights. Dimensions 0.30 × 0.73 × 0.24 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-thread-guide-stand-afd6931f","cdnUrl":"https://cdn.3dassets.dev/assets/29549/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-thread-guide-stand-afd6931f","thumbnailUrl":"https://cdn.3dassets.dev/assets/29549/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29549/v1/poster.webp","blurhash":"U36t{^%N004m_2oM9FWA00M{~q-;D%WB%Mt7","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":28136,"triangles":1504,"vertices":1064,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.14800000190734863,-4.577776319073662e-7,-0.11999999731779099],"max":[0.14798226241095908,0.7299999594688416,0.11999999731779099]},"sizeMeters":[0.296,0.73,0.24],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:25.955Z","updatedAt":"2026-09-08T04:18:26.054Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29549/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ThreadGuideStandTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29549/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29549/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29549/v1/model.glb\" alt=\"Thread Guide Stand (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29549/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29549/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29550","slug":"textile-weaving-and-dye-workshop-tension-weight-rack-7a63773c","title":"Tension Weight Rack (Textile Weaving and Dye Workshop)","summary":"Rack holding five separate hanging cylindrical warp-tension weights on taut cords and upper attachment beam.","description":"Rack holding five separate hanging cylindrical warp-tension weights on taut cords and upper attachment beam. Dimensions 0.70 × 0.85 × 0.32 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-tension-weight-rack-7a63773c","cdnUrl":"https://cdn.3dassets.dev/assets/29550/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-tension-weight-rack-7a63773c","thumbnailUrl":"https://cdn.3dassets.dev/assets/29550/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29550/v1/poster.webp","blurhash":"UBFO+1.300-m~V?GD*9a03N2WGM}kCxaWDIV","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":198792,"triangles":11752,"vertices":7782,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.35003129129032595,0,-0.16150229404933591],"max":[0.35003129129032595,0.8500000238418579,0.16149176878463936]},"sizeMeters":[0.7,0.85,0.323],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:26.064Z","updatedAt":"2026-09-08T04:18:26.178Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29550/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TensionWeightRackTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29550/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29550/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29550/v1/model.glb\" alt=\"Tension Weight Rack (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29550/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29550/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29551","slug":"textile-weaving-and-dye-workshop-cloth-inspection-fram-cdc8282f","title":"Cloth Inspection Frame (Textile Weaving and Dye Workshop)","summary":"Braced cloth inspection frame with upper and lower tension rollers and a woven striped indigo panel held flat between them.","description":"Braced cloth inspection frame with upper and lower tension rollers and a woven striped indigo panel held flat between them. Dimensions 1.60 × 1.70 × 0.52 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-cloth-inspection-fram-cdc8282f","cdnUrl":"https://cdn.3dassets.dev/assets/29551/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-cloth-inspection-fram-cdc8282f","thumbnailUrl":"https://cdn.3dassets.dev/assets/29551/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29551/v1/poster.webp","blurhash":"U4D+;=E400-2~W~V9Z9Z8w%M0WIv~9^%E803","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":228832,"triangles":13412,"vertices":9036,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.7999862891097462,0,-0.2614908524128859],"max":[0.7999862891097462,1.7000000476837158,0.2615039104361408]},"sizeMeters":[1.6,1.7,0.523],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:27.811Z","updatedAt":"2026-09-08T04:18:27.914Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29551/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ClothInspectionFrameTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29551/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29551/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29551/v1/model.glb\" alt=\"Cloth Inspection Frame (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29551/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29551/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29552","slug":"textile-weaving-and-dye-workshop-cutting-table-cbd841c5","title":"Cutting Table (Textile Weaving and Dye Workshop)","summary":"Large ash cutting table with thick plank top, lower stretchers, four pegged legs and subtly separated plank seams.","description":"Large ash cutting table with thick plank top, lower stretchers, four pegged legs and subtly separated plank seams. Dimensions 2.40 × 0.91 × 1.30 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-cutting-table-cbd841c5","cdnUrl":"https://cdn.3dassets.dev/assets/29552/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-cutting-table-cbd841c5","thumbnailUrl":"https://cdn.3dassets.dev/assets/29552/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29552/v1/poster.webp","blurhash":"UAECXi%M4oxa~o?aM|M}00xZafIU0LE2xtM{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":216192,"triangles":12792,"vertices":8536,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.2000000476837158,-0.000050385344958714384,-0.650044277669178],"max":[1.2000000476837158,0.9050590511282163,0.650044277669178]},"sizeMeters":[2.4,0.905,1.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:28.442Z","updatedAt":"2026-09-08T04:18:28.534Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29552/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CuttingTableTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29552/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29552/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29552/v1/model.glb\" alt=\"Cutting Table (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29552/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29552/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29553","slug":"textile-weaving-and-dye-workshop-tailor-shears-df91e35e","title":"Tailor Shears (Textile Weaving and Dye Workshop)","summary":"Heavy tailor shears with ergonomic oval finger loops, pivot screw and opposing tapered bevel-edged steel blades; fixed open on worktop.","description":"Heavy tailor shears with ergonomic oval finger loops, pivot screw and opposing tapered bevel-edged steel blades; fixed open on worktop. Dimensions 0.14 × 0.02 × 0.32 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-tailor-shears-df91e35e","cdnUrl":"https://cdn.3dassets.dev/assets/29553/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-tailor-shears-df91e35e","thumbnailUrl":"https://cdn.3dassets.dev/assets/29553/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29553/v1/poster.webp","blurhash":"U36H.X9E00x]?cD%RPx]00-q_Nf*00_3x^D$","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":26528,"triangles":1320,"vertices":1034,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.0689999982714653,-0.000005634038601067676,-0.15998826920986176],"max":[0.0689999982714653,0.01800563512638584,0.1599860386592401]},"sizeMeters":[0.138,0.018,0.32],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:28.639Z","updatedAt":"2026-09-08T04:18:28.744Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29553/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TailorShearsTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29553/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29553/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29553/v1/model.glb\" alt=\"Tailor Shears (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29553/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29553/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29554","slug":"textile-weaving-and-dye-workshop-rotary-cutter-5f1617d2","title":"Rotary Cutter (Textile Weaving and Dye Workshop)","summary":"Rotary fabric cutter with contoured polymer grip, exposed thin circular steel blade, finger guard and central axle pin.","description":"Rotary fabric cutter with contoured polymer grip, exposed thin circular steel blade, finger guard and central axle pin. Dimensions 0.07 × 0.05 × 0.21 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-rotary-cutter-5f1617d2","cdnUrl":"https://cdn.3dassets.dev/assets/29554/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-rotary-cutter-5f1617d2","thumbnailUrl":"https://cdn.3dassets.dev/assets/29554/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29554/v1/poster.webp","blurhash":"U35E:A9Ej[x]?v9FRjx]00%Mofax00~qogIA","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":26756,"triangles":1296,"vertices":1057,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.03400000184774399,0.0000045485616618871905,-0.10700000077486038],"max":[0.03400000184774399,0.05399545283904726,0.10700000077486038]},"sizeMeters":[0.068,0.054,0.214],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:28.729Z","updatedAt":"2026-09-08T04:18:28.835Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29554/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RotaryCutterTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29554/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29554/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29554/v1/model.glb\" alt=\"Rotary Cutter (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29554/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29554/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29555","slug":"textile-weaving-and-dye-workshop-cutting-mat-c026849b","title":"Cutting Mat (Textile Weaving and Dye Workshop)","summary":"Indigo cutting mat with low bevelled perimeter and modeled fine square measurement grid without printed numbers.","description":"Indigo cutting mat with low bevelled perimeter and modeled fine square measurement grid without printed numbers. Dimensions 0.90 × 0.01 × 0.65 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-cutting-mat-c026849b","cdnUrl":"https://cdn.3dassets.dev/assets/29555/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-cutting-mat-c026849b","thumbnailUrl":"https://cdn.3dassets.dev/assets/29555/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29555/v1/poster.webp","blurhash":"U45romtA8wofx]tSV[RP00WR%%W9McMvoetl","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":169672,"triangles":9600,"vertices":6879,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.44999998807907104,0.000012268651584131443,-0.3250129617566239],"max":[0.44999998807907104,0.014024918721895855,0.3250129617566239]},"sizeMeters":[0.9,0.014,0.65],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:30.467Z","updatedAt":"2026-09-08T04:18:30.571Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29555/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CuttingMatTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29555/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29555/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29555/v1/model.glb\" alt=\"Cutting Mat (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29555/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29555/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29556","slug":"textile-weaving-and-dye-workshop-measuring-tape-reel-a531b413","title":"Measuring Tape Reel (Textile Weaving and Dye Workshop)","summary":"Round tape reel with inset face ring, exposed flat measuring strip and steel end tab.","description":"Round tape reel with inset face ring, exposed flat measuring strip and steel end tab. Dimensions 0.23 × 0.03 × 0.09 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-measuring-tape-reel-a531b413","cdnUrl":"https://cdn.3dassets.dev/assets/29556/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-measuring-tape-reel-a531b413","thumbnailUrl":"https://cdn.3dassets.dev/assets/29556/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29556/v1/poster.webp","blurhash":"U9A^OI~q01M{-:?bofD%004o_2t7D%00M{_2","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":26292,"triangles":1304,"vertices":919,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.11550000309944153,-5.796400126805573e-7,-0.04500000271946192],"max":[0.115500368305565,0.03399936048007637,0.04500000271946192]},"sizeMeters":[0.231,0.034,0.09],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:31.038Z","updatedAt":"2026-09-08T04:18:31.148Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29556/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MeasuringTapeReelTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29556/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29556/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29556/v1/model.glb\" alt=\"Measuring Tape Reel (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29556/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29556/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29557","slug":"textile-weaving-and-dye-workshop-pattern-weight-set-96367467","title":"Pattern Weight Set (Textile Weaving and Dye Workshop)","summary":"Four independent low rounded pattern weights with broad flat bases and domed steel shoulders.","description":"Four independent low rounded pattern weights with broad flat bases and domed steel shoulders. Dimensions 0.15 × 0.04 × 0.15 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-pattern-weight-set-96367467","cdnUrl":"https://cdn.3dassets.dev/assets/29557/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-pattern-weight-set-96367467","thumbnailUrl":"https://cdn.3dassets.dev/assets/29557/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29557/v1/poster.webp","blurhash":"U49@YN_300M{?cxtRORk00D%_4Rj00IUtRad","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":34720,"triangles":1344,"vertices":1588,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.07750000059604645,0.000002837464327970496,-0.07750000059604645],"max":[0.07750000059604645,0.03799716131377681,0.07750000059604645]},"sizeMeters":[0.155,0.038,0.155],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:31.300Z","updatedAt":"2026-09-08T04:18:31.401Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29557/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PatternWeightSetTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29557/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29557/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29557/v1/model.glb\" alt=\"Pattern Weight Set (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29557/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29557/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29558","slug":"textile-weaving-and-dye-workshop-selvedge-clamp-dfcdbe17","title":"Selvedge Clamp (Textile Weaving and Dye Workshop)","summary":"C-shaped selvedge clamp with fixed jaws, vertical screw, rubber pressure pad and transverse tommy bar.","description":"C-shaped selvedge clamp with fixed jaws, vertical screw, rubber pressure pad and transverse tommy bar. Dimensions 0.15 × 0.12 × 0.04 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-selvedge-clamp-dfcdbe17","cdnUrl":"https://cdn.3dassets.dev/assets/29558/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-selvedge-clamp-dfcdbe17","thumbnailUrl":"https://cdn.3dassets.dev/assets/29558/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29558/v1/poster.webp","blurhash":"U3ATvK-p00t7s:?bg3D$00IU_4tR00x]-;9F","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":27152,"triangles":1332,"vertices":1069,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.07500000298023224,0.000001857655509023004,-0.022497483116937857],"max":[0.07500000298023224,0.11599813900663086,0.022497483116937857]},"sizeMeters":[0.15,0.116,0.045],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:31.420Z","updatedAt":"2026-09-08T04:18:31.536Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29558/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SelvedgeClampTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29558/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29558/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29558/v1/model.glb\" alt=\"Selvedge Clamp (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29558/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29558/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29559","slug":"textile-weaving-and-dye-workshop-seam-roller-51b9b6fe","title":"Seam Roller (Textile Weaving and Dye Workshop)","summary":"Hand seam roller with a waisted ash grip, steel stem and broad cylindrical wooden roller on visible axle.","description":"Hand seam roller with a waisted ash grip, steel stem and broad cylindrical wooden roller on visible axle. Dimensions 0.09 × 0.23 × 0.07 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-seam-roller-51b9b6fe","cdnUrl":"https://cdn.3dassets.dev/assets/29559/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-seam-roller-51b9b6fe","thumbnailUrl":"https://cdn.3dassets.dev/assets/29559/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29559/v1/poster.webp","blurhash":"UBB3f=-o004:~Vxt9aIpbFs:s:RkR%oeWDM}","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":14872,"triangles":544,"vertices":600,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.04249435295003099,0,-0.034995955370418184],"max":[0.04249435295003099,0.22499999403953552,0.034995955370418184]},"sizeMeters":[0.085,0.225,0.07],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:33.109Z","updatedAt":"2026-09-08T04:18:33.211Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29559/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SeamRollerTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29559/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29559/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29559/v1/model.glb\" alt=\"Seam Roller (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29559/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29559/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29560","slug":"textile-weaving-and-dye-workshop-fabric-bolt-cradle-14d3ff63","title":"Fabric Bolt Cradle (Textile Weaving and Dye Workshop)","summary":"Trestle bolt cradle with inclined supports holding an indigo fabric roll around a visible wooden core.","description":"Trestle bolt cradle with inclined supports holding an indigo fabric roll around a visible wooden core. Dimensions 1.30 × 0.79 × 0.62 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-fabric-bolt-cradle-14d3ff63","cdnUrl":"https://cdn.3dassets.dev/assets/29560/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-fabric-bolt-cradle-14d3ff63","thumbnailUrl":"https://cdn.3dassets.dev/assets/29560/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29560/v1/poster.webp","blurhash":"U6C?ilx]vw?D0t~q==9F009h9$$d]^9uEUob","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":143476,"triangles":8504,"vertices":5596,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.6499999761581421,-0.00002124954063786877,-0.31145573811262284],"max":[0.6499999761581421,0.7900091743014114,0.3114701141100922]},"sizeMeters":[1.3,0.79,0.623],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:33.794Z","updatedAt":"2026-09-08T04:18:33.895Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29560/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FabricBoltCradleTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29560/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29560/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29560/v1/model.glb\" alt=\"Fabric Bolt Cradle (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29560/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29560/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29561","slug":"textile-weaving-and-dye-workshop-finished-cloth-shelf-76f309c6","title":"Finished Cloth Shelf (Textile Weaving and Dye Workshop)","summary":"Four-shelf ash storage unit with nine folded cloth stacks, full back, side uprights and visible shelf thickness.","description":"Four-shelf ash storage unit with nine folded cloth stacks, full back, side uprights and visible shelf thickness. Dimensions 1.50 × 1.75 × 0.47 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-finished-cloth-shelf-76f309c6","cdnUrl":"https://cdn.3dassets.dev/assets/29561/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-finished-cloth-shelf-76f309c6","thumbnailUrl":"https://cdn.3dassets.dev/assets/29561/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29561/v1/poster.webp","blurhash":"U5EyJC9S00Vq~V?G4:9a00?9%iIq^+?GIo4:","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":206028,"triangles":12192,"vertices":8072,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.7500267036957915,0,-0.23647863054646054],"max":[0.7500267036957915,1.75,0.23652297868007238]},"sizeMeters":[1.5,1.75,0.473],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:34.016Z","updatedAt":"2026-09-08T04:18:34.120Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29561/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FinishedClothShelfTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29561/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29561/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29561/v1/model.glb\" alt=\"Finished Cloth Shelf (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29561/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29561/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29562","slug":"textile-weaving-and-dye-workshop-dye-vat-09bb67ba","title":"Dye Vat (Textile Weaving and Dye Workshop)","summary":"Thick enamel dye vat with open steel rim, recessed static indigo bath, tubular handles and drain valve.","description":"Thick enamel dye vat with open steel rim, recessed static indigo bath, tubular handles and drain valve. Dimensions 1.09 × 0.90 × 1.09 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-dye-vat-09bb67ba","cdnUrl":"https://cdn.3dassets.dev/assets/29562/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-dye-vat-09bb67ba","thumbnailUrl":"https://cdn.3dassets.dev/assets/29562/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29562/v1/poster.webp","blurhash":"UAF$U_RP00R*_NR*9Zxt00Rj_3%MV?sCV@R*","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":51192,"triangles":2716,"vertices":1954,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.5426679849624634,0.00002379365776750131,-0.5454999953508377],"max":[0.5426679849624634,0.8999761825003746,0.5455032679877254]},"sizeMeters":[1.085,0.9,1.091],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:34.047Z","updatedAt":"2026-09-08T04:18:34.151Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29562/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DyeVatTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29562/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29562/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29562/v1/model.glb\" alt=\"Dye Vat (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29562/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29562/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29563","slug":"textile-weaving-and-dye-workshop-vat-lifting-basket-9a52840b","title":"Vat Lifting Basket (Textile Weaving and Dye Workshop)","summary":"Open steel lifting basket with circular base, twenty-four drainable cage bars, four rings and raised handles.","description":"Open steel lifting basket with circular base, twenty-four drainable cage bars, four rings and raised handles. Dimensions 0.76 × 0.89 × 0.74 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-vat-lifting-basket-9a52840b","cdnUrl":"https://cdn.3dassets.dev/assets/29563/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-vat-lifting-basket-9a52840b","thumbnailUrl":"https://cdn.3dassets.dev/assets/29563/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29563/v1/poster.webp","blurhash":"U4AmxY%M00V@DiRj%gt800V[_NofR*ozWAM{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":65024,"triangles":3792,"vertices":2564,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.3810283461268502,0,-0.37198962575858074],"max":[0.3810283461268502,0.8920835852622986,0.37198962575858074]},"sizeMeters":[0.762,0.892,0.744],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:35.733Z","updatedAt":"2026-09-08T04:18:35.826Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29563/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function VatLiftingBasketTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29563/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29563/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29563/v1/model.glb\" alt=\"Vat Lifting Basket (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29563/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29563/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29564","slug":"textile-weaving-and-dye-workshop-dye-stirring-paddle-3755d2cc","title":"Dye Stirring Paddle (Textile Weaving and Dye Workshop)","summary":"Ash dye paddle with broad rounded blade, narrow shaft and hanging loop; upright stored pose.","description":"Ash dye paddle with broad rounded blade, narrow shaft and hanging loop; upright stored pose. Dimensions 0.16 × 1.33 × 0.05 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-dye-stirring-paddle-3755d2cc","cdnUrl":"https://cdn.3dassets.dev/assets/29564/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-dye-stirring-paddle-3755d2cc","thumbnailUrl":"https://cdn.3dassets.dev/assets/29564/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29564/v1/poster.webp","blurhash":"U18D,^?a000001NF~V=#aSj]orWU-WjZInX8","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":22620,"triangles":1148,"vertices":906,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.07996386458949639,0,-0.02500894145562185],"max":[0.07996386458949639,1.3259999752044678,0.02500894145562185]},"sizeMeters":[0.16,1.326,0.05],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:36.473Z","updatedAt":"2026-09-08T04:18:36.565Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29564/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DyeStirringPaddleTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29564/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29564/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29564/v1/model.glb\" alt=\"Dye Stirring Paddle (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29564/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29564/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29565","slug":"textile-weaving-and-dye-workshop-dye-measuring-scale-b58503bf","title":"Dye Measuring Scale (Textile Weaving and Dye Workshop)","summary":"Dye scale with raised steel plate, inset display and two control buttons; blank static face.","description":"Dye scale with raised steel plate, inset display and two control buttons; blank static face. Dimensions 0.32 × 0.09 × 0.28 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-dye-measuring-scale-b58503bf","cdnUrl":"https://cdn.3dassets.dev/assets/29565/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-dye-measuring-scale-b58503bf","thumbnailUrl":"https://cdn.3dassets.dev/assets/29565/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29565/v1/poster.webp","blurhash":"U4Dvi-~p00%gIv%L-.NH009Fx^9F?8D*4pn~","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":22508,"triangles":1176,"vertices":1014,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.1599999964237213,-9.92317197086312e-7,-0.13999938650058028],"max":[0.1599999964237213,0.09000159933581908,0.13999938650058028]},"sizeMeters":[0.32,0.09,0.28],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:36.650Z","updatedAt":"2026-09-08T04:18:36.762Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29565/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DyeMeasuringScaleTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29565/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29565/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29565/v1/model.glb\" alt=\"Dye Measuring Scale (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29565/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29565/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29566","slug":"textile-weaving-and-dye-workshop-pigment-jar-cabinet-1deebdd1","title":"Pigment Jar Cabinet (Textile Weaving and Dye Workshop)","summary":"Ash cabinet with closed back, four shelves and twelve pigment jars with steel closures.","description":"Ash cabinet with closed back, four shelves and twelve pigment jars with steel closures. Dimensions 0.90 × 1.60 × 0.42 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-pigment-jar-cabinet-1deebdd1","cdnUrl":"https://cdn.3dassets.dev/assets/29566/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-pigment-jar-cabinet-1deebdd1","thumbnailUrl":"https://cdn.3dassets.dev/assets/29566/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29566/v1/poster.webp","blurhash":"U6E2,v~l00IB~o%K9ZE202IFaQSe-:s;D*Io","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":394088,"triangles":26004,"vertices":20272,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.4499649104191022,0,-0.21153052244383733],"max":[0.4499649104191022,1.600000023841858,0.211478308128571]},"sizeMeters":[0.9,1.6,0.423],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:36.777Z","updatedAt":"2026-09-08T04:18:36.889Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29566/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PigmentJarCabinetTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29566/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29566/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29566/v1/model.glb\" alt=\"Pigment Jar Cabinet (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29566/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29566/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29567","slug":"textile-weaving-and-dye-workshop-rinse-trough-f71ead0b","title":"Rinse Trough (Textile Weaving and Dye Workshop)","summary":"Open enamel rinse trough with thick inner walls and bottom, rounded steel edge rails, drain and four braced legs.","description":"Open enamel rinse trough with thick inner walls and bottom, rounded steel edge rails, drain and four braced legs. Dimensions 1.54 × 1.06 × 0.66 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-rinse-trough-f71ead0b","cdnUrl":"https://cdn.3dassets.dev/assets/29567/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-rinse-trough-f71ead0b","thumbnailUrl":"https://cdn.3dassets.dev/assets/29567/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29567/v1/poster.webp","blurhash":"URF6C3t79Fs;~q%MM{Rj9Fxut7Rj4oofofRj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":170980,"triangles":10292,"vertices":6703,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.7680000066757202,-5.391485418115849e-7,-0.3279709492298152],"max":[0.7680000066757202,1.0580005076772894,0.3279709492298152]},"sizeMeters":[1.536,1.058,0.656],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:38.399Z","updatedAt":"2026-09-08T04:18:38.533Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29567/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RinseTroughTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29567/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29567/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29567/v1/model.glb\" alt=\"Rinse Trough (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29567/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29567/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29568","slug":"textile-weaving-and-dye-workshop-wringer-3128c3eb","title":"Wringer (Textile Weaving and Dye Workshop)","summary":"Paired wringer rollers with compression screws, crank and cloth feeding through the nip; fixed pose.","description":"Paired wringer rollers with compression screws, crank and cloth feeding through the nip; fixed pose. Dimensions 1.19 × 1.12 × 0.81 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-wringer-3128c3eb","cdnUrl":"https://cdn.3dassets.dev/assets/29568/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-wringer-3128c3eb","thumbnailUrl":"https://cdn.3dassets.dev/assets/29568/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29568/v1/poster.webp","blurhash":"UBAAj$tS00n#_NtR9FM_D$odt8IVMxoJxuRk","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":182240,"triangles":10716,"vertices":7140,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.5969696793377001,0,-0.40248202688171864],"max":[0.597000002861023,1.11899995803833,0.4025235001140349]},"sizeMeters":[1.194,1.119,0.805],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:39.117Z","updatedAt":"2026-09-08T04:18:39.250Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29568/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WringerTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29568/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29568/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29568/v1/model.glb\" alt=\"Wringer (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29568/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29568/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29569","slug":"textile-weaving-and-dye-workshop-drying-frame-402a0d83","title":"Drying Frame (Textile Weaving and Dye Workshop)","summary":"Braced drying frame with three crossrails and two striped indigo lengths draped over the upper rail.","description":"Braced drying frame with three crossrails and two striped indigo lengths draped over the upper rail. Dimensions 1.80 × 1.95 × 0.72 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-drying-frame-402a0d83","cdnUrl":"https://cdn.3dassets.dev/assets/29569/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-drying-frame-402a0d83","thumbnailUrl":"https://cdn.3dassets.dev/assets/29569/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29569/v1/poster.webp","blurhash":"U6D+rMB:00os?b?GIUD*9W=J5tRR}?-nE458","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":264548,"triangles":15528,"vertices":10479,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.9000160442257354,0,-0.36145499470971215],"max":[0.9000160442257354,1.9500000476837158,0.36154224321136547]},"sizeMeters":[1.8,1.95,0.723],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:39.373Z","updatedAt":"2026-09-08T04:18:39.478Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29569/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DryingFrameTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29569/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29569/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29569/v1/model.glb\" alt=\"Drying Frame (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29569/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29569/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29570","slug":"textile-weaving-and-dye-workshop-steam-press-d9416e12","title":"Steam Press (Textile Weaving and Dye Workshop)","summary":"Textile press with padded lower platen, raised rounded upper platen, hinge arms, insulated handle and treadle; fixed open.","description":"Textile press with padded lower platen, raised rounded upper platen, hinge arms, insulated handle and treadle; fixed open. Dimensions 1.15 × 1.22 × 0.82 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-steam-press-d9416e12","cdnUrl":"https://cdn.3dassets.dev/assets/29570/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-steam-press-d9416e12","thumbnailUrl":"https://cdn.3dassets.dev/assets/29570/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29570/v1/poster.webp","blurhash":"UID]rE%M00xu~pof9ZRj00M{xaIV4nj[-:a#","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":160956,"triangles":9568,"vertices":6245,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.574999988079071,0.000013913019614397726,-0.4106355365958638],"max":[0.574999988079071,1.218029854370727,0.41064388583728806]},"sizeMeters":[1.15,1.218,0.821],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:39.446Z","updatedAt":"2026-09-08T04:18:39.540Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29570/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SteamPressTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29570/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29570/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29570/v1/model.glb\" alt=\"Steam Press (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29570/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29570/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29571","slug":"textile-weaving-and-dye-workshop-ironing-board-3f61a52d","title":"Ironing Board (Textile Weaving and Dye Workshop)","summary":"Contoured padded ironing board with rounded nose, thick top and crossed legs with broad feet.","description":"Contoured padded ironing board with rounded nose, thick top and crossed legs with broad feet. Dimensions 1.35 × 0.90 × 0.56 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-ironing-board-3f61a52d","cdnUrl":"https://cdn.3dassets.dev/assets/29571/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-ironing-board-3f61a52d","thumbnailUrl":"https://cdn.3dassets.dev/assets/29571/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29571/v1/poster.webp","blurhash":"UVDJS4xu9Ft7~q%MM{Rjt6%Mt7M{IUxuxtM{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":12592,"triangles":464,"vertices":435,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.6760431528091431,0.00003280614331879761,-0.2800332625311652],"max":[0.6760431528091431,0.8949673890141611,0.2800332625311652]},"sizeMeters":[1.352,0.895,0.56],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:41.124Z","updatedAt":"2026-09-08T04:18:41.221Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29571/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function IroningBoardTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29571/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29571/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29571/v1/model.glb\" alt=\"Ironing Board (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29571/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29571/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29572","slug":"textile-weaving-and-dye-workshop-steam-generator-511c90bd","title":"Steam Generator (Textile Weaving and Dye Workshop)","summary":"Rounded enamel steam reservoir with gauge rim, cap, controls and resting flexible hose; no steam simulation.","description":"Rounded enamel steam reservoir with gauge rim, cap, controls and resting flexible hose; no steam simulation. Dimensions 0.64 × 0.73 × 0.52 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-steam-generator-511c90bd","cdnUrl":"https://cdn.3dassets.dev/assets/29572/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-steam-generator-511c90bd","thumbnailUrl":"https://cdn.3dassets.dev/assets/29572/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29572/v1/poster.webp","blurhash":"UFC6+5-;009F~qxt9FM{00M|_2%L9FM|%Lxu","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":41756,"triangles":2232,"vertices":1589,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.3224533960251848,0,-0.2597758115808164],"max":[0.3224533960251848,0.7300000190734863,0.2598045824717663]},"sizeMeters":[0.645,0.73,0.52],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:41.924Z","updatedAt":"2026-09-08T04:18:42.083Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29572/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SteamGeneratorTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29572/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29572/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29572/v1/model.glb\" alt=\"Steam Generator (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29572/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29572/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29573","slug":"textile-weaving-and-dye-workshop-wash-sink-4487a28a","title":"Wash Sink (Textile Weaving and Dye Workshop)","summary":"Deep enamel sink with inner basin, trap outlet, arched faucet and two crossbar taps.","description":"Deep enamel sink with inner basin, trap outlet, arched faucet and two crossbar taps. Dimensions 0.90 × 1.40 × 0.66 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-wash-sink-4487a28a","cdnUrl":"https://cdn.3dassets.dev/assets/29573/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-wash-sink-4487a28a","thumbnailUrl":"https://cdn.3dassets.dev/assets/29573/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29573/v1/poster.webp","blurhash":"U8B|Nf%M00Rj~pt69ZkC00M{~qxu00IV?axu","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":188624,"triangles":11252,"vertices":7444,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.4479706033227077,0,-0.32801881347856726],"max":[0.4479706033227077,1.3965039253234863,0.32801881347856726]},"sizeMeters":[0.896,1.397,0.656],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:42.098Z","updatedAt":"2026-09-08T04:18:42.250Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29573/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WashSinkTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29573/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29573/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29573/v1/model.glb\" alt=\"Wash Sink (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29573/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29573/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29574","slug":"textile-weaving-and-dye-workshop-drain-grate-186c04df","title":"Drain Grate (Textile Weaving and Dye Workshop)","summary":"Recessed drain frame with fifteen steel bars and dark trough beneath the openings.","description":"Recessed drain frame with fifteen steel bars and dark trough beneath the openings. Dimensions 0.80 × 0.06 × 0.30 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-drain-grate-186c04df","cdnUrl":"https://cdn.3dassets.dev/assets/29574/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-drain-grate-186c04df","thumbnailUrl":"https://cdn.3dassets.dev/assets/29574/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29574/v1/poster.webp","blurhash":"U37UPD%M00xu~q?bRjIU00x]~qD%0000xv-=","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":85592,"triangles":4800,"vertices":3422,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.4000000059604645,0.000018997586167381758,-0.1500167874156361],"max":[0.4000000059604645,0.054995483141066746,0.1500167874156361]},"sizeMeters":[0.8,0.055,0.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:42.285Z","updatedAt":"2026-09-08T04:18:42.424Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29574/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DrainGrateTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29574/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29574/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29574/v1/model.glb\" alt=\"Drain Grate (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29574/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29574/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29575","slug":"textile-weaving-and-dye-workshop-apron-locker-bdee3117","title":"Apron Locker (Textile Weaving and Dye Workshop)","summary":"Open ash locker with upper shelf, hooks and two hanging indigo aprons with bibs and pockets.","description":"Open ash locker with upper shelf, hooks and two hanging indigo aprons with bibs and pockets. Dimensions 0.70 × 1.80 × 0.50 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-apron-locker-bdee3117","cdnUrl":"https://cdn.3dassets.dev/assets/29575/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-apron-locker-bdee3117","thumbnailUrl":"https://cdn.3dassets.dev/assets/29575/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29575/v1/poster.webp","blurhash":"U5C$.a4n00~o?IobE1WGD$-;S69F^%t59aM~","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":176104,"triangles":10488,"vertices":6894,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.3499526870397317,0,-0.2514761901590849],"max":[0.3499526870397317,1.7999999523162842,0.2515299419595371]},"sizeMeters":[0.7,1.8,0.503],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:43.804Z","updatedAt":"2026-09-08T04:18:43.898Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29575/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ApronLockerTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29575/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29575/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29575/v1/model.glb\" alt=\"Apron Locker (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29575/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29575/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29576","slug":"textile-weaving-and-dye-workshop-work-stool-1c9642c6","title":"Work Stool (Textile Weaving and Dye Workshop)","summary":"Ash stool with bevelled circular seat, four splayed legs and ring footrest.","description":"Ash stool with bevelled circular seat, four splayed legs and ring footrest. Dimensions 0.46 × 0.50 × 0.46 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-work-stool-1c9642c6","cdnUrl":"https://cdn.3dassets.dev/assets/29576/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-work-stool-1c9642c6","thumbnailUrl":"https://cdn.3dassets.dev/assets/29576/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29576/v1/poster.webp","blurhash":"UEECL9%L00Rj~Woe9ZWCE2V[j=fiogbHxaof","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":17000,"triangles":896,"vertices":651,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.22999689223714156,0,-0.22999689223714156],"max":[0.22999689223714156,0.5033769607543945,0.22999689223714156]},"sizeMeters":[0.46,0.503,0.46],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:44.713Z","updatedAt":"2026-09-08T04:18:44.809Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29576/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WorkStoolTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29576/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29576/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29576/v1/model.glb\" alt=\"Work Stool (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29576/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29576/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29577","slug":"textile-weaving-and-dye-workshop-task-lamp-d9fff738","title":"Task Lamp (Textile Weaving and Dye Workshop)","summary":"Task lamp with weighted foot, hinge, angled arms, hollow enamel shade and recessed bulb; unlit and fixed.","description":"Task lamp with weighted foot, hinge, angled arms, hollow enamel shade and recessed bulb; unlit and fixed. Dimensions 0.42 × 0.62 × 0.28 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-task-lamp-d9fff738","cdnUrl":"https://cdn.3dassets.dev/assets/29577/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-task-lamp-d9fff738","thumbnailUrl":"https://cdn.3dassets.dev/assets/29577/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29577/v1/poster.webp","blurhash":"UC8|^kM|00%M~qRj4o%MIUj@xuj]01t7?bM|","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":43952,"triangles":2320,"vertices":1647,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.20999999530613422,0.0000032046582980355814,-0.14000000059604645],"max":[0.20999999716877937,0.620010678796153,0.14000000059604645]},"sizeMeters":[0.42,0.62,0.28],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:44.857Z","updatedAt":"2026-09-08T04:18:44.976Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29577/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TaskLampTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29577/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29577/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29577/v1/model.glb\" alt=\"Task Lamp (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29577/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29577/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29578","slug":"textile-weaving-and-dye-workshop-order-desk-42886a26","title":"Order Desk (Textile Weaving and Dye Workshop)","summary":"Ash order desk with plank top, suspended drawer, separate front and steel pull; drawer closed.","description":"Ash order desk with plank top, suspended drawer, separate front and steel pull; drawer closed. Dimensions 1.40 × 0.79 × 0.70 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-order-desk-42886a26","cdnUrl":"https://cdn.3dassets.dev/assets/29578/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-order-desk-42886a26","thumbnailUrl":"https://cdn.3dassets.dev/assets/29578/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29578/v1/poster.webp","blurhash":"UGFYV;%24p%1~V-.M{Io01t6oxM|IVbcofRj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":190812,"triangles":11340,"vertices":7493,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.699999988079071,-0.00004484006929766915,-0.3525533990460232],"max":[0.699999988079071,0.7849984352247837,0.3525038008049831]},"sizeMeters":[1.4,0.785,0.705],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:45.011Z","updatedAt":"2026-09-08T04:18:45.125Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29578/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OrderDeskTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29578/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29578/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29578/v1/model.glb\" alt=\"Order Desk (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29578/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29578/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29579","slug":"textile-weaving-and-dye-workshop-sample-swatch-book-5192a82f","title":"Sample Swatch Book (Textile Weaving and Dye Workshop)","summary":"Six layered cloth swatches with ash backing, binder rings and staggered fabric edges.","description":"Six layered cloth swatches with ash backing, binder rings and staggered fabric edges. Dimensions 0.24 × 0.08 × 0.28 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-sample-swatch-book-5192a82f","cdnUrl":"https://cdn.3dassets.dev/assets/29579/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-sample-swatch-book-5192a82f","thumbnailUrl":"https://cdn.3dassets.dev/assets/29579/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29579/v1/poster.webp","blurhash":"UD9@bax]I8WB9hNGxVs:00RjOHR+~3%2NLW.","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":39944,"triangles":3124,"vertices":2098,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.12050283919627292,0.000002991186470411092,-0.14000000059604645],"max":[0.12049679229100833,0.08299530257845544,0.14000000059604645]},"sizeMeters":[0.241,0.083,0.28],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:46.451Z","updatedAt":"2026-09-08T04:18:46.558Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29579/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SampleSwatchBookTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29579/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29579/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29579/v1/model.glb\" alt=\"Sample Swatch Book (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29579/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29579/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29580","slug":"textile-weaving-and-dye-workshop-roofed-textile-worksh-efe6d9a0","title":"Roofed Textile Workshop (Textile Weaving and Dye Workshop)","summary":"Enclosed eight-metre dry studio with complete roof, broad entrance with four folded door leaves and attached six-metre covered wet bay on four posts. Static rooflights and fixtures; broad entrance reveals the main loom.","description":"Enclosed eight-metre dry studio with complete roof, broad entrance with four folded door leaves and attached six-metre covered wet bay on four posts. Static rooflights and fixtures; broad entrance reveals the main loom. Dimensions 14.40 × 4.83 × 9.65 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-roofed-textile-worksh-efe6d9a0","cdnUrl":"https://cdn.3dassets.dev/assets/29580/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-roofed-textile-worksh-efe6d9a0","thumbnailUrl":"https://cdn.3dassets.dev/assets/29580/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29580/v1/poster.webp","blurhash":"UA9tDZ~VMwM{o#oft6t6004:S5t7sRV@D*IV","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":241320,"triangles":13992,"vertices":9906,"meshes":7,"materials":7,"textures":0,"animations":[],"boundingBox":{"min":[-7.199999809265137,0.0003695028558090563,-4.824981577632796],"max":[7.199999809265137,4.8303664792215955,4.8250586527633095]},"sizeMeters":[14.4,4.83,9.65],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:47.420Z","updatedAt":"2026-09-08T04:18:47.525Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29580/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RoofedTextileWorkshopTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29580/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29580/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29580/v1/model.glb\" alt=\"Roofed Textile Workshop (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29580/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29580/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29581","slug":"textile-weaving-and-dye-workshop-courtyard-service-bas-1878f4b6","title":"Courtyard Service Base (Textile Weaving and Dye Workshop)","summary":"Thick paved service base with shallow stone joints supporting the studio and attached wet bay.","description":"Thick paved service base with shallow stone joints supporting the studio and attached wet bay. Dimensions 15.00 × 0.18 × 12.00 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Ash timber, indigo textiles, cream enamel and steel fittings. Static artisan equipment; no simulated machinery or fluids. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-courtyard-service-bas-1878f4b6","cdnUrl":"https://cdn.3dassets.dev/assets/29581/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-courtyard-service-bas-1878f4b6","thumbnailUrl":"https://cdn.3dassets.dev/assets/29581/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29581/v1/poster.webp","blurhash":"U5AK8X%M00bF%MxuWCRQ00M{~qV[DjIUjYxu","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":147428,"triangles":8400,"vertices":5938,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-7.5,0.0002755857168469378,-6.000320444349498],"max":[7.5,0.18380669953935544,6.000320444349498]},"sizeMeters":[15,0.184,12.001],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:48.061Z","updatedAt":"2026-09-08T04:18:48.158Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29581/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CourtyardServiceBaseTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29581/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29581/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29581/v1/model.glb\" alt=\"Courtyard Service Base (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29581/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29581/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"29582","slug":"textile-weaving-and-dye-workshop-ash-and-bf1e6ddd-starter-scene","title":"Ash and Indigo Textile Workshop (Textile Weaving and Dye Workshop)","summary":"Roofed dry weaving studio adjoining a covered dye, rinse and finishing bay, with stocked cutting and winding stations and a clear service path.","description":"Roofed dry weaving studio adjoining a covered dye, rinse and finishing bay, with stocked cutting and winding stations and a clear service path.","status":"published","url":"https://3dassets.dev/assets/textile-weaving-and-dye-workshop-ash-and-bf1e6ddd-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/29582/v1/model.glb","downloadUrl":"https://3dassets.dev/download/textile-weaving-and-dye-workshop-ash-and-bf1e6ddd-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/29582/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/29582/v1/poster.webp","blurhash":"U9AmrD-;9FRj9Ft7%Mae00IUW=s:~pM{E1WW","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":8168428,"triangles":505988,"vertices":345692,"meshes":147,"materials":9,"textures":0,"animations":[],"boundingBox":{"min":[-7.5,0.0002755857168469378,-6.000320444349498],"max":[7.5,5.014366479221596,6.000320444349498]},"sizeMeters":[15,5.014,12.001],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T04:18:49.830Z","updatedAt":"2026-09-08T04:18:49.924Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/29582/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AshAndIndigoTextileWorkshopTextileWeavingAndDyeWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/29582/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/29582/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/29582/v1/model.glb\" alt=\"Ash and Indigo Textile Workshop (Textile Weaving and Dye Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/29582/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/29582/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}],"demo":{"slug":"textile-weaving-and-dye-workshop","title":"Textile weaving and dye workshop","url":"https://3dassets.dev/demos/textile-weaving-and-dye-workshop"}}}