Designing for the process (DFM)
Modify the part's geometry to remove ≥2 flagged DFM violations while preserving its functional dimensions, and verify the inspector now passes.
Try this first — before any explanation.
You found these problems in 1.1 and chose molding in 1.2. Now fix at least 2 of the 3 violations by editing the part's shape parameters — without touching the locked functional dimensions (BORE_D 12.00±0.05, HOLE_SPACING 30.00, PLATE_THK ≥ 6.00). Change a number, re-run the inspector, watch violations clear. You haven't been told the target values — adjust and converge.
In the full Bench this regenerates a CadQuery solid; here a numpy model checks DFM thresholds AND functional-dimension preservation. Edit the shape params and run.
Designing for the process (DFM)
In the full Bench this regenerates a CadQuery solid; here a numpy model checks DFM thresholds AND functional-dimension preservation. Edit the shape params and run.
The idea, built visually.
A manufacturable part isn't the designer winning or the process winning — it's a negotiation. The part wants its function; the process has hard limits. Good DFM finds the small changes that give the process what it needs while the part keeps what it needs.
Draft: tilt the walls one degree — almost invisible, but now the mold lets go, and the bore never moved. Wall: thicken it to the minimum so the cavity fills, growing it outward so the Ø12 bore stays exactly 12 mm. Fillet: round the sharp inside corners so plastic flows and stress doesn't pile up. Three tiny changes, and an impossible part becomes a cheap one — with function locked.
▣ Stage animation: Inspector panel flips 3 VIOLATIONS → PASS as draft tilts to 1°, the wall grows outward to 1.5 mm, and a 0.5 mm fillet rounds the corner — the bore dimension 12.00±0.05 pulsing to show it's untouched.
Build it up, step by step.
- Pass A (worked): set
DRAFT_DEG = 1.5(was 0.0) — the bore is generated separately and stays cylindrical, so 'no draft' clears with function intact. - Pass B (hint): molding wants wall ≥ 1.50 mm; you have 0.80. Raise
WALLbut grow it OUTWARD (boss radius = BORE_D/2 + WALL) so BORE_D stays 12.00. - Pass C (independent): add
FILLET_R ≥ 0.50but smaller than the wall — too large eats the bore and throws a functional violation.
How the Bench grades your run.
PASS WHEN ≥2 DFM violations cleared for the chosen process AND every functional dimension preserved (BORE_D 12.00±0.05, HOLE_SPACING 30.00, PLATE_THK ≥6.00) AND the solid regenerates, on seed 1103.
- Both DFM violations cleared — but BORE_D regenerated at 11.4 mm (target 12.00±0.05): you thickened the wall inward and ate the bore. Grow it outward (boss radius = BORE_D/2 + WALL).
- Draft is now 0.50° — better, but molding needs ≥1.00° to release cleanly. Raise DRAFT_DEG and re-run.
- 1 of 3 cleared (draft). Need ≥2. The thin wall is still flagged at 0.80 mm — raise WALL to ≥1.50 mm (outward).
- The edited script didn't build: FILLET_R = 7.0 is larger than the wall it's filleting, so the solid self-intersects. Choose a fillet ≥0.50 but smaller than the wall.
Bring back what you've already mastered.
- From 1.1: which original defect did fixing not require here, and which 1.2 process would make it matter? → the unreachable rib matters for CNC reach, not molding.
- From 1.2: if you'd chosen CNC instead of molding, would draft still be required? → no; draft is a molding/casting release rule.
- From Design course: make a one-line edit (WALL = 2.0) and predict before re-running whether the bore stays in tolerance → yes (outward growth).
What you must demonstrate to advance.
In sim, the edited part clears ≥2 DFM violations for the chosen process AND preserves every functional dimension AND regenerates as a valid solid, on seed 1103 — the L0→L1 module gate.
How this feeds your build.
Outputs the actual buildable part bracket_v3 (Ø12.00 bore intact) that the entire rest of the course manufactures: M2 toolpaths it, M3 tolerances the same bore, and M5's yield depends on the draft/walls/fillets negotiated here.