CA5 SDB Doc
CA5 SDB Doc
Contents
USER GUIDE
Revision: 1.0
Issued: 30/03/2021
Documentation ...................................................................................................................... 8
Installation Media .................................................................................................................. 8
Installation.............................................................................................................................. 8
License Configuration ............................................................................................................. 8
Running the Product .............................................................................................................. 9
Using the Product....................................................................................................................... 9
Export ................................................................................................................................... 29
Introduction ......................................................................................................................... 34
Overview of CADverter
About Theorem
Theorem Solutions is a world leader in the field of
Engineering Data Services and Solutions. This
leadership position stems from the quality of our
technology and the people in the company. Quality
comes not only from the skills and commitment of
our staff, but also from the vigorous industrial use of
our technology & services by world leading
customers.
We are proud that the vast majority of the world's leading Automotive, Aerospace, Defense,
Power Generation and Transportation companies and their Supply chains use our products
and services daily. Working closely with our customers, to both fully understand their
requirements and feed their input into our development processes has significantly
contributed to our technology and industry knowledge.
TRANSLATE
PUBLISH
VISUALIZE
Theorem’s CADverter product for CATIA ICEM Surf to CATIA V5 is a direct database converter
between Dassault Systemes CATIA ICEM Surf and CATIA V5. It enables the user to convert all
forms of mechanical design geometry, as well as assembly and attribute information,
between these two systems.
The CATIA ICEM Surf - CATIA V5 CADverter product is a bi-directional product. It can be used
interactively, from the command line or in a batch mode, from a standard GUI Interface,
offering combined viewing, data filtering and translation capabilities.
The CADverter directly accesses native CATIA ICEM Surf files using the Dassault Systemes
supported programming interface. Structure details and geometry colour information is
retained during translation.
The relevant CAD products will be referred to as Surf and V5 throughout the rest of this
document.
• The integrated viewing capability enables visually verification, pre and post
translation
• The integrated data filtering options allows selected data ONLY to be processed,
enabling optimisation of translations and time savings
• By converting all forms of geometry no data is lost, eliminating the time required to
recreate missing data
• With over 20 years industrial use Theorem’s product robustness and quality is well
proven, reducing your business risk
This document will focus specifically on guidance for the use of the CADverter for Surf – V5
product. For information regarding any of Theorem’s product ranges please contact
[email protected]
Getting Started
Documentation
The latest copy of this documentation can be found on our web site at:
http://www.theorem.com/Documentation
Each product has a specific link that provides user documentation in the form of PDF and
Tutorials.
Installation Media
The latest copy of Theorem software can be found via our web site at:
http://www.theorem.com/Product-Release-Notes
Each product has a specific link to the Product Release Document, which contains a link to
the download location of the installation msi.
Alternatively, you can request a copy of the software to be shipped on a physical CD.
Installation
The installation is run from the MicroSoft Installer package(s) provided.
To install the translator, select the Translator product msi required and
follow the installation process. For a full guide to the process, please see our
‘Translator Installation Process’ demonstration video located here.
In addition, the Theorem Unified Interface will also need to be installed. The
installation process is the same as for the Translator. For a full guide to the
process, please see our ‘Translator Installation Process’ demonstration video
located here.
License Configuration
In order for the translation to run successfully, the Theorem license file
provided to you needs to be configured using FlexLM. For a full guide to this
process, please see our ‘FlexLM License Set Up and Configuration’
demonstration video located here.
All specific Surf environment configuration details are documented in Appendix A of this
document.
o For a full guide to this process, please see our ‘How to Translate Using the
Surf – V5 CADverter via the User Interface’ demonstration video located
here.
o For a full guide to this process, please see our ‘How to Translate Using the
Surf – V5 CADverter via the Command Line’ demonstration video located
here.
<UI_installation_directory>\bin\Unified_Interface.cmd
The default layout is split into 4 primary areas, which can be altered to the users preference:
Translation Active
Activity Configurations
Output File
Logs Browser
The simplest way to translate from Surf or V5 is to drag a file from the file Browser Pane on
to the Active Configurations for the translation you require.
On completion, the Unified Interface will display the activity information and details from
the log file created during the translation, if requested, in the Translation Activity and Output
Log panes, respectively.
The generated output data can be located by selecting the translation from the Activity pane
and opening the output folder. Other tasks such as Re-processing the translation are also
possible from this menu:
<Translator_installation_directory>\bin\cad_run_UI.cmd SurfDB_CATIA5[XX] –i
<input_file> -o <output_file> -c “<configuration name>”
<Translator_installation_directory>\bin\cad_run_UI.cmd SurfDB_CATIA5[XX] –i
<input_file> -o <output_file> -c “<configuration name>”
Where <configuration name> is the name of a Configuration e.g. “My SURF V5 Config” (see
below)
(Note! Replace the [XX] seen in the example with the version of V5 that you are using. E.g.
for V5R31, change to CATIA531):
The example above will translate a Surf sample file provided within the installation and
produce the following screen output:
CADverter Customization
CADverter allows the information that is read from the source system and written to the
target system to be tailored via a set of user specified arguments. Commonly used
arguments are supported via the Unified Interface, with Advanced Arguments being
described within this document for use in the Unified Interface or via the Command Line
invocation.
2. Conversion of the Polygon Curve is dependant upon whether the 'mc_to_bsp' and
'mc_to_lin' options have been used. If none of these options are used then Polygon
Curves are ignored. They can both be used together if required.
3. Standalone Spline Surfaces are always faced as CATIA V5 always has topology on
geometry.
4. Shells will be written as separate Faces. If the 'break_shells' option is used or the
Shell sewing process fails, the shell will be formed by a Surface Join.
• Surf Read – Those arguments that affect how data is read from Surf
• V5 Write – Those arguments that affect how the data is written to V5
• Entity Mask – Those arguments that allow specific read entities to be masked
• General – Those arguments that are common to ALL Publishing activities
regardless of source data
Option Description
Icem This tolerance is used in the translation when checking Face base surfaces
Tolerance for degeneracy and when fitting 3D edge curves.
This can be altered with this option if required (Default is 0.000001m) o
Command Line Syntax:
icem_tol0.000001
Polygon Converts polygon curves to b-splines. (Default is OFF). o
Curves to Command Line Syntax:
B-splines mc_to_bsp – to turn on
Sewing When a Shell is read it has to be sewn together (unless the break_shells
Tolerance option has been used). (Default is 0.09/units). o Command Line Syntax:
Don’t Read By default entity names are read from V5 (Default is Off) o
Names Command Line Syntax:
no_read_names – to turn on
Auto Face This option specifies that standalone Bezier patches should be
automatically faced. (Default is Off) o Command Line Syntax:
auto_face – to turn on
V5 Write Arguments
The image below shows the Write V5 arguments that are available, with their default
settings:
Write Face Colours Reads face colour but this can lead to a performance hit. The
alternative option is apply the colour from the solid.
Default is on o Command Line Syntax
SOLID_COLOUR to toggle from Face
Colours
Show Reference Planes Shows planes. Default is Off. o
Command Line Syntax
plank_planes
dont_blank_planes – to turn on
Option Description
Mask File Specifies the Mask File to be written to, that can be
referenced by future translations. A Mask file MUST be
specified if masking is required. The first line in this file is
OFF ALL ENT: o Command Line Syntax:
Mask <filename>
Entity Types Translated Specifies a selection list from which to select which entity
types are to be processed. The following types are available:
"POI",”LIN”,”ARC”,”CON”,"CUR"
,”ISO”,”SUR”,”FAC”,"TEX","AXI" o
Command Line Syntax:
Add any of the above to the specified
mask file, one entry per line prefixed
by the word ON, e.g.: ON POI
to ensure they are considered in the
translation
Layers Translated Specifies a selection list from which to select which layers
are to be processed. o Command Line Syntax:
A single entry of ON ALL LAY Must
precede any Layer Mask command.
Option Description
Advanced Allows any of the Command Line Advanced arguments documented
below to be passed to the Unified Interface invocation
There are a number of arguments that may be provided to the CADverter. They can be
supplied in any order. Those marked in red italics are on by default when running from
within the ICEM SURFDB GUI. These options are chosen to maintain the data quality with
respect to surface and curve parameterization etc. rather than ensure greatest success on
conversion.
Option Description
Advanced Allows any of the Command Line Advanced arguments
documented below to be passed to the Unified Interface
invocation
icem_tol <val> This tolerance is used in the translation when checking Face
base surfaces for degeneracy and when fitting 3D edge
curves. The default icem_tol is 0.0025 mm or 0.0001 inch. If
required, this can be altered with this option if required.
mc_to_bsp This specifies that Polygon Curves read from the SURFDB file
should be converted to linear B-Splines. Both mc_to_bsp
and mc_to_lin can be used in a translation. If neither of
these options are used, then NO Raw Data is converted.
Only Polygon Curves of type PolygonTypePoint3d and
PolygonTypePoint3dPoint3d are supported.
mc_to_lin This option specifies that Polygon Curves read from the
SURFDB file should be converted to Line entities. Both of
mc_to_bsp and mc_to_lin can be used in a translation. If
neither of these options are used, then NO Raw Data is
converted. Only curves of type PolygonTypePoint3d and
PolygonTypePoint3dPoint3d are supported.
sew_skins [tol] When a Shell is read its subordinate faces have to be sewn
together. This is achieved by the join operator which checks
if all entities are within the defined tolerance. The tolerance
by default is 0.001 mm. If the check fails the join are not
successful.
skins_angle [ang] When the join is created the angle between connecting
edges can be checked to see if they are within a given angle.
By default the angle is 0.5 degrees. If the check fails the join
are not successful.
skins_tangency When the join is created the tangency between adjacent
edges can be checked. If the check fails the join are not
successful.
skins_connexity When the join is created the connexicity between
connecting edges can be checked. If the check fails the join
are not successful.
sew_ccrvs [tol] When a composite curve is read its subordinate curves have
to be sewn together. This is achieved by the join operator
which checks if all entities are within the defined tolerance.
The tolerance by default is 0.001 mm. If the check fails the
join are not successful.
ccrvs_angle [ang] When the join is created the angle between adjacent curves
can be checked to see if they are within a given angle. By
default the angle is 0.5 degrees. If the check fails the join are
not successful.
ccrvs_tangency When the join is created the tangency between connecting
edges can be checked. If the check fails the join are not
successful.
ccrvs_connexity When the join is created the connexicity between
connecting edges can be checked. If the check fails the join
are not successful.
dont_print_info By default entity conversion messages are output to the
progress file, this option restricts the output to only errors
and warnings.
create_2d_edge_curves By default, 2D edge curves for faces are not written directly
to CATIA V5. They are created in CATIAV5 by projecting the
3D edge curve onto the surface. This option allows the
parameterized NURBS representation to be maintained as
long as the underlying surface was originally of BEZIER or
NURBS type.
read_names By default, entity names will not be read. If this option is
used the names will be read and passed to CATIA V5.
no_plane_create By default, if the CATIA V5 write encounters faces which are based
on order 2x2 B-Spline Surfaces, it checks the surfaces to see if they
are planar and if so will convert them to Planes to save space. If
such surfaces should be kept as B-Spline Surfaces then the
no_plane_create option should be used.
small_curves The default behaviour of reporting an error if an attempt was
made to create a curve whose length is less than the CATIA V5
resolution values has been altered. This option reinstates this
error reporting to the progress file.
blank_construction_plane The default behaviour is to leave standalone planes in show
mode. This option cause them to be hidden
[keep_parameterization / The default behaviour is to maintain the NURBS surface and curve
reparameterize_both / parameterization form the input but this may not be ideal for
reparameterize_curves / CATIA V5 this option allows CATIA V5 to optimize the
reparameterize_surfaces] parameterization on NURBS surfaces, curves or both.
[ignore_failed_faces / The default behavior is to split edges that pass through surface
process_failed_faces] degeneracy’s. This option stops this.
[dont_trim_face_surfaces / To improve the success rate of face creation and limit the amount
dont_trim_back_face_surf / of data created the underlying surfaces are trimmed back to the
trim_face_surf] [extend_nurb face extents and for NURBS surfaces a margin of error is allowed
/ no_extend_nurb] to improved the success in projecting the 3D edge curves onto the
surface to create the 3D edge curves. These option alter this
behavior./
[simplify_crvs] Causes NURBS curves to be simplified to analytics if possible
[dont_remove_double_edges] Stops the removal of double edge curves i.e. two adjacent edge
curves that run between the same vertices.
[dont_fix_3d_edges] Stops the fixing up of 3D edges curves including trimming back to
vertices
2. SURFDB does not support the Parabola or Hyperbola so they are converted to 3D
Splines.
3. Standalone Planes are ignored unless the 'pln_to_wpln' option is used in which case
they are converted to Work Planes.
4. Planes that are base surfaces of Faces will be converted to Spline sur-faces.
6. Since the SURFDB file does not support Solid Entities, any Solids encountered will be
written to the SURFDB file as a collection of Faces.
7. If a mirrored Axis is encountered it will NOT be converted as the SURFDB file does
not support mirrored axes.
Within the Configuration Manager pane of the Unified Interface, arguments that can be
specified when publishing Surf data into V5 are grouped into 4 areas:
• Surf Write – Those arguments that affect how the data is written to Surf
• Entity Mask – Those arguments that allow specific read entities to be masked
• General – Those arguments that are common to ALL Publishing activities
regardless of source data
Option Description
Break Breps By default, Brep Solids (as opposed to Open Solids) will be broken
down into their constituent Faces during conversion. By using the
break_breps option, Brep Solids will be converted to Shell entities. If
the Brep has voids then each void will be converted to a Shell entity
and the resulting Shells will become members of a Group entity which
will be given the name of the originating Brep (unless no_write_names
has been used or the Brep has no name). The outermost shell of the
Brep will be the first member of the Group. Default is OFF. o
Command Line Syntax
no_break_breps – to turn off
Refit 2D Optional. Specifies that faces read from UG should not have their 2D
parametric edges refitted before being written to SURF but as far as
possible, should be kept as they are from UG. This argument also
increases the speed of processing because the translator does not
have to perform the refitting process. If this option is not used then
Face edges will be checked to see if splitting is required and whether
the parametric loops are closed correctly. Default is OFF. o
Command Line Syntax
read2d – to turn on
Edge Tolerance There are 4 conditions for which 2D edge curves will be refitted for a
(mm) particular Face during translation :-
1. If the read2d option has not been used;
2. The read leg has failed to provide 2D edges for a Face;
3. The base surface for a Face has been converted to NURBS from
some other form;
4. The trim_face_surfs option has been used and a Face has had
its surface reduced; Default is 0.0025. o Command Line Syntax
edge_tol <tol>
Trim Face Faces can be based on surfaces that are significantly larger than the
Surfaces face requires. By default, the translator will leave such surfaces as they
are (which can lead to tolerance and extent problems in the receiving
system). By using the trim_face_surfs option only the portion of the
surface which is required by the Face will be translated thus reducing
the amount of data stored and also reducing the risk of tolerance and
extent problems in the receiving system. Default is OFF. o Command
Line Syntax
trim_face_surfs – to turn on
Ascii Creates reference planes. Default is OFF. o
Command Line Syntax
Asci – to turn on
Write Names By default, each entity will be written to the output file with its name
(if it has one). If the no_write_names option is used then all entities
will be given an automatically generated name. Default is ON. o
Command Line Syntax
no_write_names – to turn off
Ensure Bezier All spline curves that are single segment will be checked to ensure that
Curves they are in Bezier form, if possible. Default is OFF.
Ensure Bezier All single patch surfaces will be checked to ensure that they are in
Surfaces Bezier form, if possible. Default is OFF.
o Command Line Syntax
ensure_bezier_surfs – to turn on
Fixup This option specifies that the check for effectively zero length
parametric segments in B-Spline Curves should NOT be performed. If
the option is not used then by default the check IS performed and any
segments encountered which are too short are removed. Default is ON.
o Command Line Syntax
no_fixup – to turn off
Polygon Curves This option will check for degree 1 B-Spline curves that are not part of
a Face and convert them to Polygon Curves. The default is to convert
such curves to BSplines in the normal way. Default is OFF. o
Command Line Syntax
bsp_to_mc – to turn on
Planes to Work Independent Planes are written to Work Planes in SURF. Default is ON.
Planes o Command Line Syntax
no_pln_to_wpln – to turn off
Planes to By default, the translator will convert free planes in V5 to Work planes
Surfaces in SURF unless the argument 'no_pln_to_wpln' is specified, in which
case they are ignored. If turned on, then Bsurfs will be created. Default
is OFF.
o Command Line Syntax
pln_to_srf – to turn on
Side Length Related to pln_to_srf Default is 1. o
(mm) Command Line Syntax
pln_to_srf <value>
Unface Trims the surface back to the face boundary, if the value set is in the
tolerance of the surface isoparms. Default is OFF. o Command Line
Syntax
unface – to turn on
Unface Related to unface. Default is 0.00001. o
Tolerance (mm) Command Line Syntax
unface <value>
Check Rational Check to ensure incoming surfaces are rational. NOTE this can take will
take a longer time to process if switched on. Default is OFF. o
Command Line Syntax
check_rational – to turn on
Option Description
Mask File Specifies the Mask File to be written to, that can be referenced
by future translations. A Mask file MUST be specified if masking
is required. The first line in this file is OFF ALL ENT: o Command
Line Syntax:
Mask <filename>
Entity Types Specifies a selection list from which to select which V5 entity types are
Translated to be processed. The following types are available:
"POI","CUR","SKI","SOL","ISO","TEX","AXI"
Layers Specifies a selection list from which to select which layers are to be
Translated processed.
Option Description
Advanced Allows any of the Command Line Advanced arguments to be
passed to the conversion process
In order to translate from within Surf, the Surf application must be started.
The appropriate KDdat files must be modified to set the environment up to successfully
create good quality data depending on the translator use. The modification of these files
is explained later in this document in the Appendix A – Configuring Surf Surf can then be
started using the standard commands e.g.
Export
Once Surf has been started and a model loaded, the active Part or Assembly can be exported
to V5.
In order to export, the user selects the File -> Export Menu Option:
The File field may be prepopulated. However, this can be modified prior to selecting the OK
button.
The Options tab is shown below, for further information please refer to the relevant section
of the ICEM Surf documentation.
On selecting OK the on the Export Panel, the active Part or Assembly will be written to CATIA
V5 using the selected output directory.
Import
Once Surf has been started, V5 data can be imported into Surf.
In order to import, the user selects the File -> Import Option:
The Import From option allows the user to select the V5 part or assembly to import.
Selecting the OK button, brings up the Import dialog.
Selecting OK the on the Import Panel import V5 data will be imported into Surf and the data
saved using the input into the selected output directory. For more information please refer
to the relevant section of the ICEM Surf documentation.
• kddat_to_catia5_directive.txt
• catia5_to_kddat_directive.txt
%TS_INST%\bin\catia5r[XX]_surfdb.cmd
Type theorem
C:\Program Files\Theorem\21.2\bin\surfdb_catia5r26.cmd
Default Values
The original products were written to support the premise that original Surface Design data
would be written into V5 for final detailing. It was also seen to be important that these
surfaces should not change, if possible, to keep the original design intent.
Current design practices of using scanned data or convergent modelling means that the data
often starts off in the CAD system and passed to Surf to create the surface required.
If the surface then needs to be detailed, it may then need to be passed back to the CAD
system. In an iterative Design process, this return trip may happen several times.
Because of the different modelling philosophies between CAD and Surface design, and exact
and tolerant modelling techniques, a number of compromises may have to be made
between success and accuracy during the translation
There are two sets of recommended defaults to suit the different design practices used.
Please note that each customers data may differ in its requirements for translation, so the
defaults used are advisory only.
Configuration files
From revision 21.1 the customer is able to use UI generated configurations on the command
line, this functionality will be expanded in future revisions.
The Configuration files are of xml format. If you want a list of the contents in text form, then
the following command can be used
Using Defaults