MV-1035: Import CAD or FE into MotionView

In this tutorial, you will learn about an important modeling approach: Building an MBD model from CAD data.

In this tutorial, you will learn to:
  • Import a CAD assembly into MotionView.
  • Import a CSV file to create Points
  • Create an MBD model using the imported data.

The Import CAD or FE utility in MotionView allows you to import CAD or FE assemblies. CAD formats include CATIA, Parasolid, Pro E, STEP, JT, SolidWorks and Unigraphics. FE formats include HyperMesh, OptiStruct, and Nastran.

CAD or FE assemblies can be imported into MotionView as graphics only to be associated with existing bodies, or as new bodies with calculated mass and inertia properties along with graphics.

The multibody aspects of any CAD assembly that can be imported in MotionView are:
  • Component Mass
  • Component Moments of Inertia
  • Component Center of Gravity Location
  • Component Graphics

The CAD import utility calls HyperMesh in the background to write out a graphic file (*.h3d) which holds the geometry information in a tessellated form. While importing CAD or FE to create new bodies with mass and inertia, the utility uses HyperMesh to calculate mass, inertia and CG location.

In the following exercise, you will import a CAD assembly into MotionView, simplify the model from a multibody analysis point of view, and define constraints, model inputs and model outputs.

Please copy all of the files from the mbd_modeling\automation\CAD folder into your <working directory>.

Load a CAD File in MotionView

In this step, the focus is on understanding the process of import and model simplification.

  1. Launch a new MotionView session by clicking
  2. From the menu bar, select File > Import > Geometry

    Or

    Click Import Geometry , on the Standard toolbar.

    The Import CAD or FE dialog is displayed.
  3. Under Import Options, select Import CAD or Finite Element Model With Mass and Inertias.
  4. From the Input File pull-down menu, select STEP.
  5. Click to select the STEP file.
  6. Select the file Front_Assembly.step from your working directory.
  7. Click Open.
    The Output Graphic File field is automatically filled with Front_Assembly_graphic.h3d as the H3D filename.
  8. Click the plus button next to MDL Options and review the various options.


    Figure 1.
    Note: The MDL Options allow for flexibility while importing. The CAD file can be imported either in an existing system/assembly or a new system can be created
  9. For this exercise, accept the defaults.
  10. Review the options under Meshing Options for Surface Data.


    Figure 2.
    Note: This section helps control the size of mesh (or tessellation). When the MBD model being created is used to solve non-contact problems, use the default option under Allow HyperMesh to specify mesh options. The Launch HyperMesh to create MDL points option allows you to select nodes in HyperMesh which can be imported into MotionView as MDL points. This is not needed for this tutorial since you will be creating these additional points using a macro. For models that involves contacts, it is recommended to use Control mesh coarseness for contacts. The Interactive mesh (launches HyperMesh) option can be used to mesh the surfaces manually. This is particularly useful when a finer mesh may be needed, such as in case of contact problems, to obtain better results.
  11. Click the plus button next to Locator Points (must be in source reference frame) and review the options.


    Figure 3.
    Note: The Locator Points options can be used in cases where the CAD model being imported is not in the same coordinate system as the MBD model in MotionView. This option gives you control to specify three nodes or coordinates on the source graphic which can then be used to orient using three points in MotionView after it's imported. This option is not needed for tutorial as the imported graphic is in the required position.
  12. Select None.
  13. Click OK.
    The Import CAD dialog is displayed.
    Note: This dialog helps to generate mass and inertia information. The table displays different bodies or components being imported along with the volume and mass information based on a default density of 7.83e-6. The density value can be modified for each of the components. Alternatively, a CAD summary file can be used to extract mass/inertia
  14. Set Input file length to Millimeter.
  15. Under Component, select Wheel_body1. In the Apply density to selected components field, change the value of the density to 8.5e-7 and click Apply.


    Figure 4. Import CAD Dialog
  16. Leave the default value of the density for the other components. Click OK.
    If the import into MotionView is successful, the message "Translating/Importing the file succeeded!" is displayed in the message log.
  17. Clear the message log.
    The body, along with the associated graphics, is displayed in the modeling window.
    Note: The Extract mass/inertia data from CAD summary file option can be used only for CATIA summary file. Currently, summary files from other CAD packages are not supported under this option.

Consolidate and Rename the Suspension Assembly Bodies

