<html><body>Hello, <br>I am posting this here, although it's also about core functionality of blender.<br>The question is, if there is or could be a vision of having a library in blender, which is capable of doing some 2d geometric operations. This library could serve internally for several cases, and could be also exposed in python for addon developers.<br><br>These algorithms I was thinking about are:<br><br>Straight skeleton, Curve offseting - these are connected, since both can be computed from a good quality Voronoi graph that supports line segments or curves(most implementations only support points, especially in Python area). The possible uses are:<br>internally:<br>- good quality Inset, with collision solving, at least for flat faces.<br>- mask offsets, which fail currently in some collision cases<br>- offseting of text and curves, which produces high quality manifold geometry<br>- calculating offsets for building roads,<br>- V-Carving for engraving applications<br>- processing of slices for 3d printing<br><br><br>Minkowski sum of polygons - this would enable:<br>- some great UV packing algorithms<br>- packing shapes for manufacturing(3d printing, milling) <br>- fast collision computing of 2d shapes.<br><br>On the blender conference, I spoke with 5 developers or artists, who had different problems, but by my knowledge, all of these could be solved with these algorithms. All of the possible uses I wrote about were discussed, and probably, there's many more.<br><br>There is a bunch of libraries which can do such stuff. <br>I did some quick search:<br><br>Boost - I know that boost libs are to some extent allready in blender, but it's probably quite a huge package and only parts are actually in blender? e.g. http://www.boost.org/doc/libs/1_53_0_beta1/libs/polygon/doc/voronoi_main.htm<br>Clipper Library http://www.angusj.com/delphi/clipper.php<br>CGAL libraries https://www.cgal.org/<br>Inkscape library?<br><br>So, this mail is to start this discussion, and to see if blender developers are open to such idea. Also, I am not a good C coder, but I allready did some small api hacks. But the point is, this would need an C developer on board who would help with this. <br><br>Regards<br>Vilem<br>developer of Blender CAM<br><br><br></body></html>