4 ms·
ok, here a very specific question: can I chamfer or fillet a specific edge that is resulting from a CSG subtraction? Because 3D printing supposes a very robust
by nraynaud 11y ago
ok, here a very specific question: can I chamfer or fillet a specific edge that is resulting from a CSG subtraction?
Because 3D printing supposes a very robust 3D CAD.
- kragen 11y agoThis is a really great question. I don’t know the answer yet. I struggle with this problem every day when I design things in OpenSCAD, because OpenSCAD doesn't give your parametric model access to the results of the modeling operations in any way (!!) I think that Antimony kind of suffers from the same problem, but because it's using distance fields rather than plain CSG, it does have a “blend” operation (https://github.com/mkeeter/antimony/blob/develop/py/fab/shapes.py#L382 https://github.com/mkeeter/antimony/blob/develop/py/fab/shap...) that attempts to fillet the union of two shapes. Now, Antimony has inversion (complement, more or less), and set A \ B is just A ∩ B', which by De Morgan's Laws is equivalent to (A' ∪ B)'. So what happens if you attempt to approximate a filleted A \ B with invert(blend(invert(A), B))? I don’t know. But damn, I’m sure tempted to try it! Of course, even if that works, that won’t fillet a specific edge resulting from the subtraction. It will fillet all of them. Invariably, that is what I want.
- nraynaud 11y agoin mold making for example, being able to chamfer some edges and keeping other edges very crisp (along the seam) is important.
- kragen 11y agoThat makes a lot of sense. I wonder if you can hack this in with a little more CSG stuff: maybe union the blended version with some giant solid blob that covers the crisp seam edges, and then intersect the result with the fully-crisp version. That's a pretty indirect way to solve the problem, but I wonder if it might work?