InterOp:Connect/Parasolid/Parasolid Writer/Manufacturing Information for Parasolid/PMI Data for Parasolid

From DocR21

Jump to: navigation, search

InterOp Connect defines a representation named PMI to support PMI data translation. The following PMI features are supported in InterOp Connect:

  • Text PMI
  • Roughness PMI
  • Datum PMI
  • GD&T PMI
  • Dimension PMI
  • Flag Note PMI

Note that Modeler routines, in addition to removing redundant topologies and repairing them, also merge, delete, and split topologies like Edge(s), Face(s) present in the model. The PMI attached to such topologies may behave differently from the original model. In case of:

  • Merge: PMI information may remain on the original topology or move to the topology to which it is merged.
  • Split: PMI information will split all specified topologies.
  • Delete: PMI information will be lost as the specified topology is deleted.

Note: InterOp interfaces operate with wide character text, whereas Parasolid interfaces operate with Unicode text (given as UTF-16). In general, the two encodings are not directly interchangeable. Refer to the documentation for your target platform for advice on how to convert between the two encodings.


Contents

Required DLLs

To support translation of PMI data, ensure that the following libraries (DLLs) are available in the base directory:

  • SPAXGenericManufacturingImporter.dll
  • SPAXGenericManufacturingImporterd.dll
  • SPAXGenericPMIImporter.dll
  • SPAXGenericPMIImporterd.dll
  • SPAXProeManufacturingExporter.dll
  • SPAXProeManufacturingExporterd.dll
  • SPAXProePMIExporter.dll
  • SPAXProePMIExporterd.dll

Note: For debug builds (for example, NT_VC8_DLLD), the DLL name is suffixed with "d", for example: SPAXGenericManufacturingImporterd.dll.


Names of PMI Annotations

The Parasolid PMI Importer supports names of all types of PMI annotations (to wherever the source format exports them). The name of the PMI annotation can be queried from the corresponding PMI PK_GROUP in the same way the name of the body or face is queried from PK_ENTITY.

Detailed information about Parasolid PMI methods is provided in the section PMI Methods in Parasolid Detailed.

Text PMI

InterOp creates a PK_GROUP in Parasolid for each Text PMI using a dummy point body. An attribute named SPAATTRIB_MI_BODY is attached to the dummy point body to identify whether the body is a MI point body or not. If the value of SPAATTRIB_MI_BODY attribute is 1, point body is MI point body; else, otherwise.

An integer attribute with attribute definition name SPAATTRIB_GROUP_TYPE is attached to each PK_GROUP. The value of this attribute identifies whether the PK_GROUP is associated with Text PMI or not. For the Text PMI, the value of this attribute is 1.

All the Text information is attached to PK_GROUP using the SPAATTRIB_PMI_TEXT attribute definition. The following table lists the members of SPAATTRIB_PMI_TEXT attribute definition:

Field No. Value Type Field Description
1 Unicode String Text String corresponding to the text feature


An attribute with SPAATTRIB_MFGENTS attribute definition is attached to the PK_GROUP associated with the Text PMI. This attribute contains the Parasolid Entity tags associated with Text PMI as an array of integers.

Because the Parasolid Entity tags are session-specific, an integer attribute with SPAATTRIB_TAG attribute definition is attached to the corresponding Parasolid Entity.

You can use the SPAATTRIB_MFGENTS and SPAATTRIB_TAG attribute values to retrieve the Parasolid Entity(s) associated with the PMI in another session.

Refer to Methods for Text PMI.

Roughness PMI

InterOp creates a PK_GROUP in Parasolid for each Roughness PMI using a dummy point body. An attribute named SPAATTRIB_MI_BODY is attached to the dummy point body to identify whether the body is a MI point body or not. If the value of SPAATTRIB_MI_BODY attribute is 1, point body is MI point body; else, otherwise.

An integer attribute with attribute definition name SPAATTRIB_GROUP_TYPE is attached to each PK_GROUP. The value of this attribute identifies whether the PK_GROUP is associated with Roughness PMI or not. For the Roughness PMI, the value of this attribute is 2.

All the roughness information is attached to PK_GROUP using SPAATTRIB_PMI_ROUGHNESS attribute definition. The following table lists the members of SPAATTRIB_PMI_ROUGHNESS attribute definition:

