Files
Profiles-for-Coder/extensions/custom-specialty-plugin/skills/openscad-parametric/SKILL.md
T
2026-07-06 18:06:28 +02:00

51 lines
2.1 KiB
Markdown

---
name: openscad-parametric
description: Algorithmic solid modeling and precise geometry generation for multi-nozzle toolchanging setups (Bambu Lab H2C).
disable-model-invocation: false
category: CAD
risk: safe
tags:
- openscad
- 3d-printing
- cad
- parametric
---
# OpenSCAD Parametric Design
## Purpose
To guide the generation of modular, algorithmic, and mathematically precise solid geometry in OpenSCAD, optimized for multi-material toolchanger systems.
## When to Use
Use when writing or editing OpenSCAD (`.scad`) code, calculating tolerances/clearances, structuring modular assemblies, or designing fixtures/parts for Bambu Lab H2C toolchanging architectures.
## Core Design Principles
### 1. Parametric Rigidity
- Define all key dimensions (lengths, thicknesses, hole diameters, clearances) as variables at the top of the file.
- Derive dependent geometry using mathematical relations (e.g., `wall_thickness * 2`) rather than hardcoding numbers.
- Use `$fn` selectively to control cylinder resolution; prefer lower `$fn` (e.g., 16-32) during preview and higher (e.g., 64-128) only for final rendering.
### 2. Multi-Nozzle / Multi-Material Design
- Organize components into separate modules representing different nozzles/materials.
- Avoid geometry overlap (which causes slicing artifacts). Use explicit `difference()` operators to cut channels for different materials to lock into each other mechanically.
- Add clearance margins (typically `0.15mm` to `0.3mm`) between interlocking toolchanged parts depending on the printer's dimensional accuracy.
### 3. Bambu Lab H2C Toolchanger Assemblies
- Focus on toolchanger mount coordinates, bolt/nut clearances, and alignment pins.
- Use standardized alignment pins (`4.0mm` diameter pins with `0.2mm` clearance holes) to locate mating parts securely.
- Ensure overhangs respect the 45-degree rule, or design custom print-in-place breakaway supports.
## Math Utilities Library
Prefer clean mathematical algorithms for curves and shapes:
```openscad
// Parametric ellipse helper
module ellipse(rx, ry, h) {
scale([1, ry/rx, 1])
cylinder(r=rx, h=h, center=true);
}
```