The Polygonica 3.0 release contains a large number of customer-driven revisions and improvements. There are eighteen areas of substantial new or upgraded functionality including remeshing, surface recognition, shrink-wrap, 2D infill and 3D curve operations, along with a further eleven enhancements that might be considered more minor but that have an important impact for customers working in those areas.
Some of the headline enhancements are described below.
Improved Surface Fitting
The existing surface detection algorithm has been reworked to deliver better results on noisy scan data whilst also improving surface fit on relatively well-formed meshes originating from CAD systems.
Surface fit tolerances are now automatically computed based on an analysis of the model and a variety of new controls have been offered to allow the user to further guide and refine the surface detection operation should they wish to.
The new algorithm brings significant speed improvements and in some cases can be several orders of magnitude faster.
The remeshing algorithm has been extended to support curvature sensitive remeshing in which triangle edge-lengths vary as a function of the local radius of curvature of the surface.
Other improvements include a new default option to collapse short edges along sharp feature edges and zone-based remeshing allowing the user to specify different edge-lengths in different zones across the surface.
See a demo of curvature sensitive remeshing here
A new option to cap gaps and tunnels has been added. This will be extended to allow extraction of tunnel geometry in a future patch release.
The complex controls for shrink-wrapping have been simplified down to two main parameters – a maximum polygon budget and an error value that specifies the maximum distance of the shrink-wrapped result from the original model. The default behaviour has been improved so that Polygonica will automatically choose suitable initial values for each parameter. These can be tightened in successive calls to produce a progressively more refined shrink-wrap.
Denoising and Edge Enhancement for scan data
Denoising seeks to smooth larger regions in meshes created from noisy scan data whilst attempting to retain, enhance and even recover sharp edges present in the original part.
Optionally the denoising function can snap vertices to surfaces identified using Polygonica’s surface detection
3D Curve enhancements for 3D toolpath generation
Alongside a new function for offsetting 3D curves along a surface there are also new functions to close, remove self-intersections, smooth, simplify and reverse 3D curves. Curves can automatically be created from region boundaries and the area inside a curve lying on the surface can be computed.
You can see a demo of 3D curve offsetting here
Extended 2D operations for hatch, infill and 2D toolpath generation
The existing 2D functionality suitable for developing infill and hatching toolpaths for additive manufacturing has been extended to support medial axis calculations and fast 2D clipping. In addition a function to compute the maximum thickness of a 2D profile has been added.
Boolean operations on 2D profiles have been extended so that operations can be performed on multiple profiles in a single API call.
Additionally slices generated by the slicer can now be serialised within Polygonica before extraction to the host application allowing very high numbers of slices of large and complex lattice models on large build area printers using a very low memory footprint.
Foldover detection and removal
Sharp foldovers in otherwise topologically correct meshes can now be automatically detected and removed. Such artefacts are common in meshes created from laser-scan data and surprisingly common in meshes created by some design systems.
Variable Surface Offsetting
Defined sub-regions of a mesh can now be offset individually with a smooth fall-off to the surrounding mesh.
New surface construction and patching functions
Intended for the mining and geospatial industries a polygonal surface mesh can be created from a set of contours representing terrain. The resulting mesh has a single z value for each (x,y) coordinate. The function can optionally trim low-quality triangles at the boundary resulting from ill-defined boundary data.
For additive manufacturing and similar a new function has been added to reconstruct, or loft, a surface mesh from a series of slices. The resulting mesh can have multiple z values for each (x,y) value. The function interpolates top and bottom surfaces based on surrounding curvature.
There is a new patching function to construct a smoothly curved polygonal surface patch from a set of curves that form a closed loop.
Principal Axes and Curvature computations
The principle (major and minor) rotation axes of a part can be computed, based on the assumption the part is made of a material of constant mass density.
Principle curvature (maximum and minimum) can be computed at mesh vertices.
Pick From Profile
To facilitate faster selection of regions of the mesh surface two new functions have been added to select regions based on a profile defined either in screen/camera space or world space.
Mesh comparison for intersecting regions
The existing mesh comparison function has been extended to work only in regions where the meshes being compared intersect. This enhancement is specifically intended to assist with occlusion analysis in dental modelling.
Boolean algorithm extended to support self-intersecting meshes
The Polygonica Boolean algorithm has been extended so that Boolean subtraction and intersection operations are possible when the target solid (the left solid) is self-intersecting and/or badly oriented and tool (the right solid) faces are discarded.
In particular this improves support for trimming and other modelling operations directly on badly formed meshes that typically result from certain types of laser scanning.