This section defines the API for the PML object that performs the import operation.
NAME
RESULT
ACTION
getBucketSize()
REAL
Gets the number of imported elements per ZONE.
getUseBucketSize
BOOLEAN
Get Bucket Size usage flag.
getCacheFacets()
BOOLEAN
Get CTOL usage flag.
getDbTarget()
DBREF
Get DBREF of SITE to receive model.
getGroupWorld()
DBREF
Get DBREF of GPWL to receive parallel model.
getLogDetail()
REAL
Set logging levels.
getLogDetailText()
STRING
Converts logging level into equivalent STRING.
1. NONE
2. BRIEF
3. FULL
4. DEBUG
getLogFile()
STRING
Get full path name of log file.
getPrefix()
STRING
Get the naming prefix.
getResult()
STRING
Get result of Import operation.
getImportStatus()
STRING
Get a fuller description of import status.
getRefDatum()
DBREF
Get the Reference Datum.
getScale()
REAL
Get the transform scale factor.
getSource()
STRING
Get full path name of source file or folder.
getSrcFolderFlg()
BOOLEAN
Get source folder flag.
getTolerance()
REAL
Get CTOL value used for faceting.
getUserPostProcessor()
STRING
Get the User-editable post-processor file name.
getUserPreProcessor()
STRING
Get the User-editable pre-processor file name.
ifcimporterobj()
NO RESULT
Constructor.
import()
STRING
Imports the data and returns a result string.
postProcess()
NO RESULT
Supplied post-processing function.
setBucketSize(REAL)
NO RESULT
Sets the number of imported elements per ZONE.
setUseBucketSize(BOOLEAN)
NO RESULT
Set Bucket Size usage flag.
setCacheFacets(BOOLEAN)
NO RESULT
Set CTOL usage flag.
setDbTarget(DBREF)
NO RESULT
Set DBREF of SITE to receive model.
setGroupWorld(DBREF)
NO RESULT
Set DBREF of GPWL to receive parallel model.
setLogDetail(REAL)
NO RESULT
Set logging levels.
setLogFile(STRING)
NO RESULT
Set full path name of log file.
setPrefix( STRING )
NO RESULT
Set the naming prefix.
setRefDatum( DBREF )
NO RESULT
Set the Reference Datum.
setRefDatumByName(STRING)
NO RESULT
Sets the Reference Datum by displayed name.
setRefDatumOption(BOOLEAN)
NO RESULT
Set flag indicating use of Reference Datum (true/false).
setScale( REAL )
NO RESULT
Set the transform scale factor.
setSource(STRING)
NO RESULT
Set full path name of source file or folder.
setSrcFolderFlg(BOOLEAN)
NO RESULT
Set True if source is a folder.
setTolerance(REAL)
NO RESULT
Set CTOL value used for faceting.
setUserPostProcessor()
STRING
Set the User-editable post-processor file name.
setUserPreProcessor()
STRING
Set the User-editable pre-processor file name.
splitIntoBuckets(BOOLEAN)
NO RESULT
Split imported ZONE into buckets based on the bucket size, folder flag and source file name stored in imported ZONE description.
userPostProcess( STRING )
NO RESULT
Plugger for user post processing pml function.
NAME
RESULT
ACTION
getBucketSize()
REAL
Gets the number of imported elements per ZONE.
getUseBucketSize
BOOLEAN
Get Bucket Size usage flag.
getCacheFacets()
BOOLEAN
Get CTOL usage flag.
getDbTarget()
DBREF
Get DBREF of SITE to receive model.
getGroupWorld()
DBREF
Get DBREF of GPWL to receive parallel model.
getLogDetail()
REAL
Set logging levels.
getLogDetailText()
STRING
Converts logging level into equivalent STRING.
1. NONE
2. BRIEF
3. FULL
4. DEBUG
getLogFile()
STRING
Get full path name of log file.
getPrefix()
STRING
Get the naming prefix.
getResult()
STRING
Get result of Import operation.
getImportStatus()
STRING
Get a fuller description of import status.
getRefDatum()
DBREF
Get the Reference Datum.
getScale()
REAL
Get the transform scale factor.
getSource()
STRING
Get full path name of source file or folder.
getSrcFolderFlg()
BOOLEAN
Get source folder flag.
getTolerance()
REAL
Get CTOL value used for faceting.
getUserPostProcessor()
STRING
Get the User-editable post-processor file name.
getUserPreProcessor()
STRING
Get the User-editable pre-processor file name.
ifcimporterobj()
NO RESULT
Constructor.
import()
STRING
Imports the data and returns a result string.
postProcess()
NO RESULT
Supplied post-processing function.
setBucketSize(REAL)
NO RESULT
Sets the number of imported elements per ZONE.
setUseBucketSize(BOOLEAN)
NO RESULT
Set Bucket Size usage flag.
setCacheFacets(BOOLEAN)
NO RESULT
Set CTOL usage flag.
setDbTarget(DBREF)
NO RESULT
Set DBREF of SITE to receive model.
setGroupWorld(DBREF)
NO RESULT
Set DBREF of GPWL to receive parallel model.
setLogDetail(REAL)
NO RESULT
Set logging levels.
setLogFile(STRING)
NO RESULT
Set full path name of log file.
setPrefix( STRING )
NO RESULT
Set the naming prefix.
setRefDatum( DBREF )
NO RESULT
Set the Reference Datum.
setRefDatumByName(STRING)
NO RESULT
Sets the Reference Datum by displayed name.
setRefDatumOption(BOOLEAN)
NO RESULT
Set flag indicating use of Reference Datum (true/false).
setScale( REAL )
NO RESULT
Set the transform scale factor.
setSource(STRING)
NO RESULT
Set full path name of source file or folder.
setSrcFolderFlg(BOOLEAN)
NO RESULT
Set True if source is a folder.
setTolerance(REAL)
NO RESULT
Set CTOL value used for faceting.
setUserPostProcessor()
STRING
Set the User-editable post-processor file name.
setUserPreProcessor()
STRING
Set the User-editable pre-processor file name.
splitIntoBuckets(BOOLEAN)
NO RESULT
Split imported ZONE into buckets based on the bucket size, folder flag and source file name stored in imported ZONE description.
userPostProcess( STRING )
NO RESULT
Plugger for user post processing pml function.
The member data for the object are as follows.
NAME
RESULT
STATUS
ACTION
source
STRING
SETTABLE
Full path name of source file or folder.
srcFolderFlg
BOOLEAN
SETTABLE
True if source is a folder.
dbTarget
DBREF
SETTABLE
Refno of SITE to receive model.
groupWorld
DBREF
SETTABLE
Refno of GPWL for parallel hierarchy.
refDatum
DBREF
SETTABLE
Reference Datum for import transformations.
scale
REAL
SETTABLE
Model scale factor.
cacheFacets
BOOLEAN
SETTABLE
True if using facet tolerance value.
tolerance
REAL
SETTABLE
Facet tolerance value.
prefix
STRING
SETTABLE
Model naming prefix for post-processing.
logFile
STRING
SETTABLE
Full path name of log file.
logDetail
REAL
SETTABLE
Logging levels:
1. None
2. Low
3. Medium
4. High
result
STRING
GETTABLE
Short result text.
NAME
RESULT
STATUS
ACTION
source
STRING
SETTABLE
Full path name of source file or folder.
srcFolderFlg
BOOLEAN
SETTABLE
True if source is a folder.
dbTarget
DBREF
SETTABLE
Refno of SITE to receive model.
groupWorld
DBREF
SETTABLE
Refno of GPWL for parallel hierarchy.
refDatum
DBREF
SETTABLE
Reference Datum for import transformations.
scale
REAL
SETTABLE
Model scale factor.
cacheFacets
BOOLEAN
SETTABLE
True if using facet tolerance value.
tolerance
REAL
SETTABLE
Facet tolerance value.
prefix
STRING
SETTABLE
Model naming prefix for post-processing.
logFile
STRING
SETTABLE
Full path name of log file.
logDetail
REAL
SETTABLE
Logging levels:
1. None
2. Low
3. Medium
4. High
result
STRING
GETTABLE
Short result text.
Below is an example of using the object in User-written PML.
The bucket splitting function is used to split the imported ZONE into a series of smaller ZONEs with a defined number of child elements. The default ZONE size of 100 can be customized if the import process is being performed from the command line. A value of less than 25 or more than 1000 cannot be entered. These are hard coded limits. For example:
The same core bucket splitting function is used to create multiple ZONEs and name the subsequent ZONEs based on the name of the original ZONE. This standalone function can also be called from the Command window to operate on elements other than ZONEs.
For example, in the Command window or a PML file, if !ref is the reference number of a ZONE, and the required !bucketSize is 50 ().
The function is not ZONE specific and can be used to partition any element.
Use the setPrefix function to define the model naming prefix that is used in the naming algorithm.
This function call is to use the correct Reference Datum for applying transformations to the imported model. Internally, in the Application Data World the elements have a special suffix of -HDR which is not displayed.
The command above tells the importer to use the Reference Datum /IFCREVIT-HDR as its transformation data.
To use another ZONE that is outside the Application Data World, and is not controlled by this UI, you can set the Reference Datum using its DB Reference Number. For example:
There is scope to define additional operations before and after importing a model. These are pre- and post-processing functions that might operate on the model before or after it has been imported. User-defined pre- and post-processing functions can be called during the data transfer process.
Template functions called userPreImpProcess.pmlfnc and userPostImpProcess.pmlfnc are supplied. The supplied default templates are called automatically from the Graphical User Interface post-process function. If the PML importer object is used, it is possible to provide the same additional functionality as required but they must be called manually when using the importer object.
These can be invoked using the commands:
Alternatively, you may provide your own functions and inject them into the import process. This is achieved by providing a function or even a series of similar functions, <userFunction>.pmlfnc, for example, IFCPostProcessing.pmlfnc, in the PML search path and then plugging it or them into the System using the command line. These functions take one argument and must handle all PML errors internally. The functions return a string result value containing whatever message is to be transmitted to the running PML application. The template PML functions provide an example of how to structure the function.
These can be defined in the importer object as below, but there are defaults of:
For example:
The string values are used to construct a function name, for example, userPreImpProcess.pmlfnc, which the system will attempt to invoke. The import process will not fail if these functions are not found. They are normal PML functions that must be available in the PML search path. A PML REHASH ALL command might be necessary to refresh the PML index files. All error handling must be contained in the files themselves.
When using the PML importer object directly, there are API functions on the importer object to set and get these values.
For example:
Please note that a parameter has been added to pre- or post-processing User function signatures to give User-access to the importer object itself. Note also that the User-definable functions must have a signature similar to the ones below, with the single parameter to the importer object. With the importer object, all the API functions become available within the pre- and post-processing functions.
NAME
RESULT
ACTION
getBucketSize()
REAL
Gets the number of imported elements per ZONE.
getUseBucketSize
BOOLEAN
Get Bucket Size usage flag.
getCacheFacets()
BOOLEAN
Get CTOL usage flag.
getDbTarget()
DBREF
Get DBREF of SITE to receive model.
getGroupWorld()
DBREF
Get DBREF of GPWL to receive parallel model.
getLogDetail()
REAL
Set logging levels.
getLogDetailText()
STRING
Converts logging level into equivalent STRING.
1. NONE
2. BRIEF
3. FULL
4. DEBUG
getLogFile()
STRING
Get full path name of log file.
getPrefix()
STRING
Get the naming prefix.
getResult()
STRING
Get result of Import operation.
getImportStatus()
STRING
Get a fuller description of import status.
getRefDatum()
DBREF
Get the Reference Datum.
getScale()
REAL
Get the transform scale factor.
getSource()
STRING
Get full path name of source file or folder.
getSrcFolderFlg()
BOOLEAN
Get source folder flag.
getTolerance()
REAL
Get CTOL value used for faceting.
getUserPostProcessor()
STRING
Get the User-editable post-processor file name.
getUserPreProcessor()
STRING
Get the User-editable pre-processor file name.
ifcimporterobj()
NO RESULT
Constructor.
import()
STRING
Imports the data and returns a result string.
postProcess()
NO RESULT
Supplied post-processing function.
setBucketSize(REAL)
NO RESULT
Sets the number of imported elements per ZONE.
setUseBucketSize(BOOLEAN)
NO RESULT
Set Bucket Size usage flag.
setCacheFacets(BOOLEAN)
NO RESULT
Set CTOL usage flag.
setDbTarget(DBREF)
NO RESULT
Set DBREF of SITE to receive model.
setGroupWorld(DBREF)
NO RESULT
Set DBREF of GPWL to receive parallel model.
setLogDetail(REAL)
NO RESULT
Set logging levels.
setLogFile(STRING)
NO RESULT
Set full path name of log file.
setPrefix( STRING )
NO RESULT
Set the naming prefix.
setRefDatum( DBREF )
NO RESULT
Set the Reference Datum.
setRefDatumByName(STRING)
NO RESULT
Sets the Reference Datum by displayed name.
setRefDatumOption(BOOLEAN)
NO RESULT
Set flag indicating use of Reference Datum (true/false).
setScale( REAL )
NO RESULT
Set the transform scale factor.
setSource(STRING)
NO RESULT
Set full path name of source file or folder.
setSrcFolderFlg(BOOLEAN)
NO RESULT
Set True if source is a folder.
setTolerance(REAL)
NO RESULT
Set CTOL value used for faceting.
setUserPostProcessor()
STRING
Set the User-editable post-processor file name.
setUserPreProcessor()
STRING
Set the User-editable pre-processor file name.
splitIntoBuckets(BOOLEAN)
NO RESULT
Split imported ZONE into buckets based on the bucket size, folder flag and source file name stored in imported ZONE description.
userPostProcess( STRING )
NO RESULT
Plugger for user post processing pml function.
NAME
RESULT
STATUS
ACTION
source
STRING
SETTABLE
Full path name of source file or folder.
srcFolderFlg
BOOLEAN
SETTABLE
True if source is a folder.
dbTarget
DBREF
SETTABLE
Refno of SITE to receive model.
groupWorld
DBREF
SETTABLE
Refno of GPWL for parallel hierarchy.
refDatum
DBREF
SETTABLE
Reference Datum for import transformations.
scale
REAL
SETTABLE
Model scale factor.
cacheFacets
BOOLEAN
SETTABLE
True if using facet tolerance value.
tolerance
REAL
SETTABLE
Facet tolerance value.
prefix
STRING
SETTABLE
Model naming prefix for post-processing.
logFile
STRING
SETTABLE
Full path name of log file.
logDetail
REAL
SETTABLE
Logging levels:
1. None
2. Low
3. Medium
4. High
result
STRING
GETTABLE
Short result text.
UserPreProcessor = |userPreImpProcess|
UserPostProcessor = |userPostImpProcess|
UserPreProcessor = |userPreImpProcess|
UserPreProcessor = |userPreImpProcess|
UserPostProcessor = |userPostImpProcess|
UserPostProcessor = |userPostImpProcess|
define method .setUserPreProcessor( !userPreProcessor is STRING )
define method .getUserPreProcessor( ) is STRING
define method .setUserPostProcessor( !userPostProcessor is STRING )
define method .getUserPostProcessor( ) is STRING
define method .setUserPreProcessor( !userPreProcessor is STRING )
define method .setUserPreProcessor( !userPreProcessor is STRING )
define method .getUserPreProcessor( ) is STRING
define method .getUserPreProcessor( ) is STRING
define method .setUserPostProcessor( !userPostProcessor is STRING )
define method .setUserPostProcessor( !userPostProcessor is STRING )
define method .getUserPostProcessor( ) is STRING
define method .getUserPostProcessor( ) is STRING
define function !!userPostImpProcess( !importer is IFCIMPORTEROBJ ) is STRING
define function !!userPreImpProcess( !importer is IFCIMPORTEROBJ ) is STRING
define function !!userPostImpProcess( !importer is IFCIMPORTEROBJ ) is STRING
define function !!userPostImpProcess( !importer is IFCIMPORTEROBJ ) is STRING
define function !!userPreImpProcess( !importer is IFCIMPORTEROBJ ) is STRING
define function !!userPreImpProcess( !importer is IFCIMPORTEROBJ ) is STRING
Note:
The templates do not do anything, but it is possible to use them as a framework for your own requirements.

