# Work in progress garment rail (Dry Cleaners and Alterations Shop)

A 1.42 m wheeled rail carrying five part finished alterations, uncovered so the pinned hems show, each with a blank job tag hanging beside it.

- **URL:** https://3dassets.dev/assets/dry-cleaners-and-alterations-shop-work-in-progress-gar-82340341
- **GLB (direct, CORS *, immutable):** https://cdn.3dassets.dev/assets/34978/v1/model.glb
- **Download (counted):** https://3dassets.dev/download/dry-cleaners-and-alterations-shop-work-in-progress-gar-82340341
- **Licence:** CC0 1.0 Universal: https://creativecommons.org/publicdomain/zero/1.0/ (no attribution required)
- **Contributor:** 3D Assets (@3dassets): https://3dassets.dev/u/3dassets
- **Category:** Props & Furniture
- **Tags:** Modern, Realistic, Interior
- **Geometry:** 2,740 triangles, 5,921 vertices, 6 meshes, 6 materials, 0 textures
- **Size (m):** 1.32 × 1.681 × 0.517
- **Animations:** none
- **File size:** 0.11 MB
- **Downloads:** 0
- **AI used (contributor-reported):** yes; model: Claude Opus 5

## About

A 1.42 m wheeled rail carrying five part finished alterations, uncovered so the pinned hems show, each with a blank job tag hanging beside it. Dimensions 1.32 by 1.68 by 0.52 m (X by Y by Z). Metre units, +Y up, customer or operator side toward +Z, resting on y=0. The castors are modelled into the base frame and are static on this piece. The garments, their polythene covers and the cloth on the bolts are modelled in one fixed pose: a draped or folded length is not reachable with one rigid node transform. Every ticket, tariff strip and label is blank: no shop name, machine maker or trade dress anywhere in this pack. Static geometry; no rig, collision or navigation data.

## Use with three.js

```js
import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'

const loader = new GLTFLoader()
loader.load('https://cdn.3dassets.dev/assets/34978/v1/model.glb', (gltf) => {
  scene.add(gltf.scene)
})
```

## React Three Fiber

```jsx
import { useGLTF } from '@react-three/drei'

export function WorkInProgressGarmentRailDryCleanersAndAlterationsShop(props) {
  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34978/v1/model.glb')
  return <primitive object={scene} {...props} />
}
useGLTF.preload('https://cdn.3dassets.dev/assets/34978/v1/model.glb')
```

## <model-viewer>

```html
<model-viewer src="https://cdn.3dassets.dev/assets/34978/v1/model.glb" alt="Work in progress garment rail (Dry Cleaners and Alterations Shop)" camera-controls auto-rotate></model-viewer>
```

## Blender

```python
# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.
import bpy
bpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/34978/v1/model.glb
# Metres and +Y up are converted to Blender's Z-up scene automatically.
```

## Godot

```gdscript
# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.
var packed := load("res://models/model.glb") as PackedScene
var model := packed.instantiate()
add_child(model)
```

## Unity

```csharp
// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,
// or load it at runtime straight from the CDN:
using GLTFast;
var gltf = new GltfImport();
if (await gltf.Load("https://cdn.3dassets.dev/assets/34978/v1/model.glb")) await gltf.InstantiateMainSceneAsync(transform);
```

---
JSON: https://3dassets.dev/api/v1/assets/dry-cleaners-and-alterations-shop-work-in-progress-gar-82340341 · Loads with a plain GLTFLoader: no Draco/KTX2 loaders needed.