Follow

I've been working with cadquery a lot for the hexpad, and although I'm not a fan of the API design, it sure beats redoing all projections every time you change something in Fusion 360.

Yesterday I implemented a little trick I learned about fillets and chamfers:

When you fillet convex and concave edges (pic A) and then chamfer the resulting loop, you get an irregular fillet pattern (pic B) because convex fillets "shrink" whereas concave fillets "grow" when chamfered.

· · Web · 2 · 2 · 4

This results in an uneven look. To create a more balanced shape, the concave corners have to be filleted at a reduced radius, so that the chamfer brings them up to match the convex corners, while the convex corners will be shrunk to match the reduced radius of the concave corner (pic C).

Here's the cadquery plugin that fillets with this in mind:

use like this:

model.edges('|Z').fillterChamferComp(5, 1).edges('').chamfer(1)

@s_ol I didn't know cadquery, seems to be a good python alternative to openscad :-) I'll give it a try. Personally, I keep coming back to freecad, with which I like to use more and more, as it is evolving "quickly" lately and is more and more stable. Good job on the script!

@focus404
apparently CQ used to be a scripting frontend to Freecad, but with v2 they tied directly to OpenCascade (the engine under FreeCAD) and made it standalone.

FreeCAD is pretty alright, but no GUI CAD tool (and neither OpenSCAD) worked the way i wanted for this. In CQ I now have the ability to generate macropads with any shape on the hex grid just by drawing it in ASCII art (and then manually positioning USB connector, screws and feet)

@focus404
that's wherw things really break down in GUI tools, when you do an array operation and then you need to somehow process the result and combine it back into one thing. When you change the numbers in the array, usually the newly added instances don't work etc. Also you cant do things like "tile this hexagon, then chamfer the combined outside edge of all hexagons"

@focus404
here's a quick demo. In openSCAD i had this string syntax working, but it became basically impossible to do the chamfers and fillets properly.

Sign in to participate in the conversation
Merveilles

Merveilles is a community project aimed at the establishment of new ways of speaking, seeing and organizing information — A culture that seeks augmentation through the arts of engineering and design. A warm welcome to any like-minded people who feel these ideals resonate with them.