NAME
RESULT
ACTION
getBucketSize()
getUseBucketSize
getCacheFacets()
CTOL
getDbTarget()
DBREF
getGroupWorld()
DBREF
getLogDetail()
getLogDetailText()
getLogFile()
getPrefix()
getResult()
getImportStatus()
getRefDatum()
getScale()
getSource()
getSrcFolderFlg()
getTolerance()
CTOL
getUserPostProcessor()
getUserPreProcessor()
ifcimporterobj()
import()
postProcess()
setBucketSize(REAL)
setUseBucketSize(BOOLEAN)
Bucket Size
setCacheFacets(BOOLEAN)
CTOL
setDbTarget(DBREF)
DBREF
setGroupWorld(DBREF)
DBREF
setLogDetail(REAL)
setLogFile(STRING)
setPrefix( STRING )
setRefDatum( DBREF )
setRefDatumByName(STRING)
setRefDatumOption(BOOLEAN)
setScale( REAL )
setSource(STRING)
setSrcFolderFlg(BOOLEAN)
setTolerance(REAL)
CTOL
setUserPostProcessor()
setUserPreProcessor()
splitIntoBuckets(BOOLEAN)
userPostProcess( STRING )
NAME
RESULT
STATUS
ACTION
Command
Command
!ref
!bucketSize
50 ()
setPrefix
setRefDatumByName
-HDR
/IFCREVIT-HDR
Note
:
UserPreProcessor = |userPreImpProcess|
UserPostProcessor = |userPostImpProcess|
PML REHASH ALL
define method .setUserPreProcessor( !userPreProcessor is STRING )
define method .getUserPreProcessor( ) is STRING
define method .setUserPostProcessor( !userPostProcessor is STRING )
define method .getUserPostProcessor( ) is STRING
define function !!userPostImpProcess( !importer is IFCIMPORTEROBJ ) is STRING
define function !!userPreImpProcess( !importer is IFCIMPORTEROBJ ) is STRING


The Source, Settings and Import windows are displayed by progressive disclosure:
Use the functionality available from the Source window, you can select the CAD file format and CAD file to be imported.
Refer to Model Simplification Settings for further information.
Blue ticks indicate all entries are valid
Orange triangles indicate mandatory entries are still required.
Blue ticks indicate all entries are valid
Blue ticks indicate all entries are valid
Orange triangles indicate mandatory entries are still required.
Orange triangles indicate mandatory entries are still required.

Model Simplification Settings
Source
Settings
Import
Source
Tools
Import
Model Simplification.
Model Simplification
Native Model Simplification
Source File
Source File
Next
Settings
Note
:
Select a CAD File
Model Simplification Settings


Use the functionality available from the Settings window to define the Simplification Settings (Configuration, Simplification Level, Cylindrical or Box simplification and which elements of the models are to be removed).

Refer to Import for further information.
Start - Internals are removed early in the process, so internal objects can be discarded if they cannot be seen through a gap bigger than the specified size. This can save processing time if there are complicated internal objects, as no attempt need be made to simplify the internal object.
End - Holes are removed before Internals are processed, so more internals by be identified as they are no longer visible from the outside.
Both - The internal removal process is run twice, to remove as many internals as possible, while avoiding simplification of internal components when possible.
Start - Internals are removed early in the process, so internal objects can be discarded if they cannot be seen through a gap bigger than the specified size. This can save processing time if there are complicated internal objects, as no attempt need be made to simplify the internal object.
Start - Internals are removed early in the process, so internal objects can be discarded if they cannot be seen through a gap bigger than the specified size. This can save processing time if there are complicated internal objects, as no attempt need be made to simplify the internal object.
End - Holes are removed before Internals are processed, so more internals by be identified as they are no longer visible from the outside.
End - Holes are removed before Internals are processed, so more internals by be identified as they are no longer visible from the outside.
Both - The internal removal process is run twice, to remove as many internals as possible, while avoiding simplification of internal components when possible.
Both - The internal removal process is run twice, to remove as many internals as possible, while avoiding simplification of internal components when possible.

Import
Settings
Simplification Settings
Simplification Level
Cylindrical
Box simplification
Basic
Intermediate
Aggressive
Fixed values
Advanced
Note:
Auto calculated values
Base
Notes:
Apply
Simplification Level
Cylindrical
Box
Intermediate
Aggressive
Cylindrical
Extrusion
Profile
Extrusion
Advanced
Internals
Process Stage
Note:
Auto calculated value
Process Stage
Start
End
Both
Start
End
Both
New Configuration
Save
Information
ext
Import
Back
Source
Import


Use the functionality available from the Import window to specify the Import Settings and Simplification Output. The progress of the import and any errors and/or messages can also be viewed here.

Import
Import Settings
Simplification Output
Model Explorer
Import
CE
Select Owner
Select Site or Zone
Create SUBE Level
Save Facet Data
Save Support Log
Import
Model Simplification
Back
Settings
Note:
Model Simplification
Note:


If the simplification progress fails, the relevant information is displayed in the messages window.


The PML-Callable Model Simplifier Object is the API, which may be used to simplify and import CAD models from the E3D Design command line, from macros or PML functions or objects.
Note:
Not all of the functions of the user interface are included, but enough for common use cases. Refer to Model Simplification Import Examples for further information.

Model Simplification Import Examples
PML-Callable Model Simplifier Object
Note
:
Model Simplification Import Examples


Use the functionality to set or query most of the parameters set in the Simplification Settings pane of the Native Model Simplification window.