There are three bodies with their names prefixed with Strut_rod. These bodies in reality are joined together and hence can be represented as one body. Having these bodies separate increases the complexity of the model, and you are not studying their interactions with each other, so the bodies will merge into one.
  1. In the Project Browser, select these bodies: Strut_rod_1_body1, Strut_rod_body1 and Strut_rod_body2. Right-click to bring up the context menu.


    Figure 5.
  2. Select Merge Bodies. This option is used to merge two or more bodies into a single body.
  3. From the Merge Bodies dialog, enter Strut_rod as the label and b_Strut_rod as variable name. Click OK.
    The three selected bodies are deleted and replaced by a new body with the label and variable names as entered previously. The mass and inertia values of this body are equivalent to the effective mass and inertia of the bodies being replaced.


    Figure 6.
  4. Repeat steps 1 to 3 for merging the bodies: Strut_tube_1_body1 and Strut_tube_body1. Enter the label as Strut_tube and variable name as b_Strut_tube for the new body to be created.
  5. From the Project Browser, select Wheel_body1 (Wheel part) .
  6. Press F2 or right-click on Wheel_body1 and select Rename.
  7. Change the label of the selected body to Wheel.
  8. Similarly, rename the following parts:
    S. No Original Label New Label
    1 Wheel_Hub_body1 Wheel_Hub
    2 Lower_Control_Arm_body1 Lower_Control_Arm
    3 Axle_Shaft_body1 Axle_Shaft
  9. Save the model as front_susp.mdl.


    Figure 7.
Notes on the Merge Bodies option:
  • Mass and inertia of the newly created body upon Merge will be equal to the effective mass and inertias of the bodies being merged.
  • A new CG point is created at the effective CG location of the bodies being merged.
  • Pair bodies cannot be merged.
  • The Merge option works only within same container (System/Assembly/Analysis). Merging bodies which belong to different container entities is not supported. The context menu item will not appear in these cases.
  • If the bodies that are being merged are referred to in expressions, post Merge these expressions need to be corrected to point to the newly created body.
  • Graphics that belong to bodies being merged are automatically resolved to the new body.
  • Joints, bushings etc. that are associated with the bodies being merged if any, are automatically resolved to the new body.

Create Points

After creating the bodies, additional points are needed that will be used to specify joint locations and joint orientations. These points can be created using the macros available in the Macros menu.

  1. From the Macros menu, select Create Points > Using Coordinates or click Create points using Coordinates .


    Figure 8.
  2. Click to load a point table file.


    Figure 9.
  3. Select the file suspension_points.csv from your working directory.
  4. Click Open.
    All the point coordinates in the CSV file are imported into the utility.


    Figure 10.
  5. Specify Varname prefix as p_susp.
  6. Click OK.
    The points are added to the model. These extra points will be used for defining joints, orientations and other model inputs.
    Note: To use this macro import option, you have to create the *.csv file in the format shown below:


    Figure 11.

    1st Column - X coordinates.

    2nd Column - Y coordinates.

    3rd Column - Z coordinates.

  7. Save the model.

Create Joints and Spring Damper

In this step, you will add the joints to connect the bodies and a spring damper between Strut tube and Strut rod.

  1. From the Project Browser, right-click Model and select Add > Constraint > Joint (or right-click Joints from the toolbar).
    The Add Joint or JointPair dialog is displayed.
  2. Specify the Label and Variable as Wheel Spindle RJ and j_whl_spindle_revj, respectively.
  3. For Type, select Revolute Joint.
  4. Click OK.
  5. Make the following selections:
    1. For Body1 of the joint, specify Wheel.
    2. For Body2, specify Wheel_Hub.
    3. For Origin, specify Point7. (Point around the Wheel center).
    4. For Axis, specify Point19. (Point around Axle Shaft center).


    Figure 12.
  6. Add the rest of the joints of the model using the table below:
    S.No Label Type Body 1 Body 2 Origin(s) Orientation Method Ref. 1 Ref. 2
    1 Strut Hub Fix Fixed Joint Wheel_Hub Strut_rod Point8      
    2 Strut Trans Translation Joint Strut_rod Strut_tube Point23 Axis(Pt) Point9  
    3 Strut Tube Ground UJ Universal Joint Strut_tube Ground Body Point9 Shaft(Pt)

    Shaft(Vect)

    Point23 Global X
    4 Axle Hub Fix Fixed Joint Axle_Shaft Wheel_Hub Point19      
    5 Hub Control Arm Ball Ball Joint Lower_Control Arm Wheel_Hub Point3      
    6 Control Arm Ground Rev Revolute Joint Lower_Control Arm Ground Body Point1 Axis(Pt) Point2  
  7. From the Project Browser, right-click Model and select Add > Force Entity > Spring Dampers (or right-click Spring damper icon from the toolbar).
  8. Specify the Label and Variable as Strut-SpringDamper and sd_strut, respectively.
  9. Check Create explicit graphics check-box to create an explicit graphic for the spring damper entity.
  10. Click OK.
  11. For Body1 and Body2, specify Strut_tube and Strut_rod, respectively.
  12. For Point1 and Point2, specify Point9 and Point0, respectively.
  13. Click the Properties tab and specify a stiffness (K linear) of 10 and damping (C linear) of 0.1.
  14. Save the model.

