Open Enteleform opened 7 years ago
Yes, this is an issue of the binary operation implementation. It can only act on polygons. So the shapes must be polygonized before running it. In your example: are some of the shapes made of Beziers? There are other libs out there that are capable of acting directly on other shapes (paper.js, Adobe Illustrator). This could be implemented in Geomerative but I don't have the expertise to do it, pull requests would be welcome.
Ok, thanks for confirming the cause of the issue. I'll stick with post-render compounding in Adobe for now.
In your example: are some of the shapes made of Beziers?
Yes, the top 2 outer shapes in each example are made with a rounded rectangle generator I made using RPath
's addLineTo
, addBezierTo
, & toShape
functions.
I'm in the process of using Geomerative to draft some laser cutting templates. Initially I was using Adobe Illustrator's shape compounding after rendering; but I just implemented Geomerative's
union
&xor
functions into the project and noticed that there are various inaccuracies in the resulting output.Here's a comparison:
If you zoom in you'll notice that the left & right examples have precise, flat edges on all of the cutouts & notches, but the center example has arbitrary distortion and would be unusable for precision fitting.