NAME
RESULT
ACTION
setSimplificationLevel(REAL)
NO RESULT
Set the overall simplification level, the overall parameter should be an integer; 1 for basic simplification, 2 for intermediate simplification (default) or 3 for aggressive simplification.
Note:
Calling this functions also sets the other parameters from this page to the defaults for that simplification level. This should be called before any other settings if these defaults are to be modified.
getSimplificationLevel()
REAL
Returns the current simplification level as an integer:1, 2 or 3.
setCylindricalSimplification(BOOLEAN)
NO RESULT
Enables (TRUE) or disables (FALSE) the conversion of parts of the model to cylindrical shapes, default is TRUE.
getCylindricalSimplification()
BOOLEAN
Returns TRUE if cylindrical simplification is enabled, and FALSE otherwise.
setBoxSimplification(BOOLEAN)
NO RESULT
Enables (TRUE) or disables (FALSE) the conversion of parts of the model to box shapes, default is TRUE.
getBoxSimplification()
BOOLEAN
Returns TRUE if box simplification is enabled, and FALSE otherwise.
setExtrusionSimplificationProfile(BOOLEAN)
NO RESULT
Enables (TRUE) or disables (FALSE) the simplification of Extrusion Profiles from the model. The Default is TRUE.
setExtrusionSimplificationProfile ()
BOOLEAN
Returns TRUE if the simplification of Extrusion. Profiles is Enabled, and FALSE otherwise.
setInternalStage(STRING)
NO RESULT
Set the internal stage for removal of Internals during the simplification process. There are three choices: 'PRE', 'POST' or 'BOTH'. The Default is ' PRE'.
getInternalStage()
STRING
Returns the string representation of Internal stage configured. For example, 'PRE'.
setRemoveHoles(BOOLEAN)
NO RESULT
Enables (TRUE) or disables (FALSE) the removal of small holes from the model, default is TRUE.
getRemoveHoles()
BOOLEAN
Returns TRUE if hole removal is enabled, and FALSE otherwise.
setRemoveHoleSize(STRING)
NO RESULT
Set the maximum size of hole to be removed, if hole removal is enabled. The parameter is a string including units, for example 150mm and not a number or an E3D length, default is 75mm.
getRemoveHoleSize()
STRING
Returns the string representation of the maximum size of hole to be removed, if hole removal is enabled. For example 40mm.
setRemoveSmallBodies(BOOLEAN)
NO RESULT
Enables (TRUE) or disables (FALSE) the removal of small bodies from the model, default is TRUE.
getRemoveSmallBodies ()
BOOLEAN
Returns TRUE if small-body removal is enabled, and FALSE otherwise.
getRemoveSmallBodySize()
STRING
Returns the string representation of the maximum size of body to be removed, if small-body removal is enabled. For example 40mm.
setRemoveInternals(BOOLEAN)
NO RESULT
Enables (TRUE) or disables (FALSE) the removal of internal bodies from the model, default is TRUE
getRemoveInternals ()
BOOLEAN
Returns TRUE if internal-body removal is enabled, and FALSE otherwise.
setRemoveInternalGapSize(STRING)
NO RESULT
Set the maximum size of gap to be ignored when deciding if a component is internal or not, if internal-body removal is enabled. The parameter is a string including units, for example 150mm and not a number or an E3D length, default is 75mm.
getRemoveInternalGapSize()
STRING
Returns the string representation of the maximum size of gap to be ignored, if internal-body removal is enabled. For example 40mm.
setRemoveProtrusions(BOOLEAN)
NO RESULT
Enables (TRUE) or disables (FALSE) the removal of small protrusions from the model, default is TRUE.
getRemoveProtrusion ()
BOOLEAN
Returns TRUE if protrusion removal is enabled, and FALSE otherwise.
setRemoveProtrusionSize(STRING)
NO RESULT
Set the maximum size of protrusion to be removed, if protrusion removal is enabled. The parameter is a string including units, for example 150mm and not a number or an E3D length, default is 15mm.
getRemoveProtrusionSize()
STRING
Returns the string representation of the maximum size of protrusion to be removed, if hole removal is enabled. For example 40mm.
setSimplificationLevel(REAL)

NO RESULT
Set the overall simplification level, the overall parameter should be an integer; 1 for basic simplification, 2 for intermediate simplification (default) or 3 for aggressive simplification.
getSimplificationLevel()

REAL
Returns the current simplification level as an integer:1, 2 or 3.
setCylindricalSimplification(BOOLEAN)

NO RESULT
Enables (TRUE) or disables (FALSE) the conversion of parts of the model to cylindrical shapes, default is TRUE.
getCylindricalSimplification()

BOOLEAN
Returns TRUE if cylindrical simplification is enabled, and FALSE otherwise.
setBoxSimplification(BOOLEAN)

NO RESULT
Enables (TRUE) or disables (FALSE) the conversion of parts of the model to box shapes, default is TRUE.

getBoxSimplification()

BOOLEAN
Returns TRUE if box simplification is enabled, and FALSE otherwise.
setExtrusionSimplificationProfile(BOOLEAN)

NO RESULT
Enables (TRUE) or disables (FALSE) the simplification of Extrusion Profiles from the model. The Default is TRUE.
setExtrusionSimplificationProfile ()

BOOLEAN
Returns TRUE if the simplification of Extrusion. Profiles is Enabled, and FALSE otherwise.
setInternalStage(STRING)

NO RESULT
Set the internal stage for removal of Internals during the simplification process. There are three choices: 'PRE', 'POST' or 'BOTH'. The Default is ' PRE'.
getInternalStage()

STRING
Returns the string representation of Internal stage configured. For example, 'PRE'.

setRemoveHoles(BOOLEAN)

NO RESULT
Enables (TRUE) or disables (FALSE) the removal of small holes from the model, default is TRUE.
getRemoveHoles()

BOOLEAN
Returns TRUE if hole removal is enabled, and FALSE otherwise.
setRemoveHoleSize(STRING)

NO RESULT
Set the maximum size of hole to be removed, if hole removal is enabled. The parameter is a string including units, for example 150mm and not a number or an E3D length, default is 75mm.
getRemoveHoleSize()

STRING
Returns the string representation of the maximum size of hole to be removed, if hole removal is enabled. For example 40mm.
setRemoveSmallBodies(BOOLEAN)

NO RESULT
Enables (TRUE) or disables (FALSE) the removal of small bodies from the model, default is TRUE.
getRemoveSmallBodies ()

BOOLEAN
Returns TRUE if small-body removal is enabled, and FALSE otherwise.
getRemoveSmallBodySize()

STRING
Returns the string representation of the maximum size of body to be removed, if small-body removal is enabled. For example 40mm.
setRemoveInternals(BOOLEAN)

NO RESULT
Enables (TRUE) or disables (FALSE) the removal of internal bodies from the model, default is TRUE
getRemoveInternals ()

BOOLEAN
Returns TRUE if internal-body removal is enabled, and FALSE otherwise.
setRemoveInternalGapSize(STRING)

NO RESULT
Set the maximum size of gap to be ignored when deciding if a component is internal or not, if internal-body removal is enabled. The parameter is a string including units, for example 150mm and not a number or an E3D length, default is 75mm.
getRemoveInternalGapSize()

STRING
Returns the string representation of the maximum size of gap to be ignored, if internal-body removal is enabled. For example 40mm.
setRemoveProtrusions(BOOLEAN)

NO RESULT
Enables (TRUE) or disables (FALSE) the removal of small protrusions from the model, default is TRUE.
getRemoveProtrusion ()

BOOLEAN
Returns TRUE if protrusion removal is enabled, and FALSE otherwise.
setRemoveProtrusionSize(STRING)

NO RESULT
Set the maximum size of protrusion to be removed, if protrusion removal is enabled. The parameter is a string including units, for example 150mm and not a number or an E3D length, default is 15mm.
getRemoveProtrusionSize()

STRING
Returns the string representation of the maximum size of protrusion to be removed, if hole removal is enabled. For example 40mm.

NAME
RESULT
ACTION
setSimplificationLevel(REAL)
NO RESULT
Set the overall simplification level, the overall parameter should be an integer; 1 for basic simplification, 2 for intermediate simplification (default) or 3 for aggressive simplification.
Note:
Calling this functions also sets the other parameters from this page to the defaults for that simplification level. This should be called before any other settings if these defaults are to be modified.
getSimplificationLevel()
REAL
Returns the current simplification level as an integer:1, 2 or 3.
setCylindricalSimplification(BOOLEAN)
NO RESULT
Enables (TRUE) or disables (FALSE) the conversion of parts of the model to cylindrical shapes, default is TRUE.
getCylindricalSimplification()
BOOLEAN
Returns TRUE if cylindrical simplification is enabled, and FALSE otherwise.
setBoxSimplification(BOOLEAN)
NO RESULT
Enables (TRUE) or disables (FALSE) the conversion of parts of the model to box shapes, default is TRUE.
getBoxSimplification()
BOOLEAN
Returns TRUE if box simplification is enabled, and FALSE otherwise.
setExtrusionSimplificationProfile(BOOLEAN)
NO RESULT
Enables (TRUE) or disables (FALSE) the simplification of Extrusion Profiles from the model. The Default is TRUE.
setExtrusionSimplificationProfile ()
BOOLEAN
Returns TRUE if the simplification of Extrusion. Profiles is Enabled, and FALSE otherwise.
setInternalStage(STRING)
NO RESULT
Set the internal stage for removal of Internals during the simplification process. There are three choices: 'PRE', 'POST' or 'BOTH'. The Default is ' PRE'.
getInternalStage()
STRING
Returns the string representation of Internal stage configured. For example, 'PRE'.
setRemoveHoles(BOOLEAN)
NO RESULT
Enables (TRUE) or disables (FALSE) the removal of small holes from the model, default is TRUE.
getRemoveHoles()
BOOLEAN
Returns TRUE if hole removal is enabled, and FALSE otherwise.
setRemoveHoleSize(STRING)
NO RESULT
Set the maximum size of hole to be removed, if hole removal is enabled. The parameter is a string including units, for example 150mm and not a number or an E3D length, default is 75mm.
getRemoveHoleSize()
STRING
Returns the string representation of the maximum size of hole to be removed, if hole removal is enabled. For example 40mm.
setRemoveSmallBodies(BOOLEAN)
NO RESULT
Enables (TRUE) or disables (FALSE) the removal of small bodies from the model, default is TRUE.
getRemoveSmallBodies ()
BOOLEAN
Returns TRUE if small-body removal is enabled, and FALSE otherwise.
getRemoveSmallBodySize()
STRING
Returns the string representation of the maximum size of body to be removed, if small-body removal is enabled. For example 40mm.
setRemoveInternals(BOOLEAN)
NO RESULT
Enables (TRUE) or disables (FALSE) the removal of internal bodies from the model, default is TRUE
getRemoveInternals ()
BOOLEAN
Returns TRUE if internal-body removal is enabled, and FALSE otherwise.
setRemoveInternalGapSize(STRING)
NO RESULT
Set the maximum size of gap to be ignored when deciding if a component is internal or not, if internal-body removal is enabled. The parameter is a string including units, for example 150mm and not a number or an E3D length, default is 75mm.
getRemoveInternalGapSize()
STRING
Returns the string representation of the maximum size of gap to be ignored, if internal-body removal is enabled. For example 40mm.
setRemoveProtrusions(BOOLEAN)
NO RESULT
Enables (TRUE) or disables (FALSE) the removal of small protrusions from the model, default is TRUE.
getRemoveProtrusion ()
BOOLEAN
Returns TRUE if protrusion removal is enabled, and FALSE otherwise.
setRemoveProtrusionSize(STRING)
NO RESULT
Set the maximum size of protrusion to be removed, if protrusion removal is enabled. The parameter is a string including units, for example 150mm and not a number or an E3D length, default is 15mm.
getRemoveProtrusionSize()
STRING
Returns the string representation of the maximum size of protrusion to be removed, if hole removal is enabled. For example 40mm.
Note:
Calling this functions also sets the other parameters from this page to the defaults for that simplification level. This should be called before any other settings if these defaults are to be modified.

Simplification Settings
Native Model Simplification
setSimplificationLevel(REAL)
Note
:
getSimplificationLevel()
setCylindricalSimplification(BOOLEAN)
getCylindricalSimplification()
setBoxSimplification(BOOLEAN)
getBoxSimplification()
setExtrusionSimplificationProfile(BOOLEAN)
setExtrusionSimplificationProfile ()
setInternalStage(STRING)
getInternalStage()
setRemoveHoles(BOOLEAN)
getRemoveHoles()
setRemoveHoleSize(STRING)
getRemoveHoleSize()
setRemoveSmallBodies(BOOLEAN)
getRemoveSmallBodies ()
getRemoveSmallBodySize()
setRemoveInternals(BOOLEAN)
getRemoveInternals ()
setRemoveInternalGapSize(STRING)
getRemoveInternalGapSize()
setRemoveProtrusions(BOOLEAN)
getRemoveProtrusion ()
setRemoveProtrusionSize(STRING)
getRemoveProtrusionSize()


A Native license allows the simplification of any supported format, while a Basic license only allows simplification of STEP files.

