MachineWorks Ltd. is pleased to announce the availability of the Polygonica 3.2 SDK for polygon mesh modelling.
There are six main areas of new or improved functionality including mesh deformation, mesh registration, 3D medial axis, remeshing, offsetting, identification of significant offset edges and extensions to hatch and infill.
Some of the headline enhancements are described below.
Mesh Deformation for AM compensation
Material deformation during printing is a common feature of many additive processes. Adjustments for this deformation are made either based on accurate measurements, or scans, of a physical test part, or CAE simulation results that aim to predict the deformation before printing.
Polygonica 3.2 provides a new mechanism for general mesh editing and deformation based on control points and displacement vectors. Mesh deformations can also be performed by defining mesh regions and applying displacement transforms.
Along with specifying a mesh deformation using control points or regions, Polygonica 3.2 provides a function to compare two meshes and automatically generate a deformation field to deform one to the other. For the purposes of compensation the inverse can be applied.
General Mesh Deformations
The new functionality underpinning mesh deformation for additive compensation can also be applied to general mesh deformations and has been designed such that it can be applied interactively.
Mesh-Mesh registration and alignment
A new API is provided to automatically compute a transform that provides a best fit of a target mesh to a reference mesh.
Optionally sub-regions can be specified such that the final fine-registration step will prioritise reducing fitting errors in these defined regions.
This functionality is aimed at registering meshes generated from real-world scan data with each other or with a mesh generated from a design part. The existing analysis mesh functionality provided by Polygonica allows nearest distance values between the two meshes to be computed using a regular array of sample points across the surface, allowing for automated or visual quality assurance and validation.
Mesh registration complements the existing Polygonica pipeline for working with scan data, from managing point clouds, converting point clouds to meshes, denoising, advanced curvature-sensitive hole filling, trimming, decimation, registration, sample-based distance analysis and full 3D Boolean differencing to generate closed solid meshes of regions where significant differences occur.
3D Medial Axis
The medial axis of a solid is the set of points inside the solid which have more than one closest point on the boundary of the solid. This is sometimes referred to as the skeleton of the solid. 3D medial axis can be useful in a number of algorithms including midsurface computation for CAE simulation.
In Polygonica 3.2, Polygonica’s existing 2D medial axis capabilities have been enhanced to compute the medial axis of a solid in 3D. The results are provided as a set of points and a corresponding set of distances from each point to the surface of the solid. Closest face, edge and vertex entities and the closest point on these entities can be optionally computed.
Polygonica 3.2 includes a number of customer-requested enhancements to remeshing:
- Keep exact shape of original model.
- Adapt triangle edge lengths to small features on the mesh.
- Specify vertices to preserve during remeshing.
- Specify minimum edge lengths during curvature sensitive remeshing.
Keep exact shape attempts to retain the exact shape of the original model, within a reasonable tolerance that allows remeshing to occur.
Curvature-sensitive remeshing adapts edge lengths in regions of high curvature to attempt to keep the remeshed model within an overall distance tolerance of the original. This constraint can often be achieved by remeshing small linear features with relatively large edge lengths, potentially leading to lower quality triangles. When the adapt to small features option is specified, linear features will also be remeshed with shorter edge length triangles resulting in better quality triangles across the entire mesh.
Curvature-sensitive meshing can create many small triangles in regions of high curvature, resulting in the creation of large meshes. From Polygonica 3.2 the application can now specify a minimum edge length as well as the maximum edge length available in previous versions.
In previous versions of Polygonica the application can specify edges to preserve during the remesh process, allowing feature edges that are important to the application to be preserved exactly (a hard constraint) or as much as possible (a soft constraint). From Polygonica 3.2 the application may also specify vertices that must be preserved, allowing anchor points and reference points for measurement or registration to remain unchanged by the remesh operation.
Extensions to offsetting to allow deeper analysis of the offset result.
A new function has been added to create a new offset mesh, as opposed to modifying the existing mesh. Optionally each polygon on the new offset mesh can store a handle back to the original polygon, edge or vertex from which it was created.
The existing offset has been extended to allow optional reporting of significant concave edges in the offset result. These are edges in the offset whose attached polygons originated from polygons from different surfaces, or regions, in the original mesh.
A new Polygonica type, PTAppSurface, has been added to allow the application to specify these original surfaces, which typically may represent different CAD surface patches. The application can further filter the significant edge list using the handles linking the offset to the original mesh provided when creating a new offset mesh.
These new extensions have been driven by requests from existing customers and are likely to be useful in certain areas such as CAM toolpath generation and optimisation.
Hatch and infill extensions
Polygonica’s 2D offsetting has been extended to provide polyline dilation. The existing offset operation creates a Minkowski sum from a consistently oriented, closed, non self-intersecting 2D profile representing a boundary of an area or region in 2D space.
The new dilation operation creates a closed result from open, self-intersecting and badly oriented profiles by treating the input polyline as separate linear and arc segments. The operation is equivalent to unioning circles of a constant radii with the centre lying on the polyline, so a 180 degree arc will result at any vertices with only one edge attached.