4. Converting to BRL-CAD
- 1. General Information About Converting to BRL-CAD
- 2. Converting From AutoCAD DXF Format
- 3. Converting From Elysium Neutral Facetted Format
- 4. Converting From EUCLID Format
- 5. Converting From FASTGEN Format
- 6. Converting From IGES Format
- 7. Converting From Jack
- 8. Converting From NASTRAN Format
- 9. Converting From Pro/E Format
- 10. Converting From STL Format
- 11. Converting From TANKILL Format
- 12. Converting From Unigraphics Format
- 13. Converting From Viewpoint Datalabs Format
1. General Information About Converting to BRL-CAD
BRL-CAD import converters contains the primary file formats (other than ASCII) that currently convert to BRL-CAD. Note that, as discussed previously, the "-g" designation at the end of each converter name indicates that the converted file will be in BRL-CAD’s standard geometry (.g) format.
CAD format | Import Converter |
---|---|
AutoCAD DXF |
dxf-g |
Elysium Neutral Facetted |
enf-g |
EUCLID [1] |
euclid-g |
FASTGEN (FASTGEN4 and PATCH) |
fast4-g/patch-g |
IGES |
iges-g |
Jack |
jack-g |
NASTRAN |
nastran-g |
Pro/E |
* [2] |
STL |
stl-g |
TANKILL |
tankill-g |
Unigraphics |
ug-g |
Viewpoint datalabs |
viewpoint-g |
2. Converting From AutoCAD DXF Format
DXF is Autodesk Inc.'s proprietary data specification that has been developed to support links with AutoCAD, the company’s popular CAD software. The format, which has been implemented in many CAD systems (particularly those that work on PCs), is simple and relatively limited; however, it has become a well-established means of exchanging engineering drawings.
The DXF format allows for the specification of the units used in the
DXF file; however, not all DXF files include this information. Thus,
if units information is not found in the DXF file, millimeters (which
is also the default and underlying unit of measure in BRL-CAD) is the
assumed unit of measure. Of course, if millimeters is not the right
choice for a particular user or application, the -s
(scale)
option can be used. This option and the other available options for
the dxf-g
converter are discussed in the text that follows.
When using this converter, polygons and meshes are converted to BOT primitives. Each layer becomes a region. Lines, circles, and arcs become n-manifold geometry (NMG) objects, and points become spheres.
The command for the dxf-g
converter is as follows:
dxf-g [options] input.dxf output.g
The options for the command are as follows:
-c
-
specifies that only the first color encountered for a layer in the DXF file is used; additional colors for the same layer are ignored.
-d
-
debug; produces core dump on failure.
-s
-
applies the specified scale factor to the DXF data (takes an argument).
-t
-
sets tolerance distance (in millimeters) (default is 0.005) (takes an argument).
-v
-
verbose; prints out progress information.
For more information on the DXF file format and import possibilities, see the on-line documentation on the Autodesk web site at http://adeskftp.autodesk.com/ prodsupp/downloads/dxf.pdf (Autodesk, 2003).
3. Converting From Elysium Neutral Facetted Format
Elysium Inc. was founded in 1984 to provide product structure synchronization and compatibility between different CAD systems. The company claims to hold the industry’s highest translation success rate and relies on three of its products (CADporter, CADdoctor, and CADserver) to convert geometry between a large number of formats, including Pro/E, Unigraphics, ABAQUS/CAE, ACIS, CATIA, Inventor, I-deas, Metrix Build!IT, One Space Designer, Parasolid, and SolidWorks (Elysium, 2003).
The enf-g
converter was originally written when BRL-CAD developers
needed an intermediate format-the Elysium neutral facetted file
format-to allow the conversion of Unigraphics geometry to BRL-CAD.
The converter converts each part to a BRL-CAD region consisting of one
BOT primitive. Ident numbers are incremented for each region. If a
part name mapping file is provided, part names in the input file will
be output using the corresponding names from the mapping file. The
part name mapping file may look similar to the following:
01a3-011-03 washer, flat 01a2-011-02 nut, flex . . .
The syntax for the enf-g
command is as follows:
enf-g input_file output.g
The options for the command are as follows:
-i starting_ident
-
sets the starting ident number (default is 1000).
-n part_name_mapping
-
sets the mapping from input names to output names.
-t tolerance_distance
-
sets distance calculation tolerance (in millimeters) (default is 0.005).
For more information on the Elysium file format and import possibilities, see the Elysium web site at http://www.elysiuminc.com (Elysium, 2003).
4. Converting From EUCLID Format
EUCLID is one of Europe’s primary product design, manufacturing, and engineering CAD packages (though it is quickly being superseded by CATIA). Formerly distributed by the European Aeronautic Defence and Space Company’s Matra Datavision subsidiary and now a product of the IBM subsidiary MDTVISION, the package was developed for the design and manufacture of complex models and has been used on major systems such as the Airbus, Eurocopter, Ariane, Eurofighter, Astrium, and Euromissile.
Package features include specialized applications for design, styling, drafting, analysis, machining, and product data management. Recent enhancements have focused on automatic creation of 2-D drawings from 3-D models, milling cycles, two- to four-axis wire cutting, sheet metal design, mold design, and standard data exchange format interfaces.
EUCLID offers several data translation interfaces, including those for DXF, IGES, VDA-FS, STL, and SET formats. In addition, other modules are available to help refine and customize data transfer, with direct connectivity at two levels available for CATIA (V4/V5) data transfer using BREPs to handle surface data. EUCLID geometry can be output to standard graphic (e.g., PostScript, Encapsulated PostScript, and Interleaf) and plotting (e.g., CalComp, HP, HP/GL2, OCE, and Versatec) formats as well as to an STL file.
The euclid-g
converter converts an ASCII EUCLID "decoded" format
file to BRL-CAD. Each part is converted to a BRL-CAD region
consisting of a single BOT primitive.
The syntax for the converter is as follows:
euclid-g [options]
The options for the command are as follows:
-v
-
verbose; prints out progress information.
-i input_euclid_db
-
sets input file name (default is
stdin
). -o output_brlcad_db
-
sets output file name (default is
stdout
). -d tolerance_distance
-
sets distance calculation tolerance (in millimeters) (default is 0.005).
-n
-
produces NMG primitives (default is BOT primitives).
-x lvl
-
sets librt debug flag (see
raytrace.h
in the binary distribution for definitions of DEBUG_xxx). -X lvl
-
sets NMG library debug flag (see
nmg.h
in the binary distribution for definitions of DEBUG_xxx).
For more information about the EUCLID file format and import possibilities, see the MDTVISION web site at http://support.mdtvision.com (MDTVISION, 2003).
5. Converting From FASTGEN Format
Developed by the Falcon Research and Development Company over 30 years ago, FASTGEN has been widely used in the Department of Defense air combat system assessment community (e.g., the Air Force Research Laboratory, the Joint Technical Coordinating Group for Munitions Effectiveness, and the Joint Technical Coordinating Group on Aircraft Survivability. Now distributed by the Survivability/Vulnerability Information Analysis Center (SURVIAC) as part of the Vulnerability Modeling Tool Set, the FASTGEN format uses geometry BREP based on NASTRAN, with data presented in a generic, open text-based file format.
Components of a target are represented in FASTGEN by triangles, quadrilaterals, cones, cylinders, spheres, and hexahedrons. These basic elements are designated as either plate (hollow) or volume (solid) mode and combined using a hierarchical structure for the formation of components and groups (SURVICE Engineering Company, 2002).
Notable aerospace firms and support organizations that use FASTGEN include Lockheed Martin, Boeing, Bell Helicopter , Northrop Grumman , Pratt & Whitney , General Electric , KETRON , ITT , BAH , SURVICE Engineering , and ASI .
There are several versions of FASTGEN currently in use. FASTGEN converters include FASTGEN4 and preprocessed FASTGEN Version 3 (also referred to as PATCH).
5.1. FASTGEN4
The fast4-g
converter converts FASTGEN4 entities to corresponding
BRL-CAD objects.
The syntax for the fast4-g
command is as follows:
fast4-g [options] fastgen4_input output.g
The options for the command are as follows:
-d
-
prints verbose debugging output.
-q
-
prints nothing except errors.
-w
-
prints warnings about creating default names.
-o plot_file_name
-
creates a UNIX plot file of all CTRI and CQUAD elements processed.
-c component_list
-
processes only the listed region ids; may be a list (e.g., 3001,4082,5347) or a range (e.g., 2314-3527).
-m muves_file_name
-
creates a MUVES warnings file containing CHGCOMP and CBACKING elements.
-b lvl
-
sets libbu debug flag (see
bu.h
in the binary distribution for definitions of BU_DEBUG_xxx). -x lvl
-
sets librt debug flag (see
raytrace.h
in the binary distribution for definitions of DEBUG_xxx).
5.2. Preprocessed FASTGEN Version 3/PATCH
The patch-g
converter converts preprocessed FASTGEN version 3 files
to BRL-CAD format. The syntax for the command is as follows:
patch-g [options] output.g
The options for the command are as follows:
-f fastgen.rp
-
specifies preprocessed FASTGEN file (default is
stdin
). -a
-
processes phantom armor.
-n
-
processes volume mode as plate mode.
-u #
-
specifies the number of union operations per region (default is five).
-c "x y z"
-
specifies the object’s center (in inches) (for some surface normal calculations).
-t title
-
specifies optional title (default is "Untitled MGED database").
-o object_name
-
specifies optional top-level name (default is "all").
-p
-
writes volume and plate mode components as BOTs.
-6
-
processes plate mode triangles as ARB6 solids (overrides p option for triangles).
-i group.file
-
specifies group labels source file.
-m mat.file
-
specifies materials information source file.
-r
-
reverses normals for plate mode triangles.
-d lvl
-
sets debug level.
-x lvl
-
sets librt debug flag (see
raytrace.h
in the binary distribution for definitions of DEBUG_xxx). -X lvl
-
sets librt NMG debug flag (see
nmg.h
in the binary distribution for definitions of DEBUG_xxx). -T tolerance_distance
-
sets distance tolerance (in inches).
-A parallel_tolerance
-
sets parallel tolerance (sine).
For more information about the FASTGEN file formats and import possibilities, see the SURVIAC web site at http://www.bahdayton.com/surviac/fastgen.htm (SURVIAC, 2003).
6. Converting From IGES Format
IGES was developed in 1979 by a consortium of government, industry, and academia representatives. Originally intended to provide a means of exchanging graphics and engineering drawings, IGES was extended to include solid models as well. This specification includes so many different implementations within itself that conversion between IGES flavors has become a small industry. Thus, conversion to/from IGES is a "hit-or-miss" proposition (NIST, 2003).
The Product Data Exchange using STEP specification is intended to replace IGES and correct the aforementioned deficiency by explicitly identifying different types of conversion and requiring converters to conform to those types. BRL-CAD supports conversion of two implementations of IGES, entirely facetted BREP and CSG with facetted BREP primitives.
The syntax for the iges-g
converter is as follows:
iges-g [options] -o output.g input.iges
The options available for this command are as follows:
-n
-
combines all the rational B-spline surfaces in the file into one BRL-CAD spline primitive.
-d
-
converts drawings in the IGES file to 2-D BRL-CAD NMG primitives.
-3
-
same as the
-d
option, but the final projection to 2-D is not performed. This can produce 3-D drawings in some cases. -t
-
converts all trimmed surfaces in the IGES file to a single BRL-CAD NMG primitive.
-N primitive_name
-
specifies a name for single primitive created using the
-t
or-n
options. -p
-
converts all BREP entities to BRL-CAD NMG primitives rather than the default BOT primitives.
-x lvl
-
sets librt debug flag (see
raytrace.h
in the binary distribution for definitions of DEBUG_xxx). -X lvl
-
sets librt NMG debug flag (see
nmg.h
in the binary distribution for definitions of DEBUG_xxx).
The -n
, -d
, -t
, and -3
options are
mutually exclusive. If none of these four options is provided, the
default action is to convert only IGES solid model entities (CSG and
planar face BREP) to BRL-CAD.
For more information about the IGES file format and import possibilities, see the National Institute of Standards and Technology (NIST) web site at http://www.nist.gov/iges (NIST, 2003).
7. Converting From Jack
Jack is a 3-D interactive ergonomics and human factors CAD package developed by the University of Pennsylvania’s Center for Human Modeling and Simulation. Now maintained and distributed by Electronic Data Systems (EDS) (the company that now also distributes Unigraphics and NASTRAN), the package enables users to study and improve the ergonomics of product design and workplace tasks through the positioning of biomechanically accurate digital humans of various sizes in virtual environments. Jack and Jill digital "humans" can tell engineers what they can see and reach, how comfortable they are, when and why they’re getting hurt, when they’re getting tired, and other important ergonomics information. The package’s principal features include a detailed human model, realistic behavioral controls, anthropometric scaling, task animation and evaluation systems, view analysis, automatic reach and grasp, and collision detection and avoidance (The University of Pennsylvania, 2001; EDS, 2003a).
The jack-g
converter creates a single region consisting of a single
BOT primitive. The syntax for the converter is as follows:
jack-g [options] input.jack output.g
The options for this command are:
-r region_name
-
specifies a name for the BRL-CAD region created. If this option is not specified, the input file name will be used to construct a region name.
-g group_name
-
specifies the name of a combination to create to hold the BRL-CAD region created. If this option is not specified, the combination will not be created.
For more information on the Jack file format and import possibilities, see the EDS web page at http://www.eds.com/products/plm/efactory/jack/ (EDS, 2003a).
8. Converting From NASTRAN Format
Originally developed under National Aeronautics and Space Administration (NASA) sponsorship in the mid-1960s, the NASA Structural Analysis (NASTRAN) program was one of the first efforts to consolidate structural mechanics into a single computer program. It has since been used as a general-purpose software tool in numerous industries, including aerospace, automotive, medical, heavy machinery, electronic devices, and consumer products. The program is developed and distributed by the MSC.Software Corporation (MSC) and (as of June 2003) the EDS Corporation. It employs advanced finite element analysis computational techniques to analyze material strength/performance and evaluate static structures and the dynamic motion of structures (SURVICE Engineering Company, 2002; MSC.Software Corporation, 2003).
NASTRAN’s nonlinear analysis capabilities can address a wide range of static and dynamic problems exhibiting both material and geometric nonlinear behavior. Heat transfer problems can also be solved using conduction, convection, and radiation methods under a variety of applied loads and boundary conditions.
The NASTRAN finite element modeling program is one of the general-purpose structural analysis programs used worldwide. Even though it was originally intended for structural analysis problems, its current applications include aeroelasticity, heat transfer, fluid structure interaction, acoustics, electromagnetics, and many other applications.
NASTRAN includes a file specification for describing geometric data. NASTRAN’s wide use and adoption by CAD vendors make it well suited as a file standard.
The nastran-g
converter currently only converts CBAR, CROD, CTRIA3,
and CQUAD4 elements of NASTRAN files to BRL-CAD format. CBAR and CROD
elements become cylinders in BRL-CAD. CTRIA3 and CQUAD4 elements
become BOT facets.
The syntax for the converter is as follows:
nastran-g [options]
The options for the command are as follows:
-i NASTRAN_input_file
-
sets input NASTRAN file (default is
stdin
). -o output.g
-
sets output file name (default is "nastran.g").
-n
-
produces NMG primitives (default is BOT primitives).
-x lvl
-
sets librt debug flag (see
raytrace.h
in the binary distribution for definitions of DEBUG_xxx). -X lvl
-
sets NMG library debug flag (see
nmg.h
in the binary distribution for definitions of DEBUG_xxx). -t tolerance_distance
-
sets distance calculation tolerance (in millimeters) (default is 0.005).
-m
-
sets input units to millimeters (default is inches).
For more on the NASTRAN file format and import possibilities, see the MSC web site at http://www.mscsoftware.com (MSC.Software Corporation, 2003) and the EDS web site at http://www.eds.com/products/plm/nastran/ (EDS, 2003b).
9. Converting From Pro/E Format
Distributed by the Parametric Technology Corporation (PTC) , Pro/E is one of the most widely used commercial CAD packages for designing, engineering, and manufacturing products. The long list of major corporations that use Pro/E software for Product Lifecycle Management includes Boeing , Rolex , Audi , Dell , Nike , Maytag , Braun , and Hewlett-Packard (PTC, 2003).
Because of Pro/E’s popularity in the Defense community, the Pro/E-to-BRL- CAD converter is one of the most important conversion utilities that BRL- CAD offers. Note that unlike the converters for other formats, the Pro/E converter is no longer command-line activated. This converter was written using the Pro/Toolkit module of Pro/E and therefore runs as part of the Pro/E program and GUI.
Accordingly, in order to use the converter, the user must have a seat of Pro/E as well as the BRL-CAD distribution. Currently, the converter is only supported on Silicon Graphics (SGI) machines with MIPS processors running the Irix operating system. The source code for this converter is included in the binary distribution, so users can compile it for different platforms if they have the Pro/Toolkit module for that platform.
Pro/E models are made up of two elements: parts and assemblies. Part
files (which are designated by a .prt
extension) are the basic
building blocks of Pro/E geometry. Assembly files (which are
designated by a .asm
extension) are composed of parts and/or
other assemblies. The converter produces a BRL-CAD region for each
Pro/E part that is converted and a BRL- CAD combination for each Pro/E
assembly that is converted. Each of these regions will consist of a
single BOT primitive.
The conversion of geometry from Pro/E to BRL-CAD is a two-stage
process. This converter first produces the ASCII form of BRL-CAD
databases. The user then converts these databases to binary form
using the asc2g
utility.
In addition, because Pro/E files for most vehicles are so large (often several GBs in size), entire geometries typically cannot be loaded all at once. Thus, the BRL-CAD user often has to convert geometry system by system (e.g., engine, transmission, and suspension) and then concatenate (i.e., join) them together in a single BRL-CAD geometry file. For more detailed information about this process, see the discussion on dbconcat in Volume III of this tutorial series.
Pro/E makes extensive use of referenced geometry. As discussed in the
previous volume of this tutorial series (see section 5 of Butler
et al. [2003]), referencing is the method by which multiple
occurrences of objects are created by referring to a single object
numerous times with different orientations and locations for each
reference. These references are duplicated in BRL-CAD using
combinations and transformation matrices. In some cases-such as when
geometry is used with vulnerability codes that require each region to
have a unique ident number-users may need to use the xpush
command
in MGED after the conversion is complete to replace the references
with real geometry. For more information about this procedure, users
should consult MGED’s on-line help or the xpush
entry in volume II
of this tutorial series (see appendix A of Butler et al. [2001]).
The command to start the Pro/E program is specified by each installer.
When Pro/E is started, the program looks for a file named
protk.dat
in a few specific places, one of which is in the
current directory. This file informs Pro/E about Pro/TOOLKIT modules
it should load. There is a protk.dat
file for the
Pro/E-to-BRL-CAD converter, and it is included in the distribution
under the pro-engineer directory. Users should copy this file to the
directory where they will be starting Pro/E. After that file is in
place, Pro/E will load the converter at startup. If the loading
succeeds, users will see a message saying "Installation of Proe-BRL
converter succeeded." With Pro/E started and the converter module
loaded, the user can open any Pro/E model he wants to convert.
The conversion process is started by selecting the Converter dialog box, will then appear.
item in the Pro/E drop-down menu. The converter dialog box, shown inimage::test_img.eps[]
The following list provides a description of the use and functionality of the primary elements in the dialog box. Note that the box is preloaded with reasonable defaults for many of the inputs. In addition, if the user has a question about any of the entry windows, check boxes, or buttons, he can move the mouse over them to see a brief explanation of their use.
-
Output File Name — This is the name of the file to receive the ASCII output.
-
Log File Name — If provided, verbose status logging will be written to that file.
-
Part Name File — If provided, the converter will use that information to map Pro/E part and assembly names into the specified BRL-CAD object names. This file is simply a text file with each line specifying a Pro/E part or assembly name and a BRL-CAD object name separated by white space. Note that the BRL-CAD names should not include any special characters such as "/", "[", "]", or white space.
-
Starting Ident Number — Ident numbers will be assigned to the resulting BRL-CAD regions sequentially starting with the number that appears in the window.
-
Max Tessellation Error — This value (expressed in millimeters) is used to control the coarseness of the tessellation. It is the maximum distance between the actual surface and its tessellated approximation. Smaller values here will result in finer tessellations and more triangles. The default value is reasonable for ballistic vulnerability analysis purposes.
-
Angle Control Value — This is a number between 0 and 1 that provides additional control over the coarseness of the tessellation. The exact relationship between the tessellation and this value is not specified in the Pro/E documentation, but the default value of 0.5 seems to work well.
For more information about the Pro/E file format and import possibilities, see the Parametric Technology Corporation (PTC) web site at http://www.ptc.com (PTC, 2003).
10. Converting From STL Format
The STL format was developed by 3D Systems, Inc. , in the 1980s for use with its StereoLithography Apparatus (SLA). The SLA device produces a physical 3-D model based on an STL format file. Because of its simplicity, the STL format has become an industry standard for exchanging 3-D models. Unfortunately, this simplicity also presents some limitations.
The format consists only of triangles, and each triangle is represented by three vertices and a surface normal vector. Because the vertices for each triangle are explicitly listed, rather than indexed from a list, the topology must be inferred by the receiving system, which can sometimes lead to incorrect geometry.
STL files may be either ASCII or binary. The ASCII format includes the capability of including more than one solid part and an optional name for each part, while the binary format can only support a single solid part with no naming.
The stl-g
converter converts STL format to BRL-CAD. The STL format
is entirely triangles. The resulting BRL-CAD database will consist of
one or more regions and a top-level combination named "all," which
contains all the regions produced. Each region will consist of a
single BOT primitive.
Note that the ASCII format STL file includes a capability to contain more than one solid part. The regions created will be named according to the name specified in the STL file unless a name is provided on the command line. If the STL file does not specify any name, and the user does not provide a name, then the regions produced in the BRL-CAD database will be constructed from the name of the STL file.
The syntax for the stl-g
converter is as follows:
stl-g [options] input.stl output.g
where input.stl
is the STL file to be converted and
output.g
is the name of the BRL-CAD database to receive the
converted output.
The options for this command are as follows:
-b
-
designates that the input STL file is in binary format (the default is ASCII).
-c units
-
specifies the units used in the STL file. Choices include "cm", "m", "in", "ft", and many others (the default is millimeters).
-N name
-
specifies a name for the resulting BRL-CAD region. If more than one region is produced, unique region names will be constructed by adding a suffix consisting of an underscore and an integer.
-d
-
designates that additional debugging information be printed during the conversion.
-i ident
-
specifies the ident number assigned to the first region created during the conversion. Additional regions will be assigned sequential ident numbers.
-I ident
-
specifies the ident number to assign to all the BRL-CAD regions created during this conversion. (This option and the
-i ident
option are mutually exclusive.) -m material_code
-
specifies the integer material code to be assigned to each BRL-CAD region created during this conversion.
-t tolerance_distance
-
specifies the minimum distance (in millimeters) allowed between distinct vertices. Vertices closer than this minimum will be considered to be the same vertex (the default value is 0.005 mm).
-x librt_debug_flag
-
specifies a flag for the raytracing library that will result in additional debug log messages (see
librt/debug.h
in the binary distribution for details).
For more information on the STL file format and import possibilities, see the 3D Systems web site at http://www.3dsystems.com (3D Systems, 2003).
11. Converting From TANKILL Format
Distributed by the Advantage Business Group, a contractor to the British Ministry of Defence, the TANKILL format is used with the TANKILL vulnerability and lethality assessment code. This format is another purely triangulated representation of solid objects.
The syntax for the tankill-g converter is as follows:
tankill-g [options]
The options for the command are as follows:
-v
-
verbose; prints out progress information.
-n
-
produces NMG primitives (default is BOT primitives).
-i input.tkl
-
specifies the input TANKILL file (default is
stdin
). -o output.g
-
specifies the output BRL-CAD file (default is
tankill.g
). -k
-
keeps components with id = 1001 (normally skipped).
-x lvl
-
sets librt debug flag (see
raytrace.h
in the binary distribution for definitions of DEBUG_xxx). -X lvl
-
sets NMG library debug flag (see
nmg.h
in the binary distribution for definitions of DEBUG_xxx).
For more information on the TANKILL file format and import possibilities, contact the Advantage Business Group at
the Barbician East Street Farnham, Surrey GU9 7TB
or visit the web site at http://www.advantage-business.co.uk (Advantage Business Group, 2003).
12. Converting From Unigraphics Format
Like Pro/E, Unigraphics is a widely popular CAD format used by thousands of companies in the United States and abroad, including General Motors , Ford , Kodak , General Electric , Pratt & Whitney , Boeing , and Samsung . Now distributed by EDS (the company that also distributes Jack and a version of NASTRAN), the Unigraphics toolset addresses traditional CAD/CAM/CAE, conceptual and industrial design, knowledge-based engineering, real-time design collaboration, and process automation (EDS, 2003c).
There are three modeling methodologies offered with Unigraphics. First, explicit (or traditional) modeling uses points, curves, and surfaces with no associativity or history. Second, history-based modeling uses associative geometric entities. Third, direct modeling uses a combination of both explicit and history-based modeling and also allows the global application of geometric rules and constraints across geometry of all origins (SURVICE Engineering Company, 2002).
Unigraphics bases its component geometric modeling capabilities on the Parasolid geometry engine (developed by EDS in Cambridge, England) and related XT file format. This enables Parasolid-based systems (e.g., Unigraphics, Solid Edge, and systems by Parametric Technology, SolidWorks, Bentley Systems, CADKEY, ANSYS, Mechanical Dynamics, and MSC.Software) to share and exchange geometric data without translation via an interoperable data pipeline (SURVICE Engineering Company, 2002).
Because the Unigraphics-to-BRL-CAD converter, ug-g, was written using the Unigraphics UG/Open API library, users must have a Unigraphics UG/Open execute or development license in order to run it. This converter is compiled for SGI Irix machines running on MIPS processors; however, users can compile it for other platforms by obtaining the BRL-CAD source distribution and a UG/Open development license from Unigraphics.
This converter creates a BRL-CAD region consisting of a single BOT primitive for each Unigraphics part and a combination for each Unigraphics assembly. Each instance of a Unigraphics part is converted independently, so there are no transformation matrices created in the resulting BRL-CAD model. The BRL-CAD regions are given the same name as the parts are assigned in the Unigraphics model, unless a part-name mapping file is provided. Region names are made unique, if necessary, by adding a suffix consisting of a dot and an integer number.
The syntax for this converter is as follows:
ug-g [options] -o output.g UG_part_file [subpart1 subpart2 …]
where the UG_part_file
is a Unigraphics part file. If
subparts are listed on the command line, only those named parts in the
specified part file will be converted.
The available options are as follows:
-d level
-
specifies a debug level for additional log messages. Currently, any nonzero value here provides additional logging.
-i initial_ident
-
specifies the ident number for the first region created by the conversion. Subsequent regions are assigned sequential ident numbers.
-n part_name_file
-
specifies a file containing a mapping of Unigraphics part and/or assembly names to BRL-CAD object names. If this file is provided, it will be used to create object names in the BRL-CAD model. The format of this file is simply a line per part, with the Unigraphics part/assembly name followed by the desired BRL- CAD object name, separated by white space. Note that the usual restrictions for BRL-CAD object names apply (e.g., no spaces, no special symbols, etc.) For a detailed discussion of recommended naming schemes and restrictions, see section 4 of Volume III (Butler et al., 2003).
-R refset_name
-
specifies a desired reference set (which Unigraphics uses to provide additional control over assembly components), overriding the reference set specified in the Unigraphics model.
-f
-
facetizes all the geometry. If this option is not specified, the converter will attempt to create CSG equivalent geometry wherever possible.
-s
-
lists all features that were attempted to convert to CSG. (This option and the
-f
option are mutually exclusive.) -u
-
extracts surface normals from the Unigraphics model. Using this option will result in a BRL-CAD model that is significantly larger than when not using it, but raytraced objects will appear much smoother.
-o output.g
-
specifies the name of the file to receive the BRL-CAD model.
-t tolerance_distance
-
specifies the minimum distance (in millimeters) allowed between distinct vertices. Vertices closer than this minimum will be considered to be the same vertex (the default value is 0.005 mm).
-a surface_normal_tolerance
-
specifies a surface normal error tolerance (in degrees) for the facetization process. By default, the surface normal is not considered during facetization.
-c min_chamfer
-
specifies that any chamfer with dimensions less than the provided minimum (in millimeters) will be ignored. By default, no features are ignored.
-r min_round
-
specifies that any round (or fillet) with a radius less than the specified minimum (in millimeters) will be ignored. By default, no features are ignored.
For more information on the Unigraphics file format and conversion potential, see the EDS web site at http://www.eds.com/products/plm/unigraphics_nx/ (EDS, 2003c).
13. Converting From Viewpoint Datalabs Format
Viewpoint Datalabs started out as a commercial supplier of 3-D models, maintaining a large repository of facetted models of many objects. The company has since grown to provide more services than models, and its model repository is now maintained by Digimation, Inc.
The viewpoint-g
converter converts the Viewpoint Datalabs coor/elem
format to BRL-CAD format. Objects in the input files are converted to
regions, each consisting of a single BOT primitive. The converter
will assign vertex normals if they are present in the input files.
Two files are expected, one that contains vertex coordinates (and
optional normals) and one that lists the vertex numbers for each
polygonal face. This format was used by the original Viewpoint
Datalabs model repository. The current repository uses more common
formats such as DXF and VRML.
The syntax for the converter is as follows:
viewpoint-g [options]
The options for the command are as follows:
-c coord_file_name
-
sets the input vertex coordinates file name (required).
-e elements_file_name
-
sets the input faces file name (required).
-o output_file_name
-
sets the output BRL-CAD database name (default is
viewpoint.g
). -t tolerance_distance
-
sets distance calculation tolerance (in millimeters) (default is 0.005).