NAME
RESULT
ACTION
setPreferNativeLicense(BOOLEAN)
NO RESULT
In the unusual circumstance that both license types are available call this function with TRUE to use a Native license when simplifying a STEP file, thus reserving the Native license for your use in later simplifications. The duration of this license reservation depends on your licensing setup.
Normally it is not necessary to call this function and a suitable license will be used for the simplification, if one is available, default is TRUE.
getPreferNativeLicense()
BOOLEAN
Returns true if a native license will always be used, if one is available.
setCadFormat(STRING)
NO RESULT
Set the format of the input CAD file. This string parameter must be one of the following string values (case is significant):
|STEP| (default)
|CATIA|
|Creo|
|Inventor|
|NX|
|Solid Edge|
|SolidWORKS|.
getCadFormat()
STRING
Returns one of the above strings for the currently selected CAD Format.
setInputFilePath(STRING)
NO RESULT
Set the path of the input CAD file as a string. The path cannot contain environment variable references or wild cards. (The PathName() function of a PML File object may be useful to expand these) default is ''.
getInputFilePath()
STRING
Returns the path of the most recent input file.
setPreferNativeLicense(BOOLEAN)

NO RESULT
In the unusual circumstance that both license types are available call this function with TRUE to use a Native license when simplifying a STEP file, thus reserving the Native license for your use in later simplifications. The duration of this license reservation depends on your licensing setup.
Normally it is not necessary to call this function and a suitable license will be used for the simplification, if one is available, default is TRUE.
getPreferNativeLicense()

BOOLEAN
Returns true if a native license will always be used, if one is available.
setCadFormat(STRING)

NO RESULT
Set the format of the input CAD file. This string parameter must be one of the following string values (case is significant):
getCadFormat()

STRING
Returns one of the above strings for the currently selected CAD Format.
setInputFilePath(STRING)

NO RESULT
Set the path of the input CAD file as a string. The path cannot contain environment variable references or wild cards. (The PathName() function of a PML File object may be useful to expand these) default is ''.
getInputFilePath()

STRING
Returns the path of the most recent input file.

NAME
RESULT
ACTION
setPreferNativeLicense(BOOLEAN)
NO RESULT
In the unusual circumstance that both license types are available call this function with TRUE to use a Native license when simplifying a STEP file, thus reserving the Native license for your use in later simplifications. The duration of this license reservation depends on your licensing setup.
Normally it is not necessary to call this function and a suitable license will be used for the simplification, if one is available, default is TRUE.
getPreferNativeLicense()
BOOLEAN
Returns true if a native license will always be used, if one is available.
setCadFormat(STRING)
NO RESULT
Set the format of the input CAD file. This string parameter must be one of the following string values (case is significant):
|STEP| (default)
|CATIA|
|Creo|
|Inventor|
|NX|
|Solid Edge|
|SolidWORKS|.
getCadFormat()
STRING
Returns one of the above strings for the currently selected CAD Format.
setInputFilePath(STRING)
NO RESULT
Set the path of the input CAD file as a string. The path cannot contain environment variable references or wild cards. (The PathName() function of a PML File object may be useful to expand these) default is ''.
getInputFilePath()
STRING
Returns the path of the most recent input file.
|STEP| (default)
|CATIA|
|Creo|
|Inventor|
|NX|
|Solid Edge|
|SolidWORKS|.
|STEP| (default)
|STEP| (default)
|CATIA|
|CATIA|
|Creo|
|Creo|
|Inventor|
|Inventor|
|NX|
|NX|
|Solid Edge|
|Solid Edge|
|SolidWORKS|.
|SolidWORKS|.
Note:
Some of the functions described behave differently depending on the installation and license.

Native
Basic
Note
:
setPreferNativeLicense(BOOLEAN)
getPreferNativeLicense()
setCadFormat(STRING)
getCadFormat()
setInputFilePath(STRING)
getInputFilePath()


Use the functionality to set or query most of the parameters set in the Import Settings.

NAME
RESULT
ACTION
setImportOwner(STRING)
NO RESULT
Set the owning element for the imported model. This must be a SITE or a ZONE. This must be supplied as a string containing one of the following:
a Refno for example |=2013286748/3116453|
a name, for example
|/SITE-FOR-IMPORT|
an empty string for the Current Element (the default) ||
getImportOwner()
STRING
Returns a string which may be empty for Current Element or a string representation of the REFNO of the Import owner element.
setImportModelAs(STRING)
NO RESULT
One of the following strings (case dependent) to set the type of the top-level E3D Design Element for the Import:
|EQUI| (default)
|VOLM|
|SUBE
getImportModelAs()
STRING
Returns one of the following strings (case dependent) to show the type of the top-level E3D Design Element for the Import:
|EQUI|
|VOLM|
|SUBE|.
setImportOwner(STRING)

NO RESULT
Set the owning element for the imported model. This must be a SITE or a ZONE. This must be supplied as a string containing one of the following:
getImportOwner()

STRING
Returns a string which may be empty for Current Element or a string representation of the REFNO of the Import owner element.
setImportModelAs(STRING)

NO RESULT
One of the following strings (case dependent) to set the type of the top-level E3D Design Element for the Import:
getImportModelAs()

STRING
Returns one of the following strings (case dependent) to show the type of the top-level E3D Design Element for the Import:

NAME
RESULT
ACTION
setImportOwner(STRING)
NO RESULT
Set the owning element for the imported model. This must be a SITE or a ZONE. This must be supplied as a string containing one of the following:
a Refno for example |=2013286748/3116453|
a name, for example
|/SITE-FOR-IMPORT|
an empty string for the Current Element (the default) ||
getImportOwner()
STRING
Returns a string which may be empty for Current Element or a string representation of the REFNO of the Import owner element.
setImportModelAs(STRING)
NO RESULT
One of the following strings (case dependent) to set the type of the top-level E3D Design Element for the Import:
|EQUI| (default)
|VOLM|
|SUBE
getImportModelAs()
STRING
Returns one of the following strings (case dependent) to show the type of the top-level E3D Design Element for the Import:
|EQUI|
|VOLM|
|SUBE|.
a Refno for example |=2013286748/3116453|
a name, for example
|/SITE-FOR-IMPORT|
an empty string for the Current Element (the default) ||
a Refno for example |=2013286748/3116453|
a Refno for example |=2013286748/3116453|
a name, for example
a name, for example
|/SITE-FOR-IMPORT|
|/SITE-FOR-IMPORT|
an empty string for the Current Element (the default) ||
an empty string for the Current Element (the default) ||
|EQUI| (default)
|VOLM|
|SUBE
|EQUI| (default)
|EQUI| (default)
|VOLM|
|VOLM|
|SUBE
|SUBE
|EQUI|
|VOLM|
|SUBE|.
|EQUI|
|EQUI|
|VOLM|
|VOLM|
|SUBE|.
|SUBE|.

Import Settings
setImportOwner(STRING)
getImportOwner()
Current Element
setImportModelAs(STRING)
getImportModelAs()


Use the functionality to set or query most of the parameters set in the Output Settings.

NAME
RESULT
ACTION
setSaveSimplifiedFile(BOOLEAN)
NO RESULT
If the parameter is TRUE (the default) the simplified CAD file (which is always a.stp file) is left on the file system for future use. If the parameter is FALSE the simplified file is deleted after import. The default is TRUE.
getSaveSimplifiedFile()
BOOLEAN
Returns TRUE is the simplified file will be saved, and FALSE otherwise.
setSaveSupportLog(BOOLEAN)
NO RESULT
If the parameter is TRUE (the default) additional information useful for support calls and issue investigation left on the file system for future use. If the parameter is FALSE the information is not saved.
The default is TRUE.
Note:
If a support log is saved, then the simplified File is always saved.
getSaveSupportLog()
BOOLEAN
Returns TRUE is the support log will be saved, and FALSE otherwise.
setOutputFolderPath(STRING)
NO RESULT
This path is used only if the simplified file (and optionally the support log information) is saved, otherwise a temporary folder beneath %AVEVA_DESIGN_WORKS%\ModelSimplification is created and used.
Otherwise, this path is used for the simplified .stp file, and any support long information, and in addition various temporary files used during the simplification process. The path cannot contain environment variable references or wild cards. (The PathName() function of a PML File object may be useful to expand these.).
If the string is empty, then a default directory is used. The default value is |%AVEVA_DESIGN_USER%\Model_Simplification_Results|
getOutputFolderPath()
STRING
Returns the string set above.
setSaveSimplifiedFile(BOOLEAN)

NO RESULT
If the parameter is TRUE (the default) the simplified CAD file (which is always a.stp file) is left on the file system for future use. If the parameter is FALSE the simplified file is deleted after import. The default is TRUE.
getSaveSimplifiedFile()

BOOLEAN
Returns TRUE is the simplified file will be saved, and FALSE otherwise.
setSaveSupportLog(BOOLEAN)

NO RESULT
If the parameter is TRUE (the default) additional information useful for support calls and issue investigation left on the file system for future use. If the parameter is FALSE the information is not saved.
The default is TRUE.
getSaveSupportLog()

BOOLEAN
Returns TRUE is the support log will be saved, and FALSE otherwise.
setOutputFolderPath(STRING)

NO RESULT
This path is used only if the simplified file (and optionally the support log information) is saved, otherwise a temporary folder beneath %AVEVA_DESIGN_WORKS%\ModelSimplification is created and used.
Otherwise, this path is used for the simplified .stp file, and any support long information, and in addition various temporary files used during the simplification process. The path cannot contain environment variable references or wild cards. (The PathName() function of a PML File object may be useful to expand these.).
If the string is empty, then a default directory is used. The default value is |%AVEVA_DESIGN_USER%\Model_Simplification_Results|
getOutputFolderPath()

STRING
Returns the string set above.

NAME
RESULT
ACTION
setSaveSimplifiedFile(BOOLEAN)
NO RESULT
If the parameter is TRUE (the default) the simplified CAD file (which is always a.stp file) is left on the file system for future use. If the parameter is FALSE the simplified file is deleted after import. The default is TRUE.
getSaveSimplifiedFile()
BOOLEAN
Returns TRUE is the simplified file will be saved, and FALSE otherwise.
setSaveSupportLog(BOOLEAN)
NO RESULT
If the parameter is TRUE (the default) additional information useful for support calls and issue investigation left on the file system for future use. If the parameter is FALSE the information is not saved.
The default is TRUE.
Note:
If a support log is saved, then the simplified File is always saved.
getSaveSupportLog()
BOOLEAN
Returns TRUE is the support log will be saved, and FALSE otherwise.
setOutputFolderPath(STRING)
NO RESULT
This path is used only if the simplified file (and optionally the support log information) is saved, otherwise a temporary folder beneath %AVEVA_DESIGN_WORKS%\ModelSimplification is created and used.
Otherwise, this path is used for the simplified .stp file, and any support long information, and in addition various temporary files used during the simplification process. The path cannot contain environment variable references or wild cards. (The PathName() function of a PML File object may be useful to expand these.).
If the string is empty, then a default directory is used. The default value is |%AVEVA_DESIGN_USER%\Model_Simplification_Results|
getOutputFolderPath()
STRING
Returns the string set above.
Note:
If a support log is saved, then the simplified File is always saved.

Output Settings
setSaveSimplifiedFile(BOOLEAN)
getSaveSimplifiedFile()
setSaveSupportLog(BOOLEAN)
Note
:
getSaveSupportLog()
setOutputFolderPath(STRING)
%AVEVA_DESIGN_WORKS%\ModelSimplification
getOutputFolderPath()


Use the functionality to simplify and/or import the input file and to query the file path and any associated messages.
simplifyAndImport()

NO RESULT
This function is the equivalent of the Import button on the user interface
SimplifyOnly()
NO RESULT
This function separates out some of the functionality of simplifyAndImport(BOOLEAN) for flexibility.
getSimplifiedFilePath()

STRING
Returns the path of the last simplified .stp file, if saved, and an empty string otherwise.
getSimplificationMessage()

STRING
Returns a string containing the messages similar to those sent to the progress window.

