Polygonica is already well known within Additive Manufacturing as a software library that provides a wide range of well-implemented and fast operations on 3D meshes: automatic mesh healing, Booleans, offsetting, hollowing, remeshing, decimation and shrinkwrap to name a few.
It’s less well known that Polygonica also provides a range of 2D operations suitable for using within build processors for Additive Manufacturing … or put more simply, for developing 2D hatch and infill algorithms.
And, as Polygonica is a software library written in C, with a C API and C# wrappers, and supported on Windows, Linux and macOS, it’s easy to embed within the HMI of your machine. So, combining Polygonica’s automatic mesh healing, slicing and 2D operations, you can quickly supercharge your machine to slice and hatch almost anything that your users throw at it.
What 2D operations does Polygonica Support?
Polygonica’s 2D operations are typically, but not exclusively, focused around the concept of a 2D profile. A profile is a closed polyline boundary with ordered loops, such that it is unambiguous whether a point is inside the profile, representing solid material, or outside the profile.
Polygonica currently provides the following operations:
- Fast 2D polyline clipping
- Minkowski-sum offsetting and dilation
- Boolean operations – union, subtract, intersect
- 2D medial axis and medial axis offset*
- Creation of offsets toolpaths from medial axis
- Healing:
- Fix incorrect loop orientations
- Close open loops
- Remove self-intersections
- Remove insignificant loops
- Arc fitting
- Intersection query (clash)
- Classify 2D points against a 2D profile (in/out/on edge/on vertex)
- Compute maximum thickness of 2D profile
- Compute the convex hull of a 2D profile
Build your own IP
Printer manufacturers of both polymers and hard materials have created new build processors using Polygonica. A common story we’ve heard is that in the past development was outsourced to third parties, but as time passed and new printer technologies were introduced, it became harder to get the necessary feature requests, updates and modifications.
Using Polygonica’s low-level APIs allows you to take control of the development process. Your developers can build hatch and infill strategies optimized for your machines, and those strategies are your intellectual property.
What Polygonica brings is a professionally supported set of low level geometry APIs to speed up your development and take away most of the pain of developing fast and robust lower level geometric operations.
At the time of writing, MachineWorks Ltd (www.machineworks.com) has been supplying supported software components – software libraries - to the CAD industry, continuously, for thirty years. MachineWorks doesn’t develop end-user products, and has no intention of doing so. The company focus remains solely on making the software libraries as good as they can be.
New Example Code
So, Polygonica doesn’t provide ready-to-go hatch and infill APIs. It sounds like a lot of work to build my own?
Don’t worry, we’ve now got that covered also. The live demos shown in the YouTube video referenced below are all built using example code called pginfiller. The code is unsupported – it isn’t part of the Polygonica product itself – but is available to customers and evaluees on request.
The code provides the following hatch and infill patterns
- Lines
- Grid
- Triangles
- Hexagons
- ZigZag
- Concentric (offset)
- Medial Axis
- Medial Axis offset*
The code allows separate infill patterns to be used for outer regions (walls, top and bottom regions) and interior regions.
* Medial axis offset combines a concentric pattern created by offsets with the medial axis, to ensure material is added across thin narrow bridges.
You can learn more and see a demo of the example code in action on the Polygonica channel on YouTube: