SCAD Library Round-Anything Skill
Use Round-Anything when the runtime prompt lists use <Round-Anything/polyround.scad> or use <polyround.scad> and the requested part is naturally built from rounded 2D sketches extruded into 3D.
Import
Use the exact include/use statement shown by the runtime prompt. Common forms are:
use <Round-Anything/polyround.scad>
or:
use <polyround.scad>
Best Uses
- Use
polyRound() for rounded polygons instead of manually approximating rounded corners.
- Use
polyRoundExtrude() for rounded plates, brackets, tabs, bezels, lips, and soft rectangular profiles.
- Use
shell2d() patterns for open shells and wall outlines when the part is sketch-driven.
- Use rounded profiles for stress relief and visual polish.
- Prefer Round-Anything over
minkowski() for complex 2D outlines that need controlled corner radii.
Generation Pattern
Represent profile points as [x, y, radius] and keep radii parameterized:
use <Round-Anything/polyround.scad>
/* [Profile] */
width = 70; // min: 20 max: 180 step: 1
depth = 42; // min: 15 max: 120 step: 1
thickness = 5; // min: 1.2 max: 20 step: 0.5
corner_radius = 5; // min: 0 max: 20 step: 0.5
profile = [
[-width/2, -depth/2, corner_radius],
[ width/2, -depth/2, corner_radius],
[ width/2, depth/2, corner_radius],
[-width/2, depth/2, corner_radius],
];
polyRoundExtrude(profile, thickness, corner_radius, corner_radius, fn=32);
Quality Rules
- Keep each radius less than half the adjacent segment length.
- Use smaller radii on tabs, clips, and screw ears than on cosmetic outer corners.
- Prefer a simple rounded profile plus boolean cutouts over many nested hull operations.
- Keep profile arrays readable and derived from top-level parameters.
Avoid
- Do not use
minkowskiRound by default; it is slow and fragile for generated models.
- Do not use Round-Anything for pure cylinders or simple cuboids if BOSL2 can express the shape more clearly.
- Do not copy library source into generated SCAD.
1---2name: scad-library-round-anything3description: This skill should be used when generating OpenSCAD with Round-Anything, polyRound, polyRoundExtrude, shell2d, rounded sketch profiles, filleted extrusions, beams, tabs, brackets, and consumer-product-style softened parts.4---56# SCAD Library Round-Anything Skill78Use Round-Anything when the runtime prompt lists `use <Round-Anything/polyround.scad>` or `use <polyround.scad>` and the requested part is naturally built from rounded 2D sketches extruded into 3D.910## Import1112Use the exact include/use statement shown by the runtime prompt. Common forms are:1314```openscad15use <Round-Anything/polyround.scad>16```1718or:1920```openscad21use <polyround.scad>22```2324## Best Uses2526- Use `polyRound()` for rounded polygons instead of manually approximating rounded corners.27- Use `polyRoundExtrude()` for rounded plates, brackets, tabs, bezels, lips, and soft rectangular profiles.28- Use `shell2d()` patterns for open shells and wall outlines when the part is sketch-driven.29- Use rounded profiles for stress relief and visual polish.30- Prefer Round-Anything over `minkowski()` for complex 2D outlines that need controlled corner radii.3132## Generation Pattern3334Represent profile points as `[x, y, radius]` and keep radii parameterized:3536```openscad37use <Round-Anything/polyround.scad>3839/* [Profile] */40width = 70; // min: 20 max: 180 step: 141depth = 42; // min: 15 max: 120 step: 142thickness = 5; // min: 1.2 max: 20 step: 0.543corner_radius = 5; // min: 0 max: 20 step: 0.54445profile = [46 [-width/2, -depth/2, corner_radius],47 [ width/2, -depth/2, corner_radius],48 [ width/2, depth/2, corner_radius],49 [-width/2, depth/2, corner_radius],50];5152polyRoundExtrude(profile, thickness, corner_radius, corner_radius, fn=32);53```5455## Quality Rules5657- Keep each radius less than half the adjacent segment length.58- Use smaller radii on tabs, clips, and screw ears than on cosmetic outer corners.59- Prefer a simple rounded profile plus boolean cutouts over many nested hull operations.60- Keep profile arrays readable and derived from top-level parameters.6162## Avoid6364- Do not use `minkowskiRound` by default; it is slow and fragile for generated models.65- Do not use Round-Anything for pure cylinders or simple cuboids if BOSL2 can express the shape more clearly.66- Do not copy library source into generated SCAD.