NAME
RESULT
ACTION
simplifyAndImport()
NO RESULT
This function is the equivalent of the Import button on the user interface
Simplifies the input file
Imports the simplified file into E3D Design
Saves or deletes the simplified file, log files and any temporary files as requested.
SimplifyOnly()
NO RESULT
This function separates out some of the functionality of simplifyAndImport(BOOLEAN) for flexibility.
Simplifies the input file and saves it
Saves or deletes log files and any temporary files as requested.
getSimplifiedFilePath()
STRING
Returns the path of the last simplified .stp file, if saved, and an empty string otherwise.
getSimplificationMessage()
STRING
Returns a string containing the messages similar to those sent to the progress window.
Simplifies the input file
Imports the simplified file into E3D Design
Saves or deletes the simplified file, log files and any temporary files as requested.
Simplifies the input file
Simplifies the input file
Imports the simplified file into E3D Design
Imports the simplified file into E3D Design
Saves or deletes the simplified file, log files and any temporary files as requested.
Saves or deletes the simplified file, log files and any temporary files as requested.
Simplifies the input file and saves it
Saves or deletes log files and any temporary files as requested.
Simplifies the input file and saves it
Simplifies the input file and saves it
Saves or deletes log files and any temporary files as requested.
Saves or deletes log files and any temporary files as requested.

simplifyAndImport()
SimplifyOnly()
getSimplifiedFilePath()
.stp
getSimplificationMessage()


Use the functionality to query the AVEVA Model Simplification version information.
getVersion()

STRING
Returns a string containing the AVEVA Model Simplification version information.

NAME
RESULT
ACTION
getVersion()
STRING
Returns a string containing the AVEVA Model Simplification version information.

getVersion()


Where possible, the set functions will raise a handleable error for invalid parameters:
If a license checkout fails, simplification will return false, and an error summary can be queried.
If a simplification completely fails (for example: a corrupt CAD file), simplification will return false, and an error summary can be queried.
If a simplification complete and import ran into an error, import will return false and again a string summary can be queried.
Note:
At this stage we are using (130,11) messages with variable text.

set
Note
:


import 'Aveva.ModelSimplification'
using namespace  'Aveva.ModelSimplification'
!simplifierObj= object MODELSIMPLIFIEROBJ()
!simplifierObj.setInputFilePath(|InputCADFilePath|)
!simplifierObj.setSimplificationLevel(1)
!simplifierObj.setCadFormat(|STEP|)
!simplifierObj.setImportModelAs(|SUBE|)
!simplifierObj.simplifyandimport()
import 'Aveva.ModelSimplification'
using namespace  'Aveva.ModelSimplification'
!simplifierObj= object MODELSIMPLIFIEROBJ()
Q var !simplifierObj.getOutputFolderPath()
Q var !simplifierObj.getSimplifcationLevel()
define function !!ModelSimplifcationBatchProcess()
!inputCadFiles = ARRAY()
!inputCadFiles.append(|InputCADFilePath|)
!inputCadFiles.append(|InputCADFilePath|)
!inputCadFiles.append(|InputCADFilePath|)
!inputCadFiles.append(|InputCADFilePath|)
using namespace  'Aveva.ModelSimplification'
!simplifierObj= object MODELSIMPLIFIEROBJ()
!simplifierObj.setSimplificationLevel(1)
!simplifierObj.setCadFormat(|STEP|)
!simplifierObj.setImportModelAs(|SUBE|)
do !cadFile from 1 to !inputCadFiles.size()
!simplifierObj.setInputFilePath(!inputCadFiles[!cadFile])
!isSuccess = !simplifierObj.simplifyandimport()
if(!isSuccess) then
$p Simplification ran successfully.
else
$p Simplification ran into an error
endif
enddo
Endfunction
import 'Aveva.ModelSimplification'
using namespace  'Aveva.ModelSimplification'
!simplifierObj= object MODELSIMPLIFIEROBJ()
!simplifierObj.setInputFilePath(|InputCADFilePath|)
!simplifierObj.setSimplificationLevel(1)
!simplifierObj.setCadFormat(|STEP|)
!simplifierObj.setImportModelAs(|SUBE|)
!simplifierObj.simplifyandimport(1)
import 'Aveva.ModelSimplification'
import 'Aveva.ModelSimplification'

Simple - just do it
Querying several of the default parameters
Batch process using do loop
TTY batch mode
Note
:
import 'Aveva.ModelSimplification'
import 'Aveva.ModelSimplification'


MultiCAD Import enables the processing of files from multiple CAD software systems into an AVEVA E3D Design database. It can be run either from the AVEVA E3D Design Model user-interface, the E3D command line or a PML Object, including in batch mode.
MultiCAD Import can import both 3D geometry and metadata from the CAD files, and the attributes imported and the model assembly structure (if any) can be explored using the MultiCAD Explorer.


