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
This exercise assumes the student has
IBM Rational Rhapsody 8.2 installed correctly on his or her machine with a valid license for use, and
Syndeia 3.3 installed as a plugin for Rhapsody with a valid license for use
Syndeia NX interface, correctly installed with a valid license for use,
Siemens NX 11.0 or later, installed correctly on his or her machine with a valid license for use.
The SysML model used in these instructions is the Syndeia_Tutorial_Testbed.rpy (Get it here - SysML Models, Profiles and Mappings.).
Exercise
In writing from SysML to NX, Syndeia is able to generate a single part with certain standard part features. The available primitive part features are shown in Figure 1, which is available under the NX_Tutorial::Part_Feature_Library package in the Syndeia _Tutorial_Testbed model (Get it here - SysML Models, Profiles and Mappings.). Note that the block and value property names must be used exactly as shown and that the blocks have the <<NX_Part_Feature>> stereotype from the Syndeia_Profile.
Figure 1 SysML block structure with feature definitions for generating NX CAD model with features
Create an empty package (1_Tutorial Test Rhp 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).
The SysML model to be transformed is the Payload_Reqt block in the NX_Tutorial package. The four part properties (Figure 4) 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 Payload_Reqt block structure in SysML
Note the structure of the model in the SysML model view browser. Each block representing a different part feature is in a separate package, which 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
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
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
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
This will generate a NX CAD model with the same name as the SysML block (e.g. Payload_Reqt), as shown in Figure 7.
Figure 7 NX CAD model Payload_Reqt generated from SysML block structure
Right-click on the Payload_Reqt.prt file or Payload_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 Payload_Reqt.
Note: If your operating system is not set to open NX files automatically, e.g. by double-clicking them in Windows Explorer, the Open operation may not work properly.Figure 8 Open NX CAD model from the Syndeia dashboard
The general method for creating a SysML block with geometric feature that can be converted into an NX CAD model is
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.
Create blocks to represent the primitive features. Allowable names are - Point, Line, Plane, Cuboid, Cone, Cylinder, and Sphere. Apply the NX_Part_Feature stereotype to these blocks.
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).
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.
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.
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