Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Describe mesh file support changes in 4.0

...

  • The XML format of model files has changed due to underlying improvements in the API. Editing osim files by hand in a text editor may be more challenging, but we provide several scripts to edit files (see the file Code/GUI/modelBuildingUtilities.py in the Resources directory) and you can also utilize the GUI’s Property Editor Property Editor and Outputs List.
  • OpenSim 4.0 version model files are not compatible with 3.3 or earlier versions. Do not save a 3.3 version model in 4.0 if you want to be able to also use it in 3.3. OpenSim models from versions 2.4 to 3.3 should open without issue in 4.0 (with the potential changes noted below).
  • Components (i.e., muscles, markers, joints, etc.) in a model must all have unique names. OpenSim 4.0 will automatically rename components upon loading a 3.3 or earlier version file with duplicate names. Or edit the model file before opening to resolve duplicates with your own naming scheme.
  • Mesh files that are binary vtp files or stl/obj files that contain multiple volumes are not supported in version 4.0. These meshes can be modified to ascii vtp files using Paraview or MeshLab, also multiple volumes can be separated into multiple files using Meshlab or other third party tools.
  • If you are using models with CustomJoints that have coupled motion, you may need to redefine your joint definitions. In OpenSim 4.0, we eliminated the potential for MotionType inconsistencies by using the Joint type to determine the MotionTypes of its coordinates. For a CustomJoint, a coordinate is considered Rotational (or Translational) if and only if it is a pure rotation (or translation) along one of the corresponding six spatial transform axes, which means the relationship is 1 to 1 (e.g., linear function of slope +/-1). If the transform axis motion is any other function it is interpreted as Coupled where the motion about that axis is coupled to the generalized coordinate and it is not a physical measure of spatial motion (not an angle or displacement in Cartesian axes) of the joint's child frame. When you load an older (v3.3 or earlier) model in the GUI that has incorrect motion types for some coordinates, the GUI will present you with a warning. Follow the suggestions in the GUI's warning:
    • If you want to keep using your older model file with 4.0, update the motion_type of coordinates. This usually means changing a coupled coordinate's motion_type from Rotational to Coupled.
    • Use the function updatePre40KinematicsFilesFor40MotionType() to fix older MOT files which would have incorrectly converted the units of some coordinates. This function is available in the GUI Scripting Shell, Python, Matlab, and C++.
  • If you saved a model file using the beta version of OpenSim 4.0 from August 2018, the model will not work in the released version of OpenSim 4.0. You can fix this by using the function updateSocketConnecteesBySearch() in the GUI Scripting Shell, Python, Matlab, or C++.
    • In the GUI ScriptingShell:

      Code Block
      languagepy
      >>> model = modeling.Model('my_model_file_version_30516.osim')
      >>> modeling.opensimSimulation.updateSocketConnecteesBySearch(model)
      >>> model.print('my_model_file_4.0.osim')
       


  • Additional details and changes are listed in the full log of changes to the API

...