PO Box 2717
Midland, MI 48641
We provide IGES,
All of our translators run off of a common core, and are very similar in
structure. There are three layers in the core:
(In the future, we anticipate a fourth layer based around SMLib's
advanced solid capabilities.) Each layer builds upon the previous
layers; and you can stop at any point.
- 1. Generic utility classes and functions, including a
miniature subset of the new C++ standard library.
- 2. The
HwNlibObject family of classes to
represent geometry and topology, built around the Nlib data
- 3. A set of tools for transfering those data structures
into TSLib/SMLib, cleaning up the data in the process. (The
cleaning is necessary to handle the inaccurate geometry
data that plagues the CAD world.)
For each different file format we support, then there are three available
possibilities, each building on the corresponding layer:
- 1. Low level file reading and writing. This layer does not
understand geometry at all; it only provides for an
internal representation of the CAD file, and I/O
- 2. The Nlib layer, which captures all the geometry in the
HwNlibObject entities. This allows
the data to be accessed in simple ways, and converted
to NURBS data. While the organizations of trimmed surfaces
and solid breps are captured, this provides only a few
simple tools for actually working with the data as such.
For real trimming tools, you need to go to the next level.
- 3. The TSLib layer, which transports data from the Nlib
layer into TSLib using the core's HwNlibObject to TSLib
translator classes. In order to handle the inaccurate
geometry data that plagues the CAD world, it performs a
number of cleaning functions using TSLib's advanced
intersection and projection capabilities.
All translators are available as C++ source code, designed with the new
ISO C++ standard in mind, but targeted at the prior generation of
compilers. Easy-to-use function-based interfaces are provided, as well
as the access to the powerful classes used to implement them.
The code has been tested extensively on Microsoft Visual C++ and EGCS
version of GCC. It has been successfully compiled with Borland C++
5.01 and numerous Unix compilers.
Return to the main HarmonyWare page.