For Customer Defined Data Model
This section describes another example. Let us assume that you have created a specialized data model:
MyVPMReference
entity derived fromVPMReference
:MyAttribute1
(Type: Integer)MyAttribute2
(Type: String)
My3DShape
entity derived from3DShape
:MyAttribute3
(Type: Integer)MyAttribute4
(Type: String)
- A
MyExtension
customer extension for which scope contains theMyVPMReference
andMy3DShape
types:MyAttribute5
(Type: Integer)MyAttribute6
(Type: String)
The following entries can be added in the cust-STEP-mapping.xml
file to map such data model, this example illustrates the different mapping capabilities of this file:
<ObjectsConfig> <Object Type_STEPAP242XML="Part" Type_3DEXPERIENCE="MyVPMReference" CustomizedType_STEPAP242XML="MyCustomizedPart"> <attribute Name_STEPAP242XML="STEPproperty1" Name_3DEXPERIENCE="MyAttribute1" type="integer"/> <attribute Name_STEPAP242XML="STEPproperty2" Name_3DEXPERIENCE="MyAttribute2" type="string"/> <attribute Name_STEPAP242XML="STEPproperty3" Name_3DEXPERIENCE="MyAttribute3" type="string" ExtensionName_3DEXPERIENCE="MyExtension"/> <attribute Name_STEPAP242XML="STEPproperty4" Name_3DEXPERIENCE="MyAttribute4" type="string" ExtensionName_3DEXPERIENCE="MyExtension"/> </Object> <Object Type_STEPAP242XML="Document" Type_3DEXPERIENCE="My3DShape" CutomizedType_STEPAP242XML="STEPRep3D" DocumentType="geometry"> <attribute Name_STEPAP242XML="STEPproperty5" Name_3DEXPERIENCE="MyAttribute5" type="integer"/> <attribute Name_STEPAP242XML="STEPproperty6" Name_3DEXPERIENCE="MyAttribute6" type="string"/> <attribute Name_STEPAP242XML="STEPproperty7" Name_3DEXPERIENCE="MyAttribute7" type="string" ExtensionName_3DEXPERIENCE="MyExtension"/> <attribute Name_STEPAP242XML="STEPproperty8" Name_3DEXPERIENCE="MyAttribute8" type="string" ExtensionName_3DEXPERIENCE="MyExtension"/> </Object> <Object Type_STEPAP242XML="Document" Type_3DEXPERIENCE="MyDocument" CutomizedType_STEPAP242XML="MySTEPDocument" DocumentType="specification"> <attribute Name_STEPAP242XML="My_STEP_property1" Name_3DEXPERIENCE="My_V6_attributeA" type="integer"/> <attribute Name_STEPAP242XML="My_STEP_property2" Name_3DEXPERIENCE="My_V6_attributeB" type="string"/> <attribute Name_STEPAP242XML="My_STEP_property3" Name_3DEXPERIENCE="My_V6_attributeC" type="string"/> </Object> </ObjectsConfig>
Each Object
tag maps an STEP AP242 XML element
(Type_STEPAP242XML
) and a type (Type_3DEXPERIENCE
) to an
external logical type (CutomizedType_STEPAP242XML
). As STEP AP242 XML
considers both geometry and specification documents as Document
, an
additional xml attribute (DocumentType
) helps in distinguishing them. The
values of the additional xml attribute can be geometry
(sharable),
aggregatedGeometry
(non-sharable), and specification
.
Within each Object
tag attribute tags are used to map the attribute name (Name_3DEXPERIENCE
) to an external
logical name (Name_STEPAP242XML
). For attributes defined on extensions ExtensionName_3DEXPERIENCE
must contain the extension name.
An attribute results in a Property element in the STEP AP242 XML file.
Here is an extract of an STEP AP242 XML that follows this mapping:
<Class uid="C__1"> <DefinedIn uidRef="ECS__1"/> <Id id="MyVPMReference"/> </Class> <Classification uid="Cl__1"> <Class uidRef="C__1"/> </Classification> <Part uid="Pa__1"> <ClassifiedAs> <Classification uidRef="Cl__1"/> </ClassifiedAs> ... <PropertyValue uid = "SV__1" xsi:type = "n0:StringValue"> <Definition> <PropertyDefinition uidRef = "PD__1"/> <Definition> <Name> <CharacterString>STEPproperty2</CharacterString> </Name> <ValueComponent> <CharacterString>dummy</CharacterString> </ValueComponent> <PropertyValue> ... </Part>