CM2 MeshTools® SDK /release 5.3.0 Preview 3
- 5.3.0 Preview 3
- October, 2022.
- Major release of the CM2 MeshTools® SDK.
- All CM2 MeshTools® SDK.
- Due to changes in the API, client applications must be recompiled against the new headers.
/caveats
- Major version. Due to changes in the API, client applications must be recompiled against the new headers.
- Lib names suffix is
_53
for this series. - New specialized tool CM2 Intersect E2 to repair intersections between 2-node edge meshes (à la CM2 Intersect T3).
- CM2 SurfMesh T3 & CM2 SurfMesh Q4 promoted to production-ready grade (no longer experimental).
- MacOS builds are now universal (support both x86-64 and Apple silicon arm64 architectures).
- Last version with Visual Studio 2013 builds (deprecated and no longer supported in future versions).
- Last version with Win32 and Linux x86-32 builds (deprecated and no longer supported in future versions).
/new features
CM2 Intersect E2
- New specialized tool to repair intersections between 2-node edge meshes (plane 2-D or 3-D) similar to CM2 Intersect T3, with tutorial manual and reference manual.
CM2 SurfMesh T3, CM2 SurfMesh Q4
- Now production-ready (no longer experimental), with tutorial manual and reference manual.
- Can now merge coincident curves (when within
settings_type::fix_tolerance
). Used to work only on vertices (but still not considered to merge coincident surfaces). - New output
data_type::merged_vertices
to tell which vertices have been merged into which. - New output
data_type::merged_curves
to tell which curves have been merged into which. - New output
data_type::nbr_vertices
for the number of vertices in the CAD model (before any merge). - Default to mesh size equal to 1/10 of highest dimension size of the model when
settings_type::target_h
= 0.
COM wrapper
- New COM wrapper for CM2 Intersect E2.
- New COM wrappers for CM2 SurfMesh T3 and CM2 SurfMesh Q4.
Miscellaneous
- New
meshtools2d::boolean_ops
to compute the differences, intersection and union between two plane domains defined by their extern contour (2-node edges closed meshes with similar orientation). Requires CM2 Intersect E2 and a plane mesh generator (CM2 TriaMesh Iso or CM2 TriaMesh Aniso). - New
meshtools2d::offset
andmeshtools2d::copy_with_offset
to offset a 3-D surface mesh (T3 and/or Q4) along nodal normals or user-defined nodal directions. Offsets can be isotropic (same offset quantity whatever the direction of the normals) or anisotropic (offset quantities depend on the direction of the normals). - New
meshtools3d::boolean_ops
to compute the differences, intersection and union between two solids defined by their extern boundary surface (3-node triangles closed meshes with similar orientation). Requires CM2 Intersect T3 and a tetrahedron mesh generator (CM2 TetraMesh Iso or CM2 TetraMesh Aniso). - New
meshtools3d::extrude_line
to extrude (sweep) a surface mesh (T3 and/or Q4) along a specific line to make a structured 3-D mesh (W6 and/or H8). Expansion ratios (spherical or anisotropic) perpendicular to the extrusion line can be set. - All solid extrusion functions (
meshtools3d::extrude_translate
,meshtools3d::extrude_rotate
,meshtools3d::extrude_spiral
,meshtools3d::extrude_line
) now have overloads with outputs for side and top surface meshes.
/improvements
All meshers
- Minor speed-ups (≤ 2%).
CM2 SurfMesh T3, CM2 SurfMesh Q4
- Port to OCCT 7.6 (Win, Linux and macOS).
CM2 SurfRemesh T3, CM2 SurfRemesh Q4
- Speed-ups and reduction in memory usage when numerous hard faces.
Miscellaneous
- As usual, doc clean-ups, update of the manuals.
/fixes
CM2 SurfRemesh Q4
- Hard quadrangles could be sometimes split into two triangles.
CM2 SurfMesh T3, CM2 SurfMesh Q4
- More robust on difficult, slender surfaces.
CM2 SurfMesh Q4
- Meshes weren’t always structured as could be.
COM wrapper
- Missing
data_type::put_colors_in
members for COM CM2 SurfRemesh T3/Q4. - Missing
settings_type::put_num_threads
members for COM CM2 SurfRemesh T3/Q4.
/breaking changes
CM2 SurfRemesh T3, CM2 SurfRemesh Q4
- Edges between two hard faces are no longer reported in
data_type::hard_edges
,data_type::skeleton_edges
,data_type::skeleton_edges_in
,data_type::skeleton_colors
anddata_type::skeleton_colors_in
.
CM2 SurfMesh T3, CM2 SurfMesh Q4 (source-code licenses only)
- Class
OCC_interface
renamed intoOCCT_interface
. - ‘
static bool OCC_interface::curve_ref_image (const curve2D_type& C, double u, DoubleVec2& P)
‘ renamed into ‘static bool OCCT_interface::curve_image (const curve2D_type& C, double u, DoubleVec2& P)
‘.