Field No. Value Type Field Description
1 Integer Roughness obtention type (Roughness type)
2 Integer Roughness applicability type
3 Integer Number of fields
4-12 Unicode String Roughness fields
13 Real Roughness scale factor

The following diagram shows roughness notation with the nine fields:

For the above figure, description of fields is as following:

Field 1: Roughness value Ra

Field 2: Unused

Field 3: Minimum material removal

Field 4: Production method

Field 5: Roughness cutoff

Field 6: Roughness value other than Ra

Field 7: Direction of lay

Field 8: need information

Field 9: need information

An attribute with SPAATTRIB_MFGENTS attribute definition is attached to the PK_GROUP associated with the Roughness PMI. This attribute contains the Parasolid Entity tags associated with Roughness PMI as an array of integers.

Because the Parasolid Entity tags are session-specific, an integer attribute with SPAATTRIB_TAG attribute definition is attached to the corresponding Parasolid Entity.

You can use the SPAATTRIB_MFGENTS and SPAATTRIB_TAG attribute values to retrieve the Parasolid Entity(s) associated with the PMI in another session.

Refer to Methods for Roughness PMI.

Datum PMI

InterOp creates a PK_GROUP in Parasolid for each Datum PMI using a dummy point body. An attribute named SPAATTRIB_MI_BODY is attached to the dummy point body to identify whether the body is a MI point body or not. If the value of SPAATTRIB_MI_BODY attribute is 1, point body is MI point body; else, otherwise.

An integer attribute with attribute definition name SPAATTRIB_GROUP_TYPE is attached to each PK_GROUP. The value of this attribute identifies whether the PK_GROUP is associated with Datum PMI or not. For the Datum PMI, the value of this attribute is 5.

All the Datum information is attached to PK_GROUP using SPAATTRIB_PMI_DATUM attribute definition. The following table lists the members of SPAATTRIB_PMI_DATUM attribute definition:

Field No. Value Type Field Description
1 Array of Integers Array of tags of Datum targets associated with the datum
2 Unicode String Datum Label

An attribute with SPAATTRIB_MFGENTS attribute definition is attached to the PK_GROUP associated with the Datum PMI. This attribute contains the Parasolid Entity tags associated with the Datum PMI as an array of integers.

Each Datum contains reference to one or more Datum targets. For each Datum target, a PK_GROUP is made with a dummy point. An attribute definition named SPAATTRIB_MI_BODY is attached to the dummy point body to identify whether the body is a MI point body or not. If the value of SPAATTRIB_MI_BODY attribute is 1, point body is MI point body; else, otherwise.

An integer attribute with attribute definition name SPAATTRIB_GROUP_TYPE is attached to each PK_GROUP. The value of this attribute identifies whether the PK_GROUP is associated with Datum PMI or not. For the Datum PMI, the value of this attribute is 6.

An attribute definition named SPAATTRIB_PMI_DATUMTGT is attached to this PK_GROUP. The details of this attribute definition are as follows:

Field No. Value Type Field Description
1 Integer Datum Target Type defined using datum_target_type enumeration: enum datum_target_type {

DT_UNKNOWN = 0,

DT_POINT,

DT_LINE,

DT_AREA_CIRC,

DT_AREA_RECT,

DT_AREA_FACE,

DT_FEATURE }

2 Array of doubles The position 1 for defining orientation of the Datum Target
3 Array of doubles The position 2 for defining orientation of the Datum Target
4 - 12 Unicode String Target Name
13 Unicode String Target Note

An attribute with SPAATTRIB_MFGENTS attribute definition is attached to the PK_GROUP associated with the Datum target. This attribute contains the Parasolid Entity tags associated with Datum target as an array of integers.

Because the Parasolid Entity tags are session-specific, an integer attribute with SPAATTRIB_TAG attribute definition is attached to the corresponding Parasolid Entity.

You can use the SPAATTRIB_MFGENTS and SPAATTRIB_TAG attribute values to retrieve the Parasolid Entity(s) associated with the PMI in another session.

Refer to Methods for Datum PMI.

GD&T PMI

