This blog focuses on what Polygonica can do for dental workflows. If it’s relevant then I’d encourage you to at least look at the pictures and watch the videos. They are fairly short.
But for the introduction to this blog I thought I’d take a slightly different approach, and try to outline what Polygonica offers that is different.
The aim of this blog is to encourage people working in software for digital dentistry to get in touch.
You might be
- a manufacturer of aligners, guides or custom implants, looking to improve the automation and throughput of your internal mesh processing pipeline, producing more parts more quickly and reducing rework.
- a product manager seeking to add new functionality to your existing dental software suite
- a software developer or development lead, looking for ways to make your team more efficient and shorten the backlog of development tasks
- working in a dental startup, with a strong desire to get to market quickly and an a bunch of decisions that need to be made quickly about how you go about achieving that.
Ultimately our customers are software engineers, and we work closely with you on a deep technical level to make sure you are happy, and that we continue to meet your demands over time.
What is Polygonica and who are MachineWorks?
Polygonica is a software library for working on polygon meshes, polylines, polycurves and point clouds. It is written in C and APIs for C and C# are provided. It is supported on Windows, Linux and macOS.
MachineWorks Ltd is the company that develops the Polygonica software. We only develop software libraries, we focus mainly on polygon meshes, and we’ve been doing this since 1994.
What’s different about Polygonica?
So, we’ve been developing, selling and supporting polygon mesh algorithms continuously since 1994. That means:
- The core operations in Polygonica – automated mesh healing, Booleans, offsetting, decimation and remeshing are really robust. The mesh Boolean in Polygonica has been used widely in the CAM industry continuously for more than thirty years.
- The core operations in Polygonica are fast. They had to be fast when we started, because back then computers were really slow. They’ve been heavily optimized over the years, again, due to the stringent demands of the CAM industry.
- The Polygonica libraries are fully supported. If there’s a problem, your developers don’t have to fix it, we do. In fact, we work very closely with many of our customers, and many of our customers have used our libraries for decades. We’re a small, informal company, so if they need to, our developers will talk directly with your developers, to just get things done.
Given that, it’s unsurprising that Polygonica is being used as the mesh engine in a variety of dental workflows by a growing number of software OEMs and manufacturers globally.


A mesh library, not a white-label solution
As you can probably tell from the images, Polygonica is not a ready-to-go dental solution. It is a collection of low-level geometric operations.
The advantage is that it retains flexibility. As a software developer working on dental applications you use it when and where you need it. The intellectual property and unique selling point (USP) of your solution remains yours to create and develop. Two dental solutions created using Polygonica can look and behave completely differently.
If you looked into the example code that accompanies this blog you would see that the calls to Polygonica have names such as PFSolidOffset, PFSolidSubtract and PFSolidsCompare, not 'create_aligner' or 'create_implant' or 'compute_occlusion'.
Of course, Polygonica also contains optimisations and functions that were added specifically for the dental industry. However, in most cases, they are added and presented in a general way, such that they can be used in other industries also.
Can we test it?
Of course. We’re trying to appeal to software developers, so we don’t expect you to believe our marketing.
You’re very welcome to test it, and when you do we’ll support you as if you were already a customer. But proper testing takes effort both from you and from us, so we need to have some initial discussions just to understand there’s a good fit.


Some example dental workflows
Ok, that’s probably enough introduction. Let’s get on with the examples.
Please note, we’re expert software engineers, not expert dentists. The examples in this blog are proof-of-concepts we’ve put together internally, to show what Polygonica can do. We know that they aren’t always representative of a real dental workflow in a real system.
Also note the example code used to create this blog is available on an unsupported basis to existing customers and new evaluees. Just get in touch.
The demonstration workflows shown in the videos and the blog below focus on the following:
- Detect the margin line based on the geometry of the mesh
- Manually adjust the margin line
- Select a tooth or teeth
- Remove teeth for implant workflows
- Create and position an implant
- For crown workflows, create and adjust a crown based on a 'library' model
- Occlusal analysis and adjustment using mesh deformation
- Identify and remove undercuts for guide and aligner creation
- Create a guide based on an implant


And to give some idea of how those workflows relate to Polygonica functions, here's a list of the major API calls used in creating these examples:
- PFSolidUnion
- PFSolidSubtract
- PFSolidIntersect
- PFSolidSection
- PFSolidOffset
- PFSolidRemesh
- PFSolidCreateShrinkwrap
- PFSolidCreateExtremumGraph
- PFSolidFillHoles
- PFSolidAddFaces
- PFSolidFair
- PFSolidSmooth
- PFSolidBlendEdges
- PFSolidEmboss
- PFSolidsCompare
- PFSolidSmoothOpenEdges
- PFSolidFixSelfIntersections
- PFSolidCompareWithPoints
- PFSolidDeform
- PFSolidCreateSupportVolumeSolid
- PFSolidPairCreateIntersectCurve
- PFSolidRegionExtend
- PFCurveCreateImprintCurve
- PFCurveFixSelfIntersections
- PFCurveCreateOffsetCurve
- PFCurveSimplify
- PFCurveSmooth
- PFProfileCreateImprintCurve
- PFMotionCreatePath
- PFSolidCreatePathSweptProfile
- PFSolidCreateFromSpunProfile






Videos









