Field Precision title

Bulletproof 3D CAD import

From a cross-section of recent setups submitted by users, it's clear that data import from programs like SolidWorks is absolutely necessary for a practical 3D mesh generator. We've been adding such capabilities to MetaMesh for several years. The method for the analysis of STL objects in MetaMesh 2.5 was well-received by users. Nonetheless, occasionally I received examples from users that defeated the routines. Figure 1 shows one case. The old algorithm (based on the identification of comparison facets by proximity) was slow and was challenged when there were highly acute triangles near sharp edges. For these reasons, my advice to potential users was cautious: use STL objects sparingly for complex shapes and use native MetaMesh solids whenever possible.


Figure 1. Facet display of typical STL object (Geometer STL Viewer).

In the current version of MetaMesh , we revamped the STL routines and did an extensive efficiency analysis. Furthermore, we parallelized the import process in the 64-bit program. There are two results:

  • A speed increase by up to a factor of 5.
  • High reliability for any valid STL object (i.e., no holes), independent of the shape of the facets.

Figue 2 shows the problematic user example, resolved quickly and successfully by MetaMesh 3.0. I believe that we now have the fastest, most reliable and simplest method for importing 3D CAD information of any finite-element system. Equally important, the process has a high level of user transparency. Accordingly, my official advice to potential users has changed: if you want to transfer an entire assembly from SolidWorks, go right ahead.

I thought I would take an opportunity to explain why we picked STL files as the transfer medium. Semi-proprietary formats like IGES and STEP are verbose, laden with far more information than required for electromagnetic field solutions. Furthermore, these formats are complex and malleable, with the potential introduction of proprietary features. Direct interaction with the API of the CAD programs has its own drawbacks. Creation of the interface involves extensive labor for each CAD program, contributing to higher costs for the finite-element program. A version change by one CAD vendor necessitates additional work and an update of the client program. Most important, with a direct API connection the mesh conversion process is hidden from the FE program user. Although conversions may proceed smoothly for certain classes of solutions, the crash of a closed process for solutions outside the envelope leaves no recourse for repairs.

STL (stereo lithography) files form the basis of the 3D printing industry. An STL file consists simply of list of triangular facets. The facets define the surface of an object of any level of complexity. Each file represents an individual part of an assembly. STL files offer several advantages for 3D data transfer:

  • The format is simple and immutable. Because the format is critical for an extensive base of expensive 3D printers, CAD vendors can not introduce modifications or proprietary features.
  • Information exchange is highly efficient because the files carry essential geometrical information and nothing else.
  • The importance of the 3D printing industry ensures that all 3D CAD programs include an STL export capability.
  • A variety of third-party software is available for viewing, transforming and correcting STL objects.

The STL format is a perfect fit to MetaMesh. The mesh generation process involves fabrication of a 3D assembly from a summation of solid parts. The program requires only shape information. All physical data is introduced in the subsequent finite-element solution programs.

Generation of STL files from a CAD program like SolidWorks is straightforward. Export from the Assembly space gives absolute facet coordinates that define the position and orientation of multiple parts, with a separate file for each part. Graphical preview features allow the user to control the quality of the surface representation. Unnecessary details that do not play a role in the electromagnetic solution and even entire parts may be suppressed. The resulting STL objects may then be inserted in the mesh space in Geometer.

The Geometer/MetaMesh system has capabilities that extend beyond the literal import of a CAD assembly:

  • Geometer includes tools to introduce reflections, translations and stretching directly into STL files. In addition, the program includes a full-featured STL viewer with three-dimensional and precision projection displays.
  • STL objects may be combined with native fundamental solids defined by parametric models.
  • Users can introduce shifts and rotations of individual STL parts to perform perturbation analyses without the need to regenerate the CAD model.
  • MetaMesh script directives enable global translations and rotations of entire STL assemblies.

If you have MetaMesh 3.0, here are links to input files for the benchmark test in the figures:

new_stl_method.min

new_stl_method.stl


Figure 2. STL object resolved in MetaMesh

LINKS