InterOp creates a PK_GROUP in Parasolid for each GD&T PMI using a dummy point body. An attribute named SPAATTRIB_MI_BODY is attached to the dummy point body to identify whether the body is a MI point body or not. If the value of SPAATTRIB_MI_BODY attribute is 1, point body is MI point body; else, otherwise.

An integer attribute with attribute definition name SPAATTRIB_GROUP_TYPE is attached to each PK_GROUP. The value of this attribute identifies whether the PK_GROUP is associated with GD&T PMI or not. For the GD&T PMI, the value of this attribute is 3.

An attribute with SPAATTRIB_MFGENTS attribute definition is attached to the PK_GROUP associated with the GD&T PMI. This attribute contains the Parasolid Entity tags associated with GD&T PMI as an array of integers.

For each GD&T PMI, a PK_GROUP is created with a dummy point for each Datum Reference Frame. An attribute named SPAATTRIB_MI_BODY is attached to the dummy point body to identify whether the body is a MI point body or not. If the value of SPAATTRIB_MI_BODY attribute is 1, point body is a MI point body; else, otherwise.

An integer attribute with attribute definition name SPAATTRIB_GROUP_TYPE is attached to each PK_GROUP. The value of this attribute identifies whether the PK_GROUP is associated with Datum Reference Frame or not. For the Datum Reference Frame, the value of this attribute is 7.

All the information related to Datum Reference Frame is attached to PK_GROUP using SPAATTRIB_PMI_DRF attribute definition. The details of this attribute definition are as following:

Field No. Value Type Field Description
0 Array of integers Array of tags of Datum references associated with the datum reference frame
1 Unicode string Datum reference frame note

An attribute with SPAATTRIB_MFGENTS attribute definition is attached to the PK_GROUP associated with the Datum Reference Frame. This attribute contains the Parasolid Entity tags associated with Datum Reference Frame as an array of integers.

For Datum Reference Frames, a PK_GROUP is created with a dummy point for each Datum Reference. An attribute named SPAATTRIB_MI_BODY is attached to the dummy point body to identify whether the body is a MI point body or not. If the value of SPAATTRIB_MI_BODY attribute is 1, point body is MI point body; else, otherwise.

An integer attribute with attribute definition name SPAATTRIB_GROUP_TYPE is attached to each PK_GROUP. The value of this attribute identifies whether the PK_GROUP is associated with Datum Reference or not. For the Datum Reference, the value of this attribute is 8.

All the information related to Datum Reference is attached to PK_GROUP using the SPAATTRIB_PMI_DREF attribute definition. The details of this attribute definition are as following:

Field No. Value Type Field Description
0 Array of integers Array of tags of the datum associated with this datum reference
1 Array of integers Array of Datum Modifier
2 Unicode string Label associated with the datum reference

An attribute with SPAATTRIB_MFGENTS attribute definition is attached to the PK_GROUP associated with the Datum Reference. This attribute contains the Parasolid Entity tags associated with Datum Reference as an array of integers.

For Datum Reference, a PK_GROUP is created with a dummy point for each Datum PMI.

Because the Parasolid Entity tags are session-specific, an integer attribute with the SPAATTRIB_TAG attribute definition is attached to the corresponding Parasolid Entity.

You can use the SPAATTRIB_MFGENTS and SPAATTRIB_TAG attribute values to retrieve the Parasolid Entity(s) associated with the PMI in another session.

Refer to Methods for GD&T PMI.

Dimension PMI

InterOp creates a PK_GROUP in Parasolid for each Dimension PMI using a dummy point body. An attribute named SPAATTRIB_MI_BODY is attached to the dummy point body to identify whether the body is a MI point body or not. If the value of SPAATTRIB_MI_BODY attribute is 1, point body is MI point body; else, otherwise.

An integer attribute with attribute definition name SPAATTRIB_GROUP_TYPE is attached to each PK_GROUP. The value of this attribute identifies whether the PK_GROUP is associated with Dimension PMI or not. For the Dimension PMI, the value of this attribute is 4.

All the Dimension information is attached to PK_GROUP using SPAATTRIB_PMI_DIMENSION attribute definition. The following table lists the members of SPAATTRIB_PMI_DIMENSION attribute definition:

