For Customer Defined Data Model
This section describes another example. Let us assume that you have created a specialized data model:
MyVPMReferenceentity derived fromVPMReference:MyAttribute1(Type: Integer)MyAttribute2(Type: String)
My3DShapeentity derived from3DShape:MyAttribute3(Type: Integer)MyAttribute4(Type: String)
- A
MyExtensioncustomer extension for which scope contains theMyVPMReferenceandMy3DShapetypes: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>