Skip to content

Commit 8e3be42

Browse files
authored
Merge pull request #4 from Danyals-code/standardize-panel-and-orient-products
Add STL import and warn about geometry outside MV_Products
2 parents 90d43c4 + a82acca commit 8e3be42

3 files changed

Lines changed: 236 additions & 31 deletions

File tree

‎README.md‎

Lines changed: 45 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22

33
A Blender add-on for turning CAD products into consistent, batch-rendered image sets.
44

5-
Import STEP files, standardize them at the world origin, build a rig of orthographic and
5+
Import STEP and STL files, standardize them at the world origin, build a rig of orthographic and
66
perspective cameras plus 3-point studio lighting, then render every product across every
77
view in one click, with predictable file names like `AA_01_Widget_Front_clay.png`.
88

99
- **Blender:** 4.0 and newer
1010
- **Panel location:** `3D Viewport → Sidebar (N key) → MultiView`
11-
- **Version:** 1.3.0
11+
- **Version:** 1.4.0
1212

1313
---
1414

@@ -48,13 +48,18 @@ Restart Blender and enable the add-on as in step 4 above.
4848
You only need this if you want to import `.step` / `.stp` files directly. If you already
4949
have meshes in your scene, skip it. The add-on works with any geometry.
5050

51+
**`.stl` files need none of this.** An STL already holds a mesh, so it is imported straight
52+
through Blender and never touches FreeCAD or STEPper, whatever the STEP Import Mode is set
53+
to. From the moment it lands it is treated exactly like a converted STEP file: same product
54+
collection, same Fit on Import, same standardizing, same batch render and file naming.
55+
5156
Open `Edit → Preferences → Add-ons → MultiView Product Renderer` and expand the
5257
preferences:
5358

5459
| Setting | What it does |
5560
| --- | --- |
56-
| **STEP Import Mode** | `Auto` tries the STEPper add-on first, then falls back to FreeCAD. Or force one. |
57-
| **FreeCAD Executable** | Path to `freecadcmd.exe` (Windows) or `freecadcmd` (macOS/Linux). |
61+
| **STEP Import Mode** | `Auto` tries the STEPper add-on first, then falls back to FreeCAD. Or force one. STEP only; STL ignores it. |
62+
| **FreeCAD Executable** | Path to `freecadcmd.exe` (Windows) or `freecadcmd` (macOS/Linux). STEP only. |
5863
| **Tessellation Deflection** | FreeCAD mode only. Lower = finer mesh, bigger files. Default `0.1`. |
5964

6065
**FreeCAD route**: install [FreeCAD](https://www.freecad.org/) and point the preference at
@@ -100,24 +105,29 @@ either half on its own.
100105

101106
### 2. Import Products
102107

103-
Add one or more STEP files to the list and click **Import STEP Files**. Each file becomes
104-
its own collection under `MV_Products`. That grouping is what the batch renderer iterates
105-
over.
108+
Add one or more `.step` / `.stp` / `.stl` files to the list and click **Import CAD Files**.
109+
Each file becomes its own collection under `MV_Products`. That grouping is what the batch
110+
renderer iterates over. You can mix STEP and STL freely in one list; each file is routed by
111+
its extension, and a file that fails does not stop the ones after it.
106112

107113
Import runs in the background: the status bar shows `MultiView: 3/12 housing.step
108114
(converting)`, Blender stays responsive, and **Esc** cancels after the file in flight.
109115
Files that fail are skipped rather than stopping the batch, and FreeCAD's own error
110116
message is reported instead of a generic failure -- run `Window > Toggle System Console`
111117
to see the full list.
112118

119+
STL files skip the conversion step entirely, so they land immediately rather than showing
120+
`(converting)`. A `.stl` that Blender cannot read is reported and skipped rather than
121+
becoming an empty product collection that would render as blank frames.
122+
113123
You can also click **Add Empty Product Collection** and drag existing meshes into it, which
114-
is how you use MultiView with geometry that didn't come from STEP.
124+
is how you use MultiView with geometry that didn't come from a CAD file.
115125

116126
### 3. Standardize
117127

118128
Everything that makes products comparable to each other lives in this panel.
119129

120-
**Fit on Import** (on by default) does it automatically: as each STEP file lands, the
130+
**Fit on Import** (on by default) does it automatically: as each file lands, the
121131
product is uniformly scaled so its largest dimension equals **Target Size** (default
122132
`1.0 m`, i.e. it fits inside a 1x1x1 m cube) and its bounding box is centred on the world
123133
origin. Turn it off if you want to place and scale products yourself.
@@ -224,6 +234,26 @@ Set an **Output Directory**, choose a **Render Mode**, and hit **Render All**.
224234
Every product is isolated in turn (all others excluded from the view layer), so nothing
225235
bleeds between shots. Progress prints to the system console.
226236

237+
**Only products are isolated.** Geometry that lives outside `MV_Products` is not a product,
238+
so it is never hidden and turns up in every shot of every product. The usual offender is the
239+
cube Blender starts a new file with: two metres across, sitting on the world origin exactly
240+
where a fitted product lands, and quite capable of filling the frame and hiding the product
241+
behind it -- which reads as a blank render with no obvious cause.
242+
243+
The panel warns before you spend the render time:
244+
245+
```
246+
[!] 1 object(s) outside MV_Products
247+
appear in every render:
248+
Cube
249+
Delete them, move them into a
250+
product, or switch off their
251+
render visibility (camera icon).
252+
```
253+
254+
Objects you have already switched off for rendering are not listed, so a deliberate backdrop
255+
or staging rig does not keep setting the warning off.
256+
227257
**Render engine, sample count, resolution, and file format stay in Blender's own Output and
228258
Render Properties.** MultiView only drives cameras, visibility, and file paths. It never
229259
overwrites your render settings, and the clay pass restores your engine when it finishes.
@@ -278,7 +308,12 @@ products, and any other world in the file, are never touched.
278308

279309
**"No cameras. Build cameras first."**: run *Build Cameras* in the Cameras / Views panel.
280310

281-
**"No product collections under 'MV_Products'."**: import a STEP file, or add an empty
311+
**Renders come back blank, or with something unexpected in them**: check the warning above
312+
**Render All**. Anything outside `MV_Products` is rendered along with every product, and a
313+
large object near the origin can hide the product completely. Delete it, move it into a
314+
product collection, or turn off its render visibility.
315+
316+
**"No product collections under 'MV_Products'."**: import a STEP or STL file, or add an empty
282317
product collection and put your meshes inside it. Meshes sitting loose in the scene
283318
collection are not seen as products.
284319

0 commit comments

Comments
 (0)