Add a Jack to the Model

Next, add a jack to this model and use the jack exercise the wheel through a vertical motion.
  1. From the Project Browser, right-click Model and select Add > Reference Entity > Body (or right-click Bodies from the toolbar).
  2. Add a body with Label and Variable as Jack and b_jack, respectively.
  3. Click the body Properties tab and specify the Mass and the three principle inertia values of the body as 0.01, 100, 100, and 100, respectively.
  4. Click the CM Coordinates tab and select the Use CM Coordsys check box.
  5. Pick Point10 (bottom of wheel body) as the CM Origin point for the jack body.
  6. From the Project Browser, right-click Model and select Add > Reference Entity > Graphic (or right-click Graphics from the toolbar) to add a graphic.
  7. Specify the Label of the graphic as Jack Plate and select the Type as Cylinder from the drop-down menu.
  8. Accept the default variable.
  9. From the Connectivity tab, select the Parent Body as Jack.
  10. Pick Point10 as the Origin. For Direction, toggle to Vector and select Global Z.
  11. Click the Properties tab. Specify a value of -30 in the field next to it.
  12. Specify a value of 250 for Radius 1.

    Notice that the Radius 2 field is updated with the same value as Radius 1.

  13. From the Project Browser, right-click Model and select Add > Constraint > Joint (or right-click Joints from the toolbar).
  14. Specify the Label and Variable as Jack Wheel Inplane and j_jack_wheel, respectively.
  15. For Type, select Inplane Joint from the drop-down menu.
  16. Click OK.
  17. From the Connectivity tab, select Wheel as Body1, select Jack as Body2.
  18. Select Point10 as Origin and Vector Global Z as Normal.
  19. Add another joint and specify the Label and Variable as Jack Ground Trans and j_jack_grnd, respectively.
  20. For Type, select Translational Joint.
  21. Click OK.
  22. From the Connectivity tab, select Jack as Body1, Ground Body as Body2.
  23. Pick Point10 as Origin and Vector Global Z as the Alignment Axis.
    All the joints required to complete the model are now in place.
  24. Save the model.


    Figure 13. Front suspension

Specify Motion Inputs and Run the Model in MotionSolve

In this step, you will create a motion that is applied to the jack and solve the model.

  1. From the Project Browser, right-click Model and select Add > Constraint > Motion (or right-click Motion from the toolbar) to add a motion.
  2. For Label, specify Jack Motion. For Variable, specify mot_jack.
  3. From the Connectivity tab, select Jack Ground Trans (the translation joint between Jack and Ground Body) as the Joint.
  4. From the Properties tab, change the property type to Expression from the pull-down menu. Type in the expression `50*sin(TIME)` as the displacement Motion expression.
  5. Add another motion to arrest the free spinning of the wheel. Add a motion and specify the Label and Variable name as Wheel Spindle and mot_wheel, respectively.
  6. From the Connectivity tab, select Wheel Spindle RJ as the Joint.
  7. From the Properties tab, verify that the value of the Motion is 0.0.

    This motion of 0.0 radians keeps the Wheel body from spinning freely about its axis.

  8. Save the model.
  9. Click Check Model . In the Message Log that is displayed, verify that there are no warnings or errors. Clear the message log.
  10. Go to the Run panel .
  11. Specify a name for the MotionSolve input XML file by clicking Save and run current model .
  12. From the Simulation type drop-down menu, select Static+Transient.
  13. Click Run.
  14. Once the run is complete, click Animate to view the animation of the simulation.