Field No. Value Type Field Description
0 Integer Tag of the first entity
1 Integer Tag of the second entity
2 Integer Dimension Type
3 Integer Sub Dimension Type
4 Real Dimension Value
5 Real Dimension Tolerance Upper Limit
6 Real Dimension Tolerance Lower Limit
7 Real Dimension Tolerance precision
8 Unicode string Dimension tolerance's upper value
9 Unicode string Dimension tolerance's Lower value
10 Unicode string Dimension note

An attribute with the SPAATTRIB_MFGENTS attribute definition is attached to the PK_GROUP associated with the Dimension PMI. This attribute contains the Parasolid Entity tags associated with Dimension PMI as an array of integers.

Because the Parasolid Entity tags are session-specific, an integer attribute with the SPAATTRIB_TAG attribute definition is attached to the corresponding Parasolid Entity.

You can use the SPAATTRIB_MFGENTS and SPAATTRIB_TAG attribute values to retrieve the Parasolid Entity(s) associated with the PMI in another session.

Refer to Methods for Dimension PMI.

For specific material regarding Pro/E to Parasolid, refer to InterOp:Connect/Parasolid/Parasolid Writer/Manufacturing Information/Dimension Support from Pro/E to Parasolid.

Flag Note PMI

InterOp creates a PK_GROUP in Parasolid for each Flag Note PMI using a dummy point body. An attribute named SPAATTRIB_MI_BODY is attached to the dummy point body to identify whether the body is a MI point body or not. If the value of SPAATTRIB_MI_BODY attribute is 1, point body is MI point body; else, otherwise.

An integer attribute with attribute definition name SPAATTRIB_GROUP_TYPE is attached to each PK_GROUP. The value of this attribute identifies whether the PK_GROUP is associated with Flag Note PMI or not. For the Flag Note PMI, the value of this attribute is 11.

All the Flag note information is attached to PK_GROUP using the SPAATTRIB_PMI_FLAGNOTE attribute definition. The following table lists the members of SPAATTRIB_PMI_FLAGNOTE attribute definition:

Field No. Value Type Field Description
1 Unicode String Text String corresponding to the flag note feature.

An attribute with SPAATTRIB_MFGENTS attribute definition is attached to the PK_GROUP associated with the Flag note PMI. This attribute contains the Parasolid Entity tags associated with Flag note PMI as an array of integers.

Because the Parasolid Entity tags are session-specific, an integer attribute with SPAATTRIB_TAG attribute definition is attached to the corresponding Parasolid Entity.

You can use the SPAATTRIB_MFGENTS and SPAATTRIB_TAG attribute values to retrieve the Parasolid Entity(s) associated with the PMI in another session.

Refer to Methods for Flag Note PMI.

Common Attributes

InterOp Connect defines common attributes used for managing PMI information:

SPAATTRIB_MI_BODY

Field No. Value Type Field Description
0 Integer

1- MI point body

0- non-MI body

Integer value that indicates whether the body is MI point body or not.

SPAATTRIB_GROUP_TYPE

Field No. Value Type Field Description
0 Integer Enumeration for group type unique to the different PMI Features. The enumeration values are:

Unknown = -1

Hole=0

Text=1

Roughness=2

GDT=3

DimTol=4

Datum=5

DatumTarget=6

DatumRefFrame=7

DatumReferences=8

Note Param=9

Leader=10

Flag Note=11

SPAATTRIB_MFGENTS

Field No. Value Type Field Description
0 Array of integers Array of entity tags associated with a PK_GROUP

SPAATTRIB_TAG

Field No. Value Type Field Description
0 Integer Integer corresponding to the Parasolid entity tag

Display Information

The InterOp Manufacturing Information Reader can translate PMI display information from CATIA V5 to Parasolid format. The display information includes:

  • Anchor points of the annotation
  • Normal to the view plane
  • Primary direction of the annotation
  • Leader Information

The PMI display information is attached to the PK_GROUP as a Parasolid attribute. The attribute definition string associated with the Parasolid attribute is SPAATTRIB_PMI_DISPLAY. The display information is attached to the different fields of this attribute definition. The following table describes the fields of the SPAATTRIB_PMI_DISPLAY attribute definition:

Field No. Value Type Field Description
0 PK_VECTOR Anchor points
1 PK_VECTOR Normal to View Plane
2 PK_VECTOR Primary direction of the Annotation
3 Array of Integers Array of tags of PK_GROUP(s) associated with the Leaders

The value of these fields can be retrieved using the methods available in the SPAXGenericMfgAttributeTransfer class.

The display information is for the following annotations:

  • Text
  • Roughness
  • Datum and Datum Target
  • GD&T

The following figure shows Text annotation in a box where "O" denotes the display point:

The following figure shows Roughness annotation in a box where "O" denotes the display point:

The following figure shows Datum and Datum Target annotation in a box where "O" denotes the display point:

The following figure shows GD&T annotation in a box where "O" denotes the display point:

The Leader information is attached as a Parasolid attribute definition named, SPAATTRIB_PMI_LEADER_POINTS, to a PK_GROUP created using a dummy point. The attribute named SPAATTRIB_GROUP_TYPE, attached to PK_GROUP, contains information about the group type of attribute definition. For a Leader, the value of SPAATTRIB_GROUP_TYPE attribute is ten. A Leader contains the following information:

  • Head Point
  • Tail Point

The Head and Tail information is attached as fields in the attribute definition. The following tables lists the fields of the SPAATTRIB_PMI_LEADER_POINTS attribute definition.

Field No. Value Type Field Description
0 PK_VECTOR Head Point
1 PK_VECTOR Tail Point

You can retrieve the values for the fields of SPAATTRIB_PMI_LEADER_POINTS attribute definition using the methods available in the SPAXGenericMfgAttributeTransfer class.

Note: The tag of PK_GROUP associated with the Leader is attached as a field member of the SPAATTRIB_PMI_DISPLAY attribute.


Non-semantic GD&T PMI Imported from CATIA V5

Translation of non-semantic GD&T PMI is supported. The following figure illustrates a CATIA V5 file with non-semantic GD&T PMI attached to it:

Non-semantic GD&T PMI

Figure. Non-semantic GD&T PMI illustrates a sample non-semantic GeomTol PMI created in CATIA V5. While exporting from CATIA V5, the tolerance magnitude is set to a negative value and the note field of GeomTol is set to 0.005 Tol|Upper Note|Lower Note.

The translated Tolerance dimension is represented as:

Geomtol attribute found
---------------------------------------------------------------------
Tolerance Type      :11
Mod Dia Type        :0
Tolerance Magnitude :-0.001000
Refinement Tol      :0.000000
Rate Unit1          :0.000000
Rate Unit2          :0.000000
Zone Modifier1      :0
Zone Modifier2      :0
Projected Magnitude :0.000000
Profile Shift       :0.000000
All Around          :FALSE
Note                :0.005 Tol|Upper Note|Lower Note
---------------------------------------------------------------------
DRF Information Start{
Note                :A|B|C
DREF count          :3
-----------------------------------------
DREF [ 0] Information Start{
Note                :A
Datum count         :0
}DREF [ 0] Information End
-----------------------------------------
DREF [ 1] Information Start{
Note                :A
Datum count         :0
}DREF [ 1] Information End
-----------------------------------------
DREF [ 2] Information Start{
Note                :C
Datum count         :0
}DREF [ 2] Information End
}DRF Information End

Important: Datum References of Datum Reference Frames associated with non-semantic GD&Ts will not contain any Datums. This is a limitation as that information is not available with CATIA V5 non-semantic GD&Ts.


Non-semantic Stacked GeomTol PMI

The CATIA V5 Reader translates non-semantic stacked GD&T PMI. Only the first row of the non-semantic stacked GeomTol will have display and leader information as well as note (upper and lower) information. For the first row, the owners are respective owners of that GeomTol (for example, face). The first row GeomTol is the owner of the second row GeomTol. The second row GeomTol is the Owner of the third row GeomTol and so on. While printing the owner information for these rows, Owner is specified as upper GeomTol and its Note, for example:

<Owner :GEOM_TOL(Note:<Note of the upper row>)>
Non-semantic Stacked GD&T PMI

In this example, the text file has the following PMI information:

Note: The PMI information shown is only for the first two rows.


See Also

Personal tools
Live