Tug ship
A low-poly orbital shipyard tug: an octagonal plated hull with a bow docking collar, two hinged grapple arms with claws, a cockpit bridge, side propellant tanks and a rear engine block, parked on landing skids. Its arms open and close in a seamless 8-second loop while the sensor dish swivels and the engines gimbal.

Left rail: colours and the 4 knobs the agent wrote into this model — they rebuild the geometry and go into your download. Right rail: looks for the viewer. Drag to orbit, scroll to zoom.
- Triangles
- 3,184
- Vertices
- 9,552
- Meshes · materials
- 57 · 57
- Size (W × H × D)
- 6.9 m × 6.9 m × 17 m
- File
- GLB · 338 KB
- Animation
- scene-motion · 8.0s
- Style
- Low-poly
- Collection
- Orbital Shipyard
Palette · named materials
- body#f4f1ec
- base#d7cebc
- accent#ed7e1d
- heat#af590e
- glow#eea668
- glass#1b447e
- trim#b9bfc6
- frame#7d828c
- rubber#1b1b22
Use it
import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";
const gltf = await new GLTFLoader().loadAsync(
"https://assets.stoicsoft.com/1designtool/3d/models/orbital-shipyard-tug-ship/210f02b6a9/model.glb"
);
scene.add(gltf.scene); // metres, +Y up, front faces +Z
const mixer = new THREE.AnimationMixer(gltf.scene);
gltf.animations.forEach((clip) => mixer.clipAction(clip).play());
// in your loop: mixer.update(delta)How it was made
The brief given to 1DesignTool's “3D object” template:
Tug ship for the Orbital Shipyard kit. Design it as one clear asset at believable real-world scale for that setting (state the size in metres in meta.notes), with its main parts modelled and named, readable at thumbnail size and from every orbit angle. It moves: author a seamless baked loop (2–12 s) with every pivot exactly at its hinge, axle or swivel, and keep the base still. This is one part of the Orbital Shipyard kit (Low-poly style, flat-lowpoly direction): Ships under construction in open space. Use ONLY the kit palette, by name: white #f4f1ec, orange #ed7e1d, deep space blue #1b447e, silver #b9bfc6, white dark #d7cebc, orange dark #af590e, white light #f9f8f6, orange light #eea668, soot black #1b1b22, warm white #f2ede2, mid grey #7d828c, dark wood #3d2a1c. Every material's `name` must be exactly the palette colour it uses — the GLB carries these names so the kit recolours as one; an unnamed material fails delivery. Kit knob: expose a param `shipCompletionStage` (0–1, default 0.5) for the kit's "Ship completion stage" setting wherever it makes sense on this part, and keep that id.
- Agent: Claude Code · Claude Opus 5.5 in 1DesignTool
- Generation: 4.17M tokens (95% cached) · ≈ $3.33 at API prices · 5-hour plan +11%
- Direction: Low-poly · family vehicles
- three-check PASS · glb-lint PASS
Named parts · 18
- Tug ship
- Hull frame
- Hull plating
- Bow docking collar
- Cockpit bridge
- Beacon
- Left grapple arm
- Left claw
- Right grapple arm
- Right claw
- Propellant tanks
- RCS quads
- Engine block
- Engine nozzle 1
- Engine nozzle 2
- Sensor mast
- Sensor dish
- Landing skids
Note: Physical size at default params: 16.4 m long, 6.7 m wide and 6.9 m tall (sensor dish top) with the arms closed; with the arms fully open mid-loop it reaches 17.0 m long and 8.4 m wide. The hull itself is 11 m long, 4.4 m across and 3.0 m deep over the plating. Origin is at the bottom centre with both skid rails resting on y = 0. Front (+Z) is the bow, with the docking collar and grapple arms; the engines face -Z. Baked clip 'scene-motion' (8 s, seamless, 108 channels): the grapple arms swing from 5° inward to 25° outward on their shoulder hinge pins and back, the claws flex on their wrist hinges a little behind the arms, the sensor dish makes one full turn on its mast, the beacon turns twice, and each engine nozzle gimbals about 2.6° about its throat. The hull, plating, tanks and skids never move. t = 0 is the closed rest pose. shipCompletionStage installs hull plating panels in a fixed seeded order, from 6 of 20 at 0 to all 20 at 1 (13 at the default 0.5). Open bays show the mid-grey core frame with silver stringers. Every bracket reaches the core, so nothing floats at any stage. hullLength, engineCount (2, 3 or 4 nozzles; a nozzle.3 or nozzle.4 part only exists when the count is raised) and grappleArmLength reshape the geometry. The claw tips stay at least 1.6 m apart across the full range. Each part node carries two part ids: the library id (orbital-shipyard-tug-ship.*) on the outer group, which also holds the pivot and the animation, and the plan id (tugship.*) on the inner group. Material names are the exact kit palette names (9 colours used). The exporter writes one material copy per mesh, so the GLB lists 57 materials with repeated names; dedupe by name if your engine needs it. Facets are non-indexed with baked flat normals, so the model looks faceted in any engine. 3184 triangles. glb-lint has 0 errors and 6 non-blocking warnings: material count from the per-mesh copies, duplicate materials, intentionally non-indexed flat facets, nested parts overlapping by design, plating and lamps touching the hull across part groups (flagged as detached by the heuristic), and height compared against the direction's 1 m reference. Its printed verdict is UNVERIFIED only because no requirements contract was supplied. Brackets, the sensor mast base and the tank saddles pass through the plating where panels are installed, by design.
More like this
All of Orbital Shipyard →
Rotating ring
Orbital Shipyard2,484 tris

Half-built frigate
Orbital Shipyard3,860 tris

Robotic arm
Orbital Shipyard1,524 tris

Cable reels
Orbital Shipyard4,052 tris

Signal lights
Orbital Shipyard1,124 tris

Thruster units
Orbital Shipyard2,456 tris

Welding sparks
Orbital Shipyard2,772 tris

Cargo pods
Orbital Shipyard2,100 tris
Free under the 1DesignTool 3D library license. Model #11 of 589.