This post describes the key enhancements introduced in version 68.0 of D-Cubed PGM (Profile Geometry Manager).
Enhancements to Loop and Region Finding
PGM has several techniques for identifying closed loops and regions in a sketch that includes any number of edges, which may be completely separate or already connected together. Crossing and touching edges will be identified as part of this process. These capabilities have been introduced over several releases – for example, see this post.
For convenience, the full range of features are described here, including the changes made in previous versions.
The features are illustrated with the simple sketch geometry shown below. Note there is no requirement that the edges are already connected into loops – they can all be separate edges, whose endpoints are in the same position.
Original sketch geometry
PGM version 66.0 allowed an application to specify a point as input, and to find a closed loop of edges surrounding that point:
Finding enclosing loop around point P
From PGM version 67.0, it is also possible to find a region surrounding a point. The region is made up of a closed outer loop, and any interior loops:
Finding region around point P
In version 68.0 of PGM, a new feature has been added that will identify all regions in a sketch:
Finding all regions
Also in version 68.0, the performance of loop and region finding has been improved, so that they can be used on very large sketches. For example, it is possible to find all the regions in a sketch containing hundreds of edges in a fraction of a second.
Improvements to intersection calculations
Significant improvements have been made to the curve intersection calculations in version 68.0. These are extensively used by the loop and region finding functionality, and the changes have improved performance and robustness, particularly where curves touch tangentially.
The improvements to intersection calculations also benefit the computation of offset loops.
About D-Cubed PGM
D-Cubed PGM (Profile Geometry Manager) enhances the productivity of sketchers. It does this by working with higher level geometric data and not individual curves. Examples include offsetting loops while inserting, extending and trimming edges, adding constraints to loops rather than to individual curves, and solving the shape of loops while maintaining their perimeter length or area. PGM is often used to add capabilities to a 2D DCM-based sketcher.