Generate Powder Doser CAD via full CADSmith workflow with Opus base model#6
Conversation
|
@copilot I need full assembly renders at various iso angles |
Added full-assembly renders at several isometric angles in |
|
@copilot use different colors for various parts, similar to what's shown in: https://github.com/vertical-cloud-lab/powder-doser/blob/8feb6a6cfd06c3c46d6f89f779d419f792a8f00d/cad/mounting-plate-assembly/assembly/assembly_iso_az090_hires.png from https://github.com/vertical-cloud-lab/powder-doser/tree/copilot/add-servo-angle-control Use the same iso perspective angles as what's shown in above image, too |
Done. The assembly is now rendered with per-part colors by reusing the individual components from the assembly |
Runs the full CADSmith pipeline (Planner → Coder → Executor → Validator → Refiner) over the self-contained Powder Doser engineering spec, with Claude Opus as the base model for every agent, producing each printed part and a tilt-0° assembly as manifold STEP solids.
Agent model configuration (
autofab/agents.py)AUTOFAB_BASE_MODEL(Planner/Coder/Error-Refiner/Refiner) andAUTOFAB_JUDGE_MODEL(Validator); defaults preserve prior behavior.claude-opus-4-20250514, which now returns 404. Judge falls back to the base model when it is Opus-class.export AUTOFAB_BASE_MODEL=claude-opus-4-5 xvfb-run -a python scripts/run_powder_doser.pyPart-by-part runner (
scripts/run_powder_doser.py)model.py+part.step+render.png+result.json.result.json); tolerates per-part failures to keep the loop going.Full-assembly colored isometric renders (
scripts/render_assembly_isos.py)render_colored_iso_views(plusISO_AZIMUTH_SWEEPand a contact-sheet helper) inautofab/render.pyrenders multiple STL solids together, each as its own colored Phong-shaded actor, from an arbitrary set of(name, elevation, azimuth)viewpoints.scripts/render_assembly_isos.pyexecs the assemblymodel.py, reuses its individual component solids (skipping the union bridges), and colors each by role — brass auger + gear band, grey plates/brackets/hinge pin, black NEMA 11 & MG996R bodies, green pinions. It renders a full isometric azimuth sweep —assembly_iso_az000.png…assembly_iso_az315.png(45° steps at a ~30° iso elevation), matching the reference assembly-render convention — plus a tiledassembly_iso_contact_sheet.png, intocad/powder-doser/powder_doser_assembly/iso/.Inputs & outputs
data/prompts/powder-doser-assembly-prompt.md— the verbatim self-contained prompt.cad/powder-doser/— 10 printed parts + bench-test auger + threaded cap + assembly (with aniso/folder of multi-angle, per-part-colored assembly renders), plussummary.jsonandREADME.md..gitignore— keeps STEP/source/renders/logs; excludes regenerable STL meshes (one tessellated thread exceeded 80 MB) and per-iteration scratch.Results
12/12 solids are valid and round-trip through STEP; 11/12 fully converged on the kernel + vision Judge.
auger_cap(printed internal-thread fit) is a valid solid but not Judge-signed within the 3-refinement budget — re-runnable with a larger--max-refinements.Notes
claude-opus-4-5) was used and noted in the README.