Where 3D parts come from
Every catalogue part in the trailer — hinges, wheels, springs, couplers — is either sourced, built parametrically, or AI-generated. Choosing wrong costs hours. This page is the decision rule and the hard-won format traps, written from live sessions driving Blender through the MCP bridge.
The decision
Three routes, in order of preference. Most parts should be sourced; the exception proves the rule.
| Route | Use when | Avoid when | Cost |
|---|---|---|---|
| Source it | The part exists in the real world and someone has modelled it — fittings, wheels, couplers, appliances, hinges | Nothing suitable is licensed for commercial use | Free |
| Build it parametrically | The part is yours, dimensioned by SPEC, or must be driven by variables in the configurator | It's a complex organic or branded shape | Time only |
| Generate it (AI) | Organic / irregular / one-off visual dressing where exact dimensions don't matter | Any precision mechanical part | ≈ $0.40 / generation |
The sources
| Source | API? | Licensing | Verdict |
|---|---|---|---|
| 3D Warehouse (Trimble) | Yes — public, no key | General Model licence; check per-model | Best for mechanical/architectural parts |
| Sketchfab | Yes — token in credentials.md | CC0 / CC-BY / CC-NC clearly flagged | Best for licence clarity |
| PolyHaven | Yes | CC0 throughout | HDRIs, textures, some props |
| GrabCAD | No | Unclear for commercial reuse | Login-gated, native CAD only — avoid |
| CGTrader / TurboSquid | No | Paid | Never clone a paid model. Buy it or build it. |
Formats — the trap that costs the most time
The single biggest time-waster is downloading a part in a native application format. These are locked to the software that made them and will never open in Blender, on any machine, without that application installed.
| Format | Native to | Blender? | Do this instead |
|---|---|---|---|
.skp | SketchUp | No | 3D Warehouse API → glb |
.SLDPRT | SolidWorks | No | Ask for STEP or STL |
.f3d / .ipt | Fusion / Inventor | No | Export STEP |
.glb / .gltf | open standard | Yes — native | Always prefer this |
.dae / .obj / .stl / .fbx | open / interchange | Yes | All fine |
Measured, not assumed
The Blender SketchUp importer addon exists but ships Windows binaries only (.pyd/.dll) in every release including 0.27.0 — there is no macOS or Linux build. A modern .SLDPRT isn't even an OLE container, so no open-source reader touches it. Both checked directly, not guessed.
3D Warehouse: get the glb, never the .skp
3D Warehouse renders every uploaded model to glTF server-side. You never need SketchUp. The download button offers .skp; the API offers glb. Take the glb.
The catch: /binaries/glb returns INVALID_URL. The real link is the contentUrl field inside the entity record.
# 1. search curl -s -G "https://3dwarehouse.sketchup.com/warehouse/v1.0/entities" \ --data-urlencode "q=trailer coupler" \ --data-urlencode "contentType=3dw" -H "Accept: application/json" # 2. read the entity, take binaries.glb.contentUrl curl -s "https://3dwarehouse.sketchup.com/warehouse/v1.0/entities/<ID>" \ -H "Accept: application/json" | jq -r '.binaries.glb.contentUrl' # 3. download — arrives as a real .glb curl -sL -o part.glb "<contentUrl>"
Check binaryNames in the search result for glb before bothering. Most models have it; a few older ones only have zip.
Sketchfab via API
Token lives in credentials.md §Sketchfab. Search is open; download needs the token. Licence is returned as a slug on the model record — read it before downloading, not after.
curl -s -G -H "Authorization: Token $TOKEN" \ "https://api.sketchfab.com/v3/search" \ --data-urlencode "type=models" --data-urlencode "q=leaf spring" \ --data-urlencode "downloadable=true" # then: /v3/models/<uid> -> licence.slug, faceCount # /v3/models/<uid>/download -> signed glb url (300s expiry)
Watch what else comes in the box
Marketplace models are frequently whole scenes, not parts. One "solar panel" imported a motor, a mounting wall and a patch of grass onto the trailer roof. Another "5×10 panel" was five separated strips. Always render the import in isolation before placing it.
Licence discipline
| Licence | Commercial | Obligation | Use on BYOT? |
|---|---|---|---|
| CC0 | Yes | None | Yes |
| CC-BY | Yes | Credit the author | Yes — with attribution |
| CC-BY-NC | No | — | Never. Demo / study only |
| Paid marketplace | Per licence | Purchase | Buy it, or build generic |
Segregate by licence in the scene, not in your memory. Non-commercial reference geometry lives in its own collection so it can be excluded from export with one checkbox. The trailer's tow car sits in Reference_CC-NC/ for precisely this reason — and it is 446 of the scene's 647 objects.
When AI generation wins — and when it loses
Image→mesh generation (Rodin via fal.ai, Hunyuan3D, Higgsfield) is proven in this pipeline: a rendered concept became a 23,332-triangle GLB inside Blender for about $0.40, with no clicks.
| Good fit | Bad fit | |
|---|---|---|
| Shape | Organic, irregular, sculptural | Flat faces, true spheres, drilled holes on exact centres |
| Purpose | Visual dressing, concept, background | A configurator part whose dimensions are load-bearing |
| Topology | Doesn't matter | Must be clean and named for swapping |
Poly budget
Sourced parts arrive at whatever density their author chose, and it is frequently absurd for a web configurator. Check the triangle count before you commit.
| Target | Budget | Note |
|---|---|---|
| Whole configurator model | ≈ 150k tris | Everything the browser loads |
| A single swappable fitting | 1k – 10k | A coupler at 37k is 4× a reasonable one at 6.7k for no visible gain |
| Studio still / flyby | No hard limit | But Cycles time scales with it |
For reference: the parametric trailer body is roughly 2,000 triangles. A single imported reference car is ~476,000. Hide or decimate reference geometry before rendering, and never export it.
Sourcing checklist
1. Does it exist?
Search 3D Warehouse and Sketchfab before modelling anything that is a real catalogue product.
2. What licence?
Read the slug before downloading. CC-NC never reaches a commercial surface.
3. What format?
glTF first. Never accept a native CAD format — go back and take the neutral export.
4. How heavy?
Check the triangle count against the budget above.
5. What else came with it?
Render it isolated. Delete the grass, the motor and the ground plane.
6. Is it named and collected?
Rename to the part convention and file it in the right collection, or it is lost in a 600-object outliner within the hour.
7. Log the attribution.
CC-BY credits go in the SPEC, at the time of import — not when someone asks at ship time.