The MultiCAD Import User Interface (henceforth called the MultiCAD Import in this guide enables the processing of files from multiple CAD software systems in AVEVA E3D Design.

MultiCAD Import


The MultiCAD Import window is displayed as a dockable window.

MultiCAD Import


The MultiCAD Flexible Explorer is displayed as a dockable window, initially docked at the right hand side of the 3D graphical view.
The MultiCAD model is imported into a flat structure, however, the MultiCAD file typically contains assembly information so that another view of the data may also be generated that better represents the file. The secondary MultiCAD file hierarchy is created in the Group World (GPWL), using Group Sets (GPSET) and Group Items (GPITEM).
Imported MultiCAD files define as many levels of decomposition as are necessary for the given model.
The model can be viewed using functionality already available in all explorers, using the right-click menu.
Note:
Selecting an element from the MultiCAD Flexible Explorer navigates to the equivalent element in the 3D graphical view and the Model Explorer.
Note:
The node name displayed in the MultiCAD Flexible Explorer is based on the Function attribute value on the GPSET. Changing the GPSET Function attribute will change the node name in the MultiCAD Flexible Explorer.
Note:
Renaming elements in the MultiCAD Flexible Explorer operates on the GPSET/GPITEM hierarchy, and not on the initial imported data structure. Additionally, the configuration of the MultiCAD Flexible Explorer might mean that the displayed name of the GPSET or GPITEM is not the name displayed in the Model Explorer.

MultiCAD Flexible Explorer
Note
:
MultiCAD Flexible Explorer
Note
:
Note
:
Model Explorer


It is strongly advised against changing the position of elements in the hierarchical representation or any logical grouping shown in the MultiCAD Flexible Explorer. This is the representation of the model in the source file, and any kind of repositioning of elements will disrupt this representation and will probably result in a broken display.

MultiCAD Flexible Explorer.


Navigate from the Model Explorer, 3D graphical view or Drawing Sheet to the equivalent MultiCAD Flexible Explorer node, provided that its parent node is expanded in the MultiCAD Flexible Explorer, or carry out the reverse.

Model Explorer
MultiCAD Flexible Explorer
MultiCAD Flexible Explorer


Defines the details of the imported model’s source data.

Enter the CAD file name in the Select a CAD File field, or browse to locate the required source file (a single CAD file), then click Open. Once the source file has been defined, click Go to next step.

Select a CAD File
Open
Go to next step


Use the Settings window to define the settings for imported model. By default (currently) the Settings window is correctly filled in and the blue tick icon is displayed and the Import functionality is available.

Settings


To increase the performance when displaying or working with the imported model click to check the Save Facet Data check box. (not checked by default).
Note:
AVEVA advise not to check the Save Facet Data check box.

Save Facet Data
Note:
Save Facet Data


Use to limit the number of elements in each Level, by default the check box is selected by default.
Note:
A valid value must be set for No. of import elements per Level. The default value shown in the box is 100 a value of less than 25 or more than 1000 cannot be entered. If a value outside these limits is entered it will be automatically changed to the closest of the 2 limits.
Note:
The AVEVA E3D Design database performs best when the number of members of each element is not excessive.

Note
:
No. of import elements per Level.
Note
:


Use to position, orientate and scale the imported model as part of the import process. The position and orientation can be changed later using the common positioning and orientation functionality available in AVEVA E3D.
Scaling is particularly necessary if the input file does not contain units information (for example in a .stl file), or if the units information is incorrect (for example metres instead of millimetres).
Reference datums are shared between IFC Import, IFC Export and MultiCAD import, so some IFC terms are used. In particular the positioning facilities are more important when importing IFC models with geographic coordinates outside the range of the AVEVA E3D Design spatial map in earlier versions of AVEVA E3D Design.
For example:
The objects in a file have locations near 600km North and 300km West. A reference datum is created at 600km North and 300Km West. Import the file with respect to this datum, the geometry will be located in the E3D database near the origin.
Use the Reference Datum pane of the MultiCAD Import window to select a suitable reference datum, the Use Reference Datum check box is not checked by default.

Use the Reference Datum
Click to check the check box to enable the reference datum functionality
Reference Datum
Use to select the default, project specific reference datums or create a new reference datum.
IFGLOBAL (default read only, no shift, rotation or scaling)
new Reference Datum - create a new reference datum using the Reference Datum window.
Inspect Reference Datum Properties
Displays the Reference Datum window populated with the name, datum properties, orientation and scale for the selected reference datum.
Delete Reference Datum
Deletes the selected reference datum.
Use the Reference Datum
Click to check the check box to enable the reference datum functionality
Reference Datum
Use to select the default, project specific reference datums or create a new reference datum.

Inspect Reference Datum Properties
Displays the Reference Datum window populated with the name, datum properties, orientation and scale for the selected reference datum.
Delete Reference Datum
Deletes the selected reference datum.
Use to review, edit or create a new reference datum, for the purposes of this guide a new reference datum will be created.

AVEVA E3D DesignName
Enter a name for the new reference datum (choose a name that is easy to identify and to reuse)
Datum
Format
Defines the position of the reference datum (use the common positioning functionality).
Orientation
Defines the orientation of the reference datum, default is Y is N and Z is U. Use the Orientate window to manually edit the orientate the reference datum.
Scale
If required, enter a scale factor (default is one).
For example - enter 25.4 to convert inches in the input file to mm to be written to the database.
Edit
Edit the position, orIentation or scale of an existing reference.
Note:
This functionality is only available when an existing reference datum is selected and Inspect Reference Datum Properties is selected.
AVEVA E3D DesignName
Enter a name for the new reference datum (choose a name that is easy to identify and to reuse)
Datum

Format
Defines the position of the reference datum (use the common positioning functionality).
Orientation
Defines the orientation of the reference datum, default is Y is N and Z is U. Use the Orientate window to manually edit the orientate the reference datum.
Scale
If required, enter a scale factor (default is one).
For example - enter 25.4 to convert inches in the input file to mm to be written to the database.
Edit
Edit the position, orIentation or scale of an existing reference.

Use the Reference Datum
Click to check the check box to enable the reference datum functionality
Reference Datum
Use to select the default, project specific reference datums or create a new reference datum.
IFGLOBAL (default read only, no shift, rotation or scaling)
new Reference Datum - create a new reference datum using the Reference Datum window.
Inspect Reference Datum Properties
Displays the Reference Datum window populated with the name, datum properties, orientation and scale for the selected reference datum.
Delete Reference Datum
Deletes the selected reference datum.
AVEVA E3D DesignName
Enter a name for the new reference datum (choose a name that is easy to identify and to reuse)
Datum
Format
Defines the position of the reference datum (use the common positioning functionality).
Orientation
Defines the orientation of the reference datum, default is Y is N and Z is U. Use the Orientate window to manually edit the orientate the reference datum.
Scale
If required, enter a scale factor (default is one).
For example - enter 25.4 to convert inches in the input file to mm to be written to the database.
Edit
Edit the position, orIentation or scale of an existing reference.
Note:
This functionality is only available when an existing reference datum is selected and Inspect Reference Datum Properties is selected.
IFGLOBAL (default read only, no shift, rotation or scaling)
IFGLOBAL (default read only, no shift, rotation or scaling)
IFGLOBAL (default read only, no shift, rotation or scaling)
new Reference Datum - create a new reference datum using the Reference Datum window.
new Reference Datum - create a new reference datum using the Reference Datum window.
new Reference Datum - create a new reference datum using the Reference Datum window.
Note:
The way in which position and orientation are designed for the IFC Import case is where the IFC file contains coordinates in a geographic coordinate system and these must be switched to position the imported objects in a more local project coordinate system.
Note:
The reference datum is not where to position and orientate the object but where in the files’s coordinate system to position at the E3D origin.
Note:
This functionality is only available when an existing reference datum is selected and Inspect Reference Datum Properties is selected.

Note
:
Note
:
Reference Datum
MultiCAD Import
Use Reference Datum
Use the Reference Datum
Reference Datum
IFGLOBAL
new Reference Datum
Reference Datum
Inspect Reference Datum Properties
Reference Datum
Delete Reference Datum
Name
Datum
Format
Orientation
Orientate
Scale
Edit
Note
:
Inspect Reference Datum Properties


Use the functionality from the MultiCAD Import window to select the owning element for the imported model, which format, create a brief or full log file and specify its location and view the progress of the import along with any errors.

Import Settings
Select Owner
Use to choose which element the import will be added under in the hierarchy. The CE allows the current element to be selected.
Note:
If the selected owner element is of the same type as the Import Model As element type, then the model is imported into that existing element, alongside an other members of that element.
Import Model As
Use to select what the import is classed as:
Equipment
Volume
Structure
Framework
Sub-Equipment
Sub-Volume
Sub-Structure
Sub-Frame.
LogFile
Create a Log File
Creates a log file (selected by default)
Type
Brief
Specifies the level of the content in the file: brief - industry standard
Full
Specifies the level of the content in the file: full - to a level where the problems can be isolated
Location
Use to navigate to the required log file. Log file location field cannot be empty. If required, specify a name and alternative location.
Note:
When the source file or folder is selected on the first page, a default file name is generated based on the source name such that the log file is placed next to the source file or folder.
Progress
Stages of the import can displayed in the Progress pane - Initialized, In Progress and Completed.
If import is not yet possible, a message is displayed such as 'Invalid Import Destination' to suggest what changes need to be made.
If an import is unsuccessful or partially successful, an error message is displayed providing further details.
Import
Click to start Import.

Select Owner
Use to choose which element the import will be added under in the hierarchy. The CE allows the current element to be selected.
Import Model As
Use to select what the import is classed as:

Create a Log File
Creates a log file (selected by default)
Type

Brief
Specifies the level of the content in the file: brief - industry standard
Full
Specifies the level of the content in the file: full - to a level where the problems can be isolated
Location
Use to navigate to the required log file. Log file location field cannot be empty. If required, specify a name and alternative location.
Progress
Stages of the import can displayed in the Progress pane - Initialized, In Progress and Completed.
If import is not yet possible, a message is displayed such as 'Invalid Import Destination' to suggest what changes need to be made.
If an import is unsuccessful or partially successful, an error message is displayed providing further details.
Import
Click to start Import.

Import Settings
Select Owner
Use to choose which element the import will be added under in the hierarchy. The CE allows the current element to be selected.
Note:
If the selected owner element is of the same type as the Import Model As element type, then the model is imported into that existing element, alongside an other members of that element.
Import Model As
Use to select what the import is classed as:
Equipment
Volume
Structure
Framework
Sub-Equipment
Sub-Volume
Sub-Structure
Sub-Frame.
LogFile
Create a Log File
Creates a log file (selected by default)
Type
Brief
Specifies the level of the content in the file: brief - industry standard
Full
Specifies the level of the content in the file: full - to a level where the problems can be isolated
Location
Use to navigate to the required log file. Log file location field cannot be empty. If required, specify a name and alternative location.
Note:
When the source file or folder is selected on the first page, a default file name is generated based on the source name such that the log file is placed next to the source file or folder.
Progress
Stages of the import can displayed in the Progress pane - Initialized, In Progress and Completed.
If import is not yet possible, a message is displayed such as 'Invalid Import Destination' to suggest what changes need to be made.
If an import is unsuccessful or partially successful, an error message is displayed providing further details.
Import
Click to start Import.
Equipment
Volume
Structure
Framework
Sub-Equipment
Sub-Volume
Sub-Structure
Sub-Frame.
Equipment
Equipment
Volume
Volume
Structure
Structure
Framework
Framework
Sub-Equipment
Sub-Equipment
Sub-Volume
Sub-Volume
Sub-Structure
Sub-Structure
Sub-Frame.
Sub-Frame.
Note:
If the selected owner element is of the same type as the Import Model As element type, then the model is imported into that existing element, alongside an other members of that element.
Note:
When the source file or folder is selected on the first page, a default file name is generated based on the source name such that the log file is placed next to the source file or folder.

MultiCAD Import
Import Settings
Select Owner
Note
:
Import Model As
Import Model As
LogFile
Create a Log File
Type
Brief
Full
Location
Note
:
Progress
Progress
Invalid Import Destination
Import


Information is provided on IFC, STEP, STL, IGES, 2D DXF files.


Is the best tool for importing a significant IFC Model within the file size limits, the IFC Explorer has extra facilities to handle elements of IFC classes groups and layers, and always imports to an E3D zone and stores repeated IFC property sets efficiently.
The MultiCAD Explorer does not have IFC specific groupings but can import to lower level elements (for example EQUI, therefore excellent for importing components rather than whole buildings). The MultiCAD Import can potentially import somewhat larger IFC files.


Imports one level of any assembly hierarchy, names the E3D elements created, imports curved elements as E3D genpri elements but does not import metadata.
Imports the full assembly hierarchy (as an E3D secondary hierarchy visible in the MultiCAD Explorer). It does not name imported E3D elements, but does set descriptions. Facets curved objects on import and imports metadata.


For a general import of STL and IGS files AVEVA recommend the use of MultiCAD import. Imports STL attempts to recognize simple primitives from STL facets and if successful can produce usable models, but in many cases produces less efficient E3D models. The terrain import continues to use the MEI import for these file types.


The 2D DXF/DWG Import tool is recommended for importing 2D layouts.


The command line syntax for importing a MultiCAD file or folder is illustrated below, it is a variant of the IMP command also used for MEI and IFC Imports.
The functionality does a number of checks dynamically before issuing an IMP command. When operating from the command line invalid data will generally result in an error, which can be handled in PML in the usual manner.
In these examples we will use "W:\example_data\example.jt" as a path to a CAD File.
Example:
This command is the simplest form of the command - supplying a path to the CAD file, and using default values for all the other parameters. These other parameters can be added as required.
There are some other parameters and sub commands which apply to other variants of the IMP command, but not to IMP MULTICAD, these are not described here.
Examples:
The bucketsize option is equivalent to the limit in the Storage pane of the MultiCAD Import window. The E3D Design database performs best when the number of members of each element is not excessive.
Set a bucket size to limit, as far as possible, the number of elements in each level of the database to that number. The default is not to limit the number of members
Examples:
This SCALE not displayed in the MultiCAD Import window. It applies a uniform scale to the imported model. This is combined with an scale from a reference datum and from units settings within the CAD file (if any). The default is a scale of 1.0.
Examples:
This WRT option (or its IN synonym) takes a element which is typically a hidden zone whose name is that of the reference datum in the drop down list in the Reference Datum pane of the MultiCAD Import window with a suffix of -HDR. It is possible to navigate to the element in the hierarchy. The default is not to reposition, reorientate or scale the model.
Examples:
This TO option is equivalent to the Select Owner field in the Import Settings pane of the MultiCAD Import window. It selects where in the E3D Design hierarchy the CAD model should be imported. Valid types are SITE, ZONE, EQUI, VOLM, STRU and FRMW, the default is the current element (CE).
Examples:
This AS option is equivalent to the Import Model As drop- down list in the Import Settings pane of the MulitCAD Import window. It selects the type of E3D Element to be used as the main container element.
Valid element types are EQUI, VOLM, STRU, FRMW, SUBE, SVOLM, SUBS, SBFR (but must be compatible with the type of the TO element, for example: a SUBE cannot be created as a member of a FRMW).
If the TO type is the same as the AS type, then the model will be imported directly into the TO element, in addition to any members it already has.
Any intermediate elements needed between the TO element and the AS type will be created automatically, the default is VOLM.
Examples:
This GPWL option is not displayed in the MultiCAD Import window. It allows you to organize the secondary database hierarchy used for the MultiCAD Explorer.
The default Group World is shared with IFC import. If /IFC_Import Group World already exists in the Database then this is used as the default Group World, otherwise a Group World named /MultiCAD_Import Group World is created (if it does not already exist).
Logging
Examples:
This LOG option is equivalent to the LogFile pane of the MultiCAD Import window.
A log file will be produced by default with a name based on that of the CAD file (the log file can be turned off). To produce a log file, select one of the options and provide a valid file path. If this is an existing file, it will be overwritten.

Note:
In most cases when using the IMP MULTICAD command, it is better to use the SCALE option (if required) and the standard positioning and orientation commands rather than a reference datum.

W:\example_data\example.jt"
IMP MULTICAD "W:\example_data\example.jt"
IMP MULTICAD "W:\example_data\example.jt" BUCKETSIZE 50
IMP MULTICAD "W:\example_data\example.jt" BUCK 100
Storage
MultiCAD Import
IMP MULTICAD "W:\example_data\example.jt" SCALE 25.4
IMP MULTICAD "W:\example_data\example.jt" SCALE 0.1
MultiCAD Import
reference datum
IMP MULTICAD "W:\example_data\example.jt" WRT /IFCGLOBAL-HDR
IMP MULTICAD "W:\example_data\example.jt" WRT /Scale1000-HDR
Reference Datum
MultiCAD Import
Note
:
IMP MULTICAD "W:\example_data\example.jt" TO CE
IMP MULTICAD "W:\example_data\example.jt" TO /ZONE-XXXX
IMP MULTICAD "W:\example_data\example.jt" TO SITE 3 of WORLD
Select Owner
Import Settings
MultiCAD Import
IMP MULTICAD "W:\example_data\example.jt" AS EQUI
IMP MULTICAD "W:\example_data\example.jt" AS VOLM
Import Model As
Import Settings
MulitCAD Import
IMP MULTICAD "W:\example_data\example.jt" GPWL /IFC_Import
IMP MULTICAD "W:\example_data\example.jt" GPWL /CAD_Import_January
MultiCAD Import
MultiCAD Explorer.
IMP MULTICAD "W:\example_data\example.jt" LOG OFF
IMP MULTICAD "W:\example_data\example.jt" LOG BRIEF
IMP MULTICAD "W:\example_data\example.jt" LOG BRIEF "W:/logfiles/aLogfile.txt"
IMP MULTICAD "W:\example_data\example.jt" LOG FULL "W:/logfiles/aLogfile.txt"
LogFile
MultiCAD Import


Structural Analysis Interface Administrator

The Structural Analysis Interface (SAI) is a two way interface. It outputs the AVEVA E3D Design structural model into a STD file, ready to be used by Staad Pro for analysis. It can also import an STD file into an AVEVA E3D Design structural model.


The document provides guidance to the structural designer on how to setup and configure the Structural Analysis Interface.
It is assumed that the structural designer has a basic understanding of the AVEVA E3D Design software and Staad Pro software.


This section describes the SAI project setup.


The interface stores the STD file and other user files in the %AVEVA_DESIGN_USER%\SAIFiles\ directory by default. The standard location for the %AVEVA_DESIGN_USER%\SAIFiles\ directory is C:\Users\Public\Documents\AVEVA\USERDATA\SAIFiles\
If a different storage location is required, the environment variable SAI-SP can be used. To set the variable:
Create a folder, for example, D:\StaadProTrans.
Add the following line in the evars.bat file:
or set a project specific environment variable %abcSAISP%. Whereas abc stands for the project code. If both environment variables are set and both directories exist, the project specific directory is preferred. Write access must be granted to the desired directory.

set SAISP=D:\StaadProTrans
abcSAISP


The User Defined Attributes (UDAs) that are used in SAI are:
UDA name
Type
Element Types
Description
:NDIST
REAL
SPLO
Distance from the JLDATU of Joistart of the GENSEC to the position of the concentrated load. The distance is calculated and set by the interface during the creation or modification of the SPLOs.
:NSDIST
REAL
SDLO
Distance from the JLDATU of Joistart of the GENSEC to the start position of the distributed load. The distance is calculated and set by the interface during the creation or modification of the SPLOs.
:NEDIST
REAL
SDLO
Distance from the JLDATU of Joistart of the GENSEC to the end position of the distributed load. The distance is calculated and set by the interface during the creation or modification of the SPLOs.
:MRELEASE
REF
RELE
Used for storing MEMBER RELEASE information for Staad Pro. The fixing of the connecting GENSEC of a release member. The attribute is set by the interface when the node release attribute is set.
UDA name
Type
Element Types
Description
:NDIST
REAL
SPLO
Distance from the JLDATU of Joistart of the GENSEC to the position of the concentrated load. The distance is calculated and set by the interface during the creation or modification of the SPLOs.
:NSDIST
REAL
SDLO
Distance from the JLDATU of Joistart of the GENSEC to the start position of the distributed load. The distance is calculated and set by the interface during the creation or modification of the SPLOs.
:NEDIST
REAL
SDLO
Distance from the JLDATU of Joistart of the GENSEC to the end position of the distributed load. The distance is calculated and set by the interface during the creation or modification of the SPLOs.
:MRELEASE
REF
RELE
Used for storing MEMBER RELEASE information for Staad Pro. The fixing of the connecting GENSEC of a release member. The attribute is set by the interface when the node release attribute is set.
The UDAs are included in the AVEVA E3D Design project.
To manually set the UDAs, a datal is provided during installation of the interface. The file sai_uda_install_or_upgrade.mac is stored in [AVEVA E3D Design Installation Path]\data, the UDAs can be setup in AVEVA Administration:
UDA name
Type
Element Types
Description
:NDIST
REAL
SPLO
Distance from the JLDATU of Joistart of the GENSEC to the position of the concentrated load. The distance is calculated and set by the interface during the creation or modification of the SPLOs.
:NSDIST
REAL
SDLO
Distance from the JLDATU of Joistart of the GENSEC to the start position of the distributed load. The distance is calculated and set by the interface during the creation or modification of the SPLOs.
:NEDIST
REAL
SDLO
Distance from the JLDATU of Joistart of the GENSEC to the end position of the distributed load. The distance is calculated and set by the interface during the creation or modification of the SPLOs.
:MRELEASE
REF
RELE
Used for storing MEMBER RELEASE information for Staad Pro. The fixing of the connecting GENSEC of a release member. The attribute is set by the interface when the node release attribute is set.
Note:
For customers who have installed previous versions (pre 12.0.SP6) of the Structural Analysis Interface, this macro must be run to upgrade the UDA settings. Data in UDAs stored in previously defined projects is not affected.

UDA name
Type
Element Types
Description
$M [AVEVA E3D Design Installation Path]\data\sai_uda_install_or_upgrade.mac
Note:


During output of the model, the num attributes of JLDATU, ENDATU and GENSEC are updated. The structural engineer that performs the model extraction must have write access to this attribute.
The Purpose attribute of GENSEC elements can also be updated by clicking Set Section Types on the Model Extraction part of the Structural Analysis Interface window during model extraction to a Staad Pro STD file.

Set Section Types
Structural Analysis Interface


The mapping file is used to define the relationship between AVEVA E3D Design profile specifications and the Staad Pro profiles. The mapping file is named SAImap.pmldat and is located in the %AVEVA_DESIGN_USER%\SAIFiles\ directory after installation. If using an environment variable (refer to Environment Variable Settings for further information) to define another storage location you must copy this file to the required location. Mapping is required during the extraction of the model. The mapping file is compatible with the AVEVA E3D Design steel profile catalog. A mapping file for use with the previous steel profile catalog is included in the %AVEVA_DESIGN_USER%\SAIFiles\ directory and is named SAImap_Old_Catalogue.pmldat, to use this file, it must be renamed to SAImap.pmldat.

Environment Variable Settings
Environment Variable Settings


The mapping file structure consists of three sections.
If multiple standards are used, the three sections can be repeated. '*' is used to allow comments in the mapping file.
MEMBER PROPERTY section to define the Staad Pro database used;
Profile mapping from Staad Pro to the AVEVA E3D Design profiles;
USERTABLES section to define the USER PROVIDED TABLE used.
MEMBER PROPERTY section to define the Staad Pro database used;
MEMBER PROPERTY section to define the Staad Pro database used;
Profile mapping from Staad Pro to the AVEVA E3D Design profiles;
Profile mapping from Staad Pro to the AVEVA E3D Design profiles;
USERTABLES section to define the USER PROVIDED TABLE used.
USERTABLES section to define the USER PROVIDED TABLE used.


Two keywords divide the mapping file into different sections.
MEMBER PROPERTY
MEMBER PROPERTY defines the Staad Pro profile database used. The MEMBER PROPERTY keyword, followed by the standard profile database name, sets the profile database. An example of a British profile is:
USERTABLES
USERTABLES define the path of the USER PROVIDED TABLE ( UPTABLE ). The TABLE keyword followed by the <table num> and the Table file sets the used UPT. An example of an UPTABLE is:
The USER PROVIDED TABLE is usually generated and maintained in Staad Pro, which contains defined profiles used in Staad Pro. After the UPTABLE is created, the path of this file can be added into the mapping file below the keyword "USERTABLES".


The profile mapping consists of six columns delimited by ',' .The description of the six columns is:


The column contains information about the Staad Pro profile. There are various profile types in Staad Pro and they are:


The Staad Pro profile name is used. The keyword TABLE is used followed by the profile name. For example, 'TABLE ST UC305X305X240'.


The keyword is PRIS followed by <variable><value> pair. For example, a rectangle section with YD and ZD variables is defined with the depth and width defined in column 3:
PRIS YD <depth*0.001> ZD <width*0.001>


The "UPTABLE num" keyword followed by a variable description can be used to UPT profiles. The num must be defined in the previous section of the mapping file. For example:
When the variables are defined in column 3.
Note:
Dot(.) of profile name is not supported in the current version of SAI. 88.9_OD_5.5 and must be replaced by 88_OD_5 in the USER PROVIDED TABLE.
Note:
Profile names in STAAD Pro must follow a rule, rules can be generated for profiles of the same type.
For example, if there are two profiles called 88.9_OD_5.5 and 114.3OD8.6 in the USER PROVIDED TABLE, they can be better named as 88_OD_5 and 114_OD_8 respectively. A naming rule can be defined as <int(d1)>_OD_<int(d2)>. The suffix n in dn must follow the definition in the mapping file defined in column 3.

Note:
Note:


The column contains the AVEVA E3D Design SPCO reference. For example:
TABLE ST UC305X305X240  ,/BS-UC305x305x240


The column is used to name all the design parameters used in column 1. The names must not contain spaces. The names are read from left to right with the word on the left assigned to DESPARA 1. If only DESPARA 2 and DESPARA 3 are used, a DUMMY word is required to fill the gap for DESPARA 1. For example
Based on this definition, if the GENSEC despara are 20 14 30, then the /Profile/Variable-SPCO is mapped to profile W14X30 in table 1 of UPT.
UPTABLE 1 W<Heig>X<Widt>, /Profile/Variable-SPCO, despA Heig Widt
Note:
When a profile is a parametric profile, one record in the mapping file can be matched with several records in the USER PROVIDED TABLE.
For example, when the parameters are 20 14 30, the profile in the example is named W14X30 in Staad Pro. And when the parameters are 30 28 60, the profile is named W28X60. In this case, there must be at least two profiles in the USER PROVIDED TABLE matching the record W<Heig>X<Widt>.

Note:


The column is used while importing the Staad Pro model to AVEVA E3D Design. While importing the defined profiles, the interface can assess the UPTABLE parameters and the AVEVA E3D Design design parameters, and calculate the design parameters according to the values in the UPTABLE.
For example, the USER PROVIDED TABLE can be:
Wide Flange indicates that the UPTABLE is an UPTABLE of the "H" shape profile.
H6003001220 is the name of the defined profile.
The numbers in the fourth line are the parameters of the shape for this profile. For the H profile, the 2nd number "0.600000" is the depth of the profile, the 4th number "0.300000" is width, the 3rd number "0.012000" is the web thickness and the 5th number "0.020000" is the flange thickness of the profile.
With those four parameters, the shape of the profile is defined. The other parameters are the analysis data of the profile in Staad Pro that are not used in AVEVA E3D Design.
To add the specification /DESPAR-SPEC/Beam_with_design_parameters into the mapping file, set Column 4:
In the specification /DESPAR-SPEC/Beam_with_design_parameters, d1 is the depth of the profile (d1 is the first design parameter of the GENSEC), d2 is the width, d3 is the web thickness and d4 is the flange thickness.
The order of this column is the same as the USER PROVIDED TABLE. In Column 4 of the example, only five parameters are added. The first one "0" is a dummy parameter. The 2nd one "<0.001*d1>" is an expression (expressions or variables are included in the bracket "<>"), <0.001*d1=2nd parameter in UPTABLE>. While importing, the interface calculates d1 by this expression.
The column does not affect the output function.
Unit met
Wide Flange
H6003001220
0.018720 0.600000 0.012000 0.300000 0.020000 0.001185 0.000090 0.000002 0.007200 0.008000
UPTABLE 1 H<int(d1)><int(d2)><int(d3)><int(d4)>,/DESPAR-SPEC/Beam_with_design_parameters,d1
      d2 d3 d4 ,0 <0.001*d1> <0.001*d3> <0.001*d2> <0.001*d4>

Note:
If the parameters cannot be matched with the design parameters of the GENSEC in AVEVA E3D Design directly, expressions can be used.

Note:


The interface only supports Y is U for Staad Pro. The Profile angle is the difference in angle between the AVEVA E3D Design profile and the Staad Pro profile. The method to set the angle is:
Display the AVEVA E3D Design profile in Paragon:

Manually create a section in Staad Pro for the profile that is to be transferred from AVEVA E3D Design. In this case, the ST Angle profile is the correct profile.
The section is extruded in the global Z direction in decreasing Z direction. That is, the start point Z co-ordinate is larger than the end point. The view of the section from the Z axis is:

Rotate the Staad Pro section using the beta angle property until it is identical to the AVEVA E3D Design view. The angle is 75.6582 for the ST angle profile.

The value of column 5 is 75.6582 or the beta angle.
The value of column 6 is -14.3418 or -90 from column 5.


In some cases, particularly with angle profiles, the profile shape must be mirrored to match the AVEVA E3D Design profile and the Staad Pro profile.
This value must be set to 1 to mirror the profile, or 0 to not mirror it.


Column 8: Additional Parameters for Importing

Column 8 is used when importing the Staad Pro model to AVEVA E3D Design. The column does not affect the output function.
Column 4 is used to assess the parameters in the USER PROVIDED TABLE and the AVEVA E3D Design design parameters. In some cases, the AVEVA E3D Design design parameters cannot be transferred to the USER PROVIDED TABLE directly, this column is used to modify the design parameters to make them available for transfer.
The specification is used, for example, /DESPAR-SPEC/Beam_with_design_parameters. The parameter values are set in Column 4. Refer to Column 4: Mapping of UPTABLE Parameters for further information:
If the model is imported with the parameters defined in Column 4. The model displays as:

The specification uses the parameter Depth Between Fillets (design parameter 8) to define the depth between the fillets and the parameter is not set. In this case, an expression can be added to define design parameter 8:
Add the parameters from d5 to d8. D5 to d7 are dummy parameters. Then add the expression "d8=d1-d3*2" to Column 8, the correct parameters can then be imported:

Additional expressions can be added to Column 8, these expressions must be split by a semicolon ";".
UPTABLE 1 H<int(d1)><int(d2)><int(d3)><int(d4)>,/DESPAR-SPEC/Beam_with_design_parameters,d1
      d2 d3 d4 ,0 <0.001*d1> <0.001*d3> <0.001*d2> <0.001*d4>,0,-90

UPTABLE 1 H<int(d1)><int(d2)><int(d3)><int(d4)>,/DESPAR-SPEC/Beam_with_design_parameters,d1
      d2 d3 d4 d5 d6 d7 d8,0 <0.001*d1> <0.001*d3> <0.001*d2> <0.001*d4>,0,-90,0, d8=d1-d3*2

Column 4: Mapping of UPTABLE Parameters
Column 4: Mapping of UPTABLE Parameters


TABLE ST UC305X305X240  ,/BS-UC305x305x240    ,,,0,-90
The GENSEC with spref ,/BS-UC305x305x240 is output as TABLE ST UC305X305X240 .
PRIS YD <depth*0.001> <width*0.001>, -BEAMS-SPEC/Rectangular_Profile, depth width, , 0, 90
The GENSEC is with spref /CONCRETE-BEAMS-SPEC/Rectangular_Profile, and despara 500
      and 300, is output as PRIS YD 0.5 ZD 0.3.

UPTABLE 1 W<Heig>X<Widt>, /Profile/Variable-SPCO, despA Heig Widt , , 0, -90
The GENSEC is with spref /Profile/Variable-SPCO, and despara 100, 14 30, is output
      as UPT 1 W14X30.

Due to the definition of the UPT in section 1, the output is:
START USER TABLE
TABLE 1 c:\Staad Pro\Table1.std
END


The example indicates how to set the profile mapping.


It is assumed that an STD file, named D:\Staad\model.std, must be imported into AVEVA E3D Design. The STD file contains (in the example, some text has been removed for visual representation):
In this STD file, find the records after the keyword "START USER TABLE":
The STD file references two USER PROVIDED TABLEs: D:\Staad\map1.txt and D:\Staad\map2.txt.
The data in the file D:\Staad\map1.txt is:
The data in the file D:\Staad\map2.txt is:
D:\Staad\map1.txt describes the H sections using a name value, for example, "H1800X400X30X40". D:\Staad\map2.txt describes the PIPE sections using a name value, for example, "90_OD_5".
START JOB INFORMATION
ENGINEER DATE 1-Jan-11
END JOB INFORMATION
UNIT METER kN
INPUT WIDTH 79
JOINT COORDINATES
       3               7.785               8.930               1.510
       4               7.785               5.880               1.510
   .......
MEMBER INCIDENCES
   10044          45          22
   ........
DEFINE MATERIAL START
ISOTROPIC STEEL
   ……
END DEFINE MATERIAL
START USER TABLE
TABLE 1 D:\Staad\map1.txt
TABLE 2 D:\Staad\map2.txt
END
MEMBER PROPERTY BRITISH
 10001 10004 10007 10010 10013 10016 10019 TABLE ST UC305X305X240
    ......
MEMBER PROPERTY
 31 50 33 51 36 52 53 38 54 55 40 56 57
  UPTABLE 1 H1800X400X30X40
 43 58 59 60 44 45 61 46 62 47 63 49 64 -
 65 10044 UPTABLE 2 90_OD_5
START USER TABLE
TABLE 1 D:\Staad\map1.txt
TABLE 2 D:\Staad\map2.txt
END
UNIT METER KN
Wide Flange
H2000X400X20X40
0.0704 2 0.02 0.4 0.04 0.0425336 0.000427947 2.21867e-005 0.04 0.02112
H1800X400X30X40
0.0836 1.8 0.03 0.4 0.04 0.0375062 0.000430537 3.25467e-005 0.054 0.02112
H1600X400X30X40
0.0776 1.6 0.03 0.4 0.04 0.0282526 0.000430087 3.07467e-005 0.048 0.02112
……
UNIT METER KN
PIPE
90_OD_5
0.0905 0.0055 0.000729 0.000729
114_OD_6
0.114 0.00602 0.001021 0.001021
……
Note:
The interface uses a single mapping configuration file for importing STD files and exporting AVEVA E3D Design models. A "strong" naming convention must be used for profiles in Staad Pro, rules using parameters can then be set up in a clear and simple way, achieving "one-to-one" mapping.
Note:
In cases when the profile naming rules result in a N-to-One mapping from STD profiles to AVEVA E3D Design specifications, incorrectly mapped profile names may be present. When the model is exported, the interface uses the first rule applicable.

Note:
Note:


Data can be added to the mapping file. It is assumed that the mapping file is a new file.
Add the records after the "USERTABLES" keyword to describe the two USER PROVIDED TABLEs:
Add the "MEMBER PROPERTY" keyword and add the records for the profiles in the two referenced files.
In the specification /DESPAR-SPEC/Beam_with_design_parameters, d1 is the depth of the profile (d1 is the first design parameter of the GENSEC), d2 is the width, d3 is the web thickness and d4 is the flange thickness. The profile can be named "H<int(d1)>X<int(d2)>X<int(d3)>X<int(d4)>" (the int() function is added the to make sure the parameters are in the name is an integer).
The first six record columns are defined in the mapping file:
The final line of the H profiles is defined:
Set the profile of the PIPE section and the profiles after the keyword "MEMBER PROPERTY" are defined:
Check for standard profiles in the STD file and add their mapping records.
The profile "TABLE ST UC305X305X240" is used in the STD file. Add this profile to the mapping file:
The mapping file is completed:
USERTABLES
TABLE 1 D:\Staad\map1.txt
TABLE 2 D:\Staad\map2.txt
UPTABLE 1 H<int(d1)>X<int(d2)>X<int(d3)>X<int(d4)> , /DESPAR-SPEC/Beam_with_design_parameters,d1
      d2 d3 d4 d5 d6 d7 d8,0 <0.001*d1> <0.001*d3> <0.001*d2> <0.001*d4>,

UPTABLE 1 H<int(d1)>X<int(d2)>X<int(d3)>X<int(d4)> , /DESPAR-SPEC/Beam_with_design_parameters,d1 d2 d3 d4 d5 d6 d7 d8,0 <0.001*d1> <0.001*d3>
      <0.001*d2> <0.001*d4> ,0,-90,0,d8=d1-d3*2;

UPTABLE 2 <int(d1)>_OD_<int(d2)>,/DESPAR-SPEC/Tube_with_design_parameters,d1 d2 d3,<0.001*d1>
      <0.001*d1 - 0.001*d2*2> <0.001*d3>,0,-90

MEMBER PROPERTY BRITISH
TABLE ST UC305X305X240  ,/BS-UC305x305x240    ,,,0,-90
USERTABLES
TABLE 1 D:\Staad\map1.txt
TABLE 2 D:\Staad\map2.txt
MEMBER PROPERTY
UPTABLE 1 H<int(d1)>X<int(d2)>X<int(d3)>X<int(d4)> , /DESPAR-SPEC/Beam_with_design_parameters,d1 d2 d3 d4 d5 d6 d7 d8,0 <0.001*d1> <0.001*d3>
      <0.001*d2> <0.001*d4> ,0,-90,0,d8=d1-d3*2;

UPTABLE 2 <int(d1)>_OD_<int(d2)>,/DESPAR-SPEC/Tube_with_design_parameters,d1 d2 d3,<0.001*d1> <0.001*d1 .001*d2*2> <0.001*d3>,0,-90
MEMBER PROPERTY BRITISH
TABLE ST UC305X305X240  ,/BS-UC305x305x240    ,,,0,-90
D:\Staad\map1.txt describes the H sections. The AVEVA E3D Design specification /DESPAR-SPEC/Beam_with_design_parameters is used to represent the profile in AVEVA E3D Design.
D:\Staad\map1.txt contains the name of the H sections, for example, "H1800X400X30X40". The naming rule is H<Height>X<Width>X<int(d3)>X<int(d4)>.
For the "H" profile in the USER PROVIDED TABLE, the 2nd number is the depth of the profile, the 4th number is width, the 3rd number is the web thickness and the 5th number is the flange thickness of the profile.
D:\Staad\map1.txt describes the H sections. The AVEVA E3D Design specification /DESPAR-SPEC/Beam_with_design_parameters is used to represent the profile in AVEVA E3D Design.
D:\Staad\map1.txt describes the H sections. The AVEVA E3D Design specification /DESPAR-SPEC/Beam_with_design_parameters is used to represent the profile in AVEVA E3D Design.
D:\Staad\map1.txt contains the name of the H sections, for example, "H1800X400X30X40". The naming rule is H<Height>X<Width>X<int(d3)>X<int(d4)>.
D:\Staad\map1.txt contains the name of the H sections, for example, "H1800X400X30X40". The naming rule is H<Height>X<Width>X<int(d3)>X<int(d4)>.
For the "H" profile in the USER PROVIDED TABLE, the 2nd number is the depth of the profile, the 4th number is width, the 3rd number is the web thickness and the 5th number is the flange thickness of the profile.
For the "H" profile in the USER PROVIDED TABLE, the 2nd number is the depth of the profile, the 4th number is width, the 3rd number is the web thickness and the 5th number is the flange thickness of the profile.
Column 5 and column 6 can be set according to the methods Column 5 and 6: Profile Angle. Column 7 can be set according to the method Column 7: Mirror Flag. Column 8 can be set according to the method Column 8: Additional Parameters for Importing.
Column 5 and column 6 can be set according to the methods Column 5 and 6: Profile Angle. Column 7 can be set according to the method Column 7: Mirror Flag. Column 8 can be set according to the method Column 8: Additional Parameters for Importing.
Column 5 and column 6 can be set according to the methods Column 5 and 6: Profile Angle. Column 7 can be set according to the method Column 7: Mirror Flag. Column 8 can be set according to the method Column 8: Additional Parameters for Importing.

Column 5 and 6: Profile Angle
Column 7: Mirror Flag
Column 8: Additional Parameters for Importing
Column 5 and 6: Profile Angle
Column 7: Mirror Flag
Column 8: Additional Parameters for Importing


GENSEC materials are based on the MATREF attribute of the GENSEC element. Rules are used to determine the material of the section.


Material Property is set to STEEL.


When the MATREF is set, the SOLI element, that it references in the property database, determines the Material Property exported.
When Built-in Names of Staad Pro are used:

If the DESC attribute of the SOLI element is set to "STEEL","CONCRETE" or "ALUMINUM", the material property of the GENSEC in Staad Pro is set to the built-in properties of Staad Pro.


When the DESC attribute of the SOLI element is not a Staad Pro built-in name, then it is assumed to be a user defined Staad Pro material. Elements (indicated as boxes in the example) may need to be created under the SOLI element, and the attributes of the created elements (indicated as ellipses in the example) must also be set:


The DESC attribute of the SOLI element stores the name of the material in Staad Pro and the key word of the material type in Staad Pro. Keyword "ISO" or "2DO" is required as a prefix in the DESC attribute with "/". ISO is used for Isotropic and 2DO is used for OrthoTropic2D.
The system reads the members of the SOLI element and extracts the first instance of a particular property with an SREF set to ST/xxxxx where "ST/" is the key word to identify the element and "xxxxx" is the material property name in Staad Pro. The material properties values are set in the child elements of the SOLI element. There are no units to the values and the units must be compatible.
If there are 2 TAPR elements with Sref set to ST/CDAMP, only the first TAPR is read. The APROPERTY attribute of the first member wtih hardtype TAPR (the type is SAPR in the example) is the attribute to be extracted.


When more accurate material properties are required, a TEXT type UDA :STPROP can be created. The interface uses the value from this TEXT UDA rather than the real number. The number of significant figures increases if required.