InterOp:Connect/NX Direct/NX Direct Reader
The NX Direct Reader component reads files from NX. This component is in the form of shared libraries.
Refer to Format and Version Support for a list of file formats and versions that InterOp Connect supports for translation.
NX Direct Implementation Note
The 3D InterOp product suite provides both Direct translators and Parasolid kernel-based translators to perform NX Translation. For 3D InterOp Connect, the specification between NX Direct or Parasolid-based NX Translation is made using the SPAIDocument::SetType method with the desired format. For NX Direct translation, call:
Note: The appropriate current license key must be available.
Note: If a SetType ID is not specified, 3D InterOp Connect will select between Direct translators and Parasolid-based translators based on whether pskernel.dll is found in the system path. If pskernel.dll is found, Parasolid-based translation will be done. If pskernel.dll is not found, the Direct translator will be used. Specifying a SetType ID supersedes this check.
Features of the NX Direct Reader include support for:
- Compressed Files
- Local Coordinate System (LCS) Translation
- Assembly Files
- Drawing Assembly
- Free Part Translation
- Reference Sets
- Reading Free Curves and Free Points
- Reading Face and Edge Name Attributes
- Reading Free Curves and Free Points Name Attributes
- Manufacturing Information
- Reading NX Part and Assembly Files with Localized Paths and without Locale Setting
- Extremity Points of Linear and Ordinate Dimensions
- User Defined Attributes
- Document and Body-level Material Properties
Options for NX Direct Reader
|AddMultBodiesInSamePart||true||This option controls whether multi-body part files are read into single or separate parts.|
|ReadNonBlankedParts||true||This option controls whether to read non-blanked parts during the translation process.|
|ReadVisibleLayerOnly||true||This option controls whether to read only the visible layers during the translation process.|
- The translator supports reading compressed assembly and part files. It also supports reading drawing data.
Local Coordinate System (LCS) Translation
- The translator supports LCS translation while reading part files and assembly files (through flatten or XML route).
Reading NX Part and Assembly Files with Localized Paths and without Locale Setting
- The translator supports reading NX files with localized paths and without a locale setting.
User Defined Attributes
The NX Reader supports Part level user defined attributes. It includes parameters such as Name, Type, and Value. The support for these parameters is available only when the TranslateAttributes option is set to true. The following figure shows part properties in NX.
The parameter Name contains the category and the title. For example in the image above, the Name for the "NewCat" category and title "Titl1" is "NewCat|Titl1". The Date and Time parameters are in GMT time.
Note: The NX application prior to version NX 8 accepted "String" as the only parameter type. Thus, for those files (NX 7.5 and earlier), the parameter value type can only be output as a "String". You may notice this for parameters such as Date, Number, and Integer which will continue to be written as a "String".
Once the user defined attribute is translated, InterOp assigns the attribute a parameter value type as defined in ACIS Writer User Defined Attribute .
The NX Reader translates material properties with units, such as Density (kg_mm3), Young Modulus (MPa), Poisson’s Ratio, Thermal Expansion Coefficient (_C), Thermal Conductivity (micro-W_mm-C), Specific Heat (J_kg-K), Yield Strength (MPa), and Ultimate Tensile Strength (MPa). InterOp uses the following units for material properties no matter what units are given in NX.
Document-level Material Properties
The support for material properties is available only when the TranslateAttributes option is set to true. The figure above illustrates that the document material is highlighted. The following figure illustrates material properties.
Body-level Material Properties
The NX Reader also translates body level material properties. The material properties are attached as attributes to the body.
Once the material properties are translated, InterOp assigns the attribute with the parameter value type as defined in ACIS Writer User Material Properties .
- Support for Assembly Files
- The translator reads NX assembly (*.prt). Depending upon the capabilities of the Writer, the assembly will be flattened or written as assembly.
- Support for Drawing Assembly
- The translator supports reading drawing entities in NX assembly.
- Support for Free Part Translation
- InterOp NX Reader provides support for translating free parts along with the assembly. For more information, refer to Free Part Translation.
- Support for Reference Sets
- The translator supports reading Reference Set information in NX assembly during translation. For more information, refer to Reference Set.
- Support for Reading Free Curves
- The translator reads free curves from NX files. Free curves in a NX file include: line, spline, arc (circle), and conic (ellipse, parabola, and hyperbolas).
- Support for Reading Free Points
- The translator supports reading free points from NX files.
- Support for Reading Face and Edge Name Attributes
- The translator supports reading name attributes attached to faces and edges from NX files from version NX 7 onwards.
- Support for Reading Free Curves and Free Points Name Attributes
- The translator supports reading name attributes attached to free curves and free points in NX files from version NX 7 onwards.
- Support for Manufacturing Information
- InterOp supports the translation of PMI for NX 2 and later versions.
- InterOp supports the translation of Assembly PMI for NX 7.5 and later versions.
- InterOp supports the translation of PMI display information for NX 6 and later versions.
- InterOp supports the translation of dimension line extremities for NX files version NX 5 and later versions.
Manufacturing Information for PMI is called through the use of the PMI representation. The PMI data includes dimensioning (Driven and Reference types), Geometric Dimensioning and Tolerancing (GDT), 3D annotation (text), and surface roughness information. To support the translation of PMI data, SPAXUGPMIExporter.dll is required.
While translating from NX, the Basic, Reference, and Tolerance type dimensions from NX are mapped to BASIC, REFERENCE, or TOLERANCE types. The dimension subtype represents Linear, Angular, or Radius value type. The NX Dimensioning is based on the following rules:
- Dimension specified on a vertex will be attached to the corresponding edge.
- All the angular dimension values will be converted into decimal degrees.
- If the dimension has a unit along with the value, then the dimension value will be converted to the target document's unit. The following figure shows a NX dimension with unit:
- If the target document has millimeter (mm) as its unit, the dimension value will be 42.8625, (= 27/16 inches = (27/16) * 25.4 mm).
- If the tolerance value of a dimension has a unit, the tolerance value will be converted to the NX file unit. The tolerance values will not be scaled to the target document unit. The following figure shows a tolerance value with unit:
- The translated Dimension value will be 36.512500 and the tolerance limit is (+/-) 3.175000.
- The prefix and suffix text (or symbols) attached to dimension will be added to the note with a separator `|'.
- The blank status and Layer hidden properties of dimension are supported. However, there will be no layer ID or number associated with a dimension.
- For all tolerance types formats ("Nominal", "Plus-Minus", "fractions", "+-Symmetric") except limit type ("limits"), the main Dimension value and Maximum and Minimum Tolerance values are provided. If the format is limit, then the main Dimension value will be Zero and Maximum and Minimum Tolerance values will hold the two limit values. The following figure shows the dimension format as Limit in NX:
- Then the translated dimension will be:
- Dimension Value: 0. 000000
- Dimension Tolerance Upper Limit: 80.100000
- Dimension Tolerance Lower Limit: 79.900000
- Dimension line extremities are provided under start/end extremities. They help for extracting dimension line vector.
Note: NX files do not contain names for Dimensions. The NX Entity ID is attached as name to the Dimensions.
Note: For the associated entities in an Dimensions, NX Entity ID is used as reference ID.
Annotations in NX
InterOp Connect supports Text, Surface Roughness, and GD&T types of annotations in a NX file. These annotations are translated only if they have direct association with BRep data of the main model. InterOp Connect represents these annotations as an attribute on the associated entity.
The NX annotations are based on the following rules:
- Annotations given to vertices will be attached to the corresponding edges.
- All angular values of GD&T will be converted into decimal degrees and other types of GD&T values will be converted into the target document units.
- In NX, Surface Roughness is translated only if it was created using GD&T symbols.
- If a dimension has GD&T attached as text as shown in the figure below, then the dimension is translated with note containing GD&T string:
- Prefix and suffix text (or symbols) attached will be added to the note with a separator "|".
- For all annotations, the blank status and the Layer hidden properties are supported. However, there will be no layer ID or number associated with the annotations.
The following table shows the Datum Target Type supported by the NX Reader and its mapping.
NX Datum Target Type Output Datum Target Type POINT SPAX_DTT_Point LINE SPAX_DTT_LINE CIRCULAR SPAX_DTT_AreaCircular CYLINDRICAL SPAX_DTT_AreaCircular RECTANGULAR SPAX_DTT_AreaRectangular USER DEFINED AREA SPAX_DTT_UserDefined
Note: NX files do not contain names for Annotations. The NX Entity ID is attached as a name to the Annotations.
Note: For the associated entities in an Annotation, the NX Entity ID is used as a reference ID.
Note: The InterOp Connect NX component does not support annotations without the necessary association. For example, you can attach a Datum label to GD&T without creating the Datum itself; however, the Datum attribute will not be translated.
The NX Reader has the following limitations:
- Loss of Category Information
- Only "ALL" category information is retrieved from NX files while other categories are ignored.
- Assembly Cut
- NX 3 implements a new feature named "assembly cut". The InterOp translator provides limited support for this new feature. While reading an assembly file having the "cut" feature enabled, the InterOp translator reads all the Parasolid entities and generates Part files referred by assembly without performing the cut operation.
- Tool Body Used for "cut"
- InterOp does not distinguish between the tool body and target bodies.
- Limited Support for Assembly Attributes
- Translation of layer, color, show/no-show information in assembly files are not supported.
- In Text Annotations, text properties such as Underline, Color, Font Size, and Font name are not supported.
- The composite type of GD&T is not supported.
- PMI information from compressed files is not supported.
- PMI associated with datum plane and datum axis is not supported.
- PMI not associated with geometry is not supported.
- Translation of Process-Specification, Enterprise-Identifier, and Coordinate Notes is not supported.
- PMI associated with Annular Region is not supported.
- Free State Modifier for Datum Reference (DRF) is not supported.
- Common Zone Modifier and Maximum Modifier are not supported.
- No support for PMI for version NX 8.5.
- Rate Unit
- Rate Unit cases are not supported
- Datum Target
- Orientation_Position_1 and Orientation_Position_2 values for all Datum Targets are not supported.
Important: Non-semantic Datum Target without datum reference is not supported.
- Semantic Datum Target Type Arbitrary Shape is not supported
- Name Attribute for Sketches
- As for sketches, the name attached to a sketch is not translated, but the name attached to the curve or point of a sketch will be translated.
- User Defined Attributes
- For user defined attributes in NX having a "number" type, the values are converted/scaled to NX file units.
- Units are not given for "number" type user defined attributes.
- Category is not translated if the value is given through a referenced text editor. Examples of the different types of categories in a user defined attribute include "Materials" and "DB Part".
- Material Properties
- If a material property has multiple values, then only the first value in the table is given as the value for that property.
- Only isotropic materials from the NX material library are translated.
- In material properties, only the Unit systems available in an NX Modeler are supported. Custom Unit systems are not supported.