Oftentimes, many CAD vendors use their own representation of 3D geometry. Problem arise when they wish to export their data to other 3rd party tools for further analysis. This
is an example of my STEP [STandardized Exchange of Product] work [see www.step.org]. See Jon Owen's book, An Introduction to STEP. I wrote software to convert Constructive Solid Geometry (a description of 3D CAD using solid primatives (rectangular solid, cylinder, sphere) and operations on them [union, intersection and subtraction]) to a Facetted Boundary Representation (describing the geometry [point, line, plane] and topology [vertex, edge, loop, face, shell]) using Euler Boolean operations. See
, "An Introduction to Solid Modelling" and Mortenson's "Geometric Modeling", and several papers by Greyer and Braid, (see Braid, Hillyard, Stroud "Stepwise construction of polyhedra in geomeric modeling", Mathematical methods in computer graphics and design, p123-141 AP, London, 1980), and www.spatial.com's ACIS documentation for more details.
Here is the class hierarchy for my project.
Following the technalink link, you will get a dialog box asking to allow the installation of an ActiveX control from TechnaSales. You must select "Yes" to allow the installation of this executable on your hard disk. The ActiveX control is very much like MS Media Player. We are working on an C#/.NET version of this component, but that is a big undertaking. Mostly, the GUI will be in C#, but not the conversion engine.
"series An" button on the next scene, "Provnair Series" select "Draw
Part" click the icon of the floppy, 2nd row, third from last. save as
iraro.stp (Make sure that you chose the first pull down selection STEP Faceted *.stp). It takes a while for the file to appear. You should get a
output file like
this. Now you need to be able to read a STEP formatted
file. This means that you need to a CAD STEP viewer like SolidEdge,
SolidWorks, Catia, AutoCAD. If you don't have one of those, you can download
a trial viewer from a couple of sites. Go to www.google.com and search for
CAD viewers STEP You can use what I used for testing, e.g. WiseView32 from
Download the AutoVue
viewer from http://www.cimmetry.com ! Another tool, OpenCascade is a free CAD modeler for non-commercial work.
STEP is a standard based on several generations of previous standards like: faceted representation step
format , Advanced BREP step
format , CSG step
format and wireframe.
Here is a code fragment to illustrate my work. Basically, I build a model in STEP format and then serialize the data to a disk. The data is a network of entities with references to each other. When an entity is serialized, it first stores information about itself, and then stores information about it's (referenced) children. Hence each Serialize method calls the Serialize method of its child. To prevent circular reference, I use the bool CRefObj::m_Serialized variable to know that an entity has been serialized. Look at these examples,
StepAdvanced.cpp, which are two typical class files.
Here are my source and ccdoc files zipped up.
Back to technalink.