Exercise 13.2 - SysML to NX

Objectives

The new learning objective of this exercise is to generate a NX CAD assembly structure with features from a SysML model. This enables system engineers to enrich the representation of system-level geometric requirements and pass them to the mechanical designers by seeding CAD models with features corresponding to those requirements, such as the desired boundaries of an assembly, max/min distance between parts, keep-out zones around parts and assemblies, and desired center-of-gravity location.

Preparation

This exercise assumes the student has

The SysML model used in these instructions is the Syndeia Tutorial Testbed.mdzip (get it here - https://intercax.atlassian.net/wiki/spaces/SYN34/pages/2407364009)

Exercise

In transforming content from SysML to NX, Syndeia is able to generate NX Parts with a subset of NX-standard part features. The supported part features are shown in Figure 1; the sample model is available within the NX_Tutorial::Part_Feature_Library package in the Syndeia Tutorial Testbed model.

Note that the Block and Value Property names must be used exactly as shown and that the Bocks must have applied the «NX_Part_Feature» stereotype (available within the Syndeia_Profile).

 

Figure 1 SysML block structure with feature definitions for generating NX CAD model with features

 

  1. Create an empty package (1_Tutorial Test in this example) in your local file system, in a place where it is accessible using a repository link pointing to that section of your local file system (see Video 1.2 for adding a repository link).

  2. The SysML model to be transformed is the Payload_Reqt block in the NX_Tutorial package. The four part properties (Figure 2) represent geometric requirements for overall payload volume, two keep-out zones within that volume, and the locus for the center of gravity of the final payload package.

Figure 2 Part_Reqt block structure in SysML

  1. Note the structure of the model in the SysML containment browser. Each block that represents a different part feature is in a separate package – which, crucucially, is also a separate namespace. This enables the different part features to have the same name (e.g. Cylinder), but different default values which define their position, orientation and dimensions.

    Figure 3 Part structure in SysML

  2. Right-click on the NX_Tutorial package in the SysML model containment tree and select Syndeia > Dashboard menu. Select a Syndeia Cloud project, if necessary. Go to the Settings tab and make sure Get Features of NX parts is checked (Figure 4).

    Figure 4 Syndeia dashboard, Settings tab – NX features checked

  3. Go to the Connection Manager tab. Expand the SysML repository in the left column, the empty package in the local file system, and the connection type in the middle panel as Model Transform. Drag-n-drop the Payload_Reqt block from the SysML tree (LHS) to a folder on your local file system (RHS), as shown in Figure 5.

    Figure 5 Drag SysML block with feature definitions to a folder to generate NX CAD model

  4. Select the option to Generate NX CAD model in the dialog box, as shown in Figure 6, and then click OK, then Yes to confirm.

    Figure 6 Select option to generate NX CAD model

  5. This will generate a NX CAD model with the same name as the SysML block (e.g. Part_Reqt), as shown in Figure 7.

    Figure 7 NX CAD model Part_Reqt generated from SysML block structure

  6. Right-click on the Part_Reqt.prt file or Part_Reqt NX model in the Syndeia dashboard and select Open. This will open the CAD model in NX, as shown in Figure 8. Note that 4 features have been generated in NX (as highlighted) from the 4 feature definitions in the SysML block structure (Figure 2). The part property names for the feature definitions in the SysML model have been used to name the features in the NX CAD model, e.g. cog for the Sphere feature used in Part_Reqt.

    Figure 8 Open NX CAD model from the Syndeia dashboard

  7. The general method for creating a SysML block with geometric feature that can be converted into an NX CAD model is

    1. Define a block to represent the parent part. Apply the NX_Part stereotype to this block and populate the unit tag, as shown in Figure 9 (allowable values are mm and inch). The units apply to everything in the part, including computed parameters such as volume and bounding box as shown below.

    2. Create blocks to represent the primitive features. Allowable names are - PointLinePlaneCuboidConeCylinder, and Sphere. Apply the NX_Part_Feature stereotype to these blocks.

    3. Create and populate the default value of the value properties of the feature blocks. The names of value properties for the feature blocks must be exactly same as in the My System Part Features model (Figure 1).

    4. Alternately to b) and c), copy the feature blocks in the example model My System Part Features into your own SysML model and then modify the default values for the feature parameters, as needed. Use the feature blocks as part properties of the parent part block, similar to the My System Part Features models shown in Figure 1 and Figure 2.

    5. Name the part properties with names that are relevant to your domain. These names will be used to set the feature names in the NX CAD model.

    6. If it necessary to have two or more features of the same type in your block (e.g. two Spheres) with different default values for the geometry parameters, it is possible to create two separate blocks named Sphere in your SysML model, as long as they are stored in two separate packages.

      Figure 9 Populate the unit tag of the NX_Part stereotype to specify the base units for the NX part