[38ba34]: / Application / Examples / LegPressMachine / LegPressMachine.main.any

Download this file

94 lines (78 with data), 3.3 kB

#include "../libdef.any"

#include "<ANYBODY_PATH_MODELUTILS>SolidModeling/SolidModeling.any"

Main =
{
  // all relevant input parameters
  #include "Model/InputParameters.any"
  // ----------------------------------------------------------
  // Path to draw settings
  // ----------------------------------------------------------
  #include "Model/DrawSettings.any"
  
  // ----------------------------------------------------------
  // Body Model Configuration
  // ----------------------------------------------------------
  #include "Model/BodyModelConfiguration.any"

  // The Mannequin file specifies load-time positions for all the segments
  // in the HumanModel. This is important for the model's ablity to resolve
  // all the kinematic constraints when the model is analyzed.
  // The mannequin file also drives those degrees of freedom of the human 
  // model that are not governed by problem-specific drivers at run time.    
  #include "Model/Mannequin.any"   

  // Model of the human body to be used for the analysis  
  #include "<ANYBODY_PATH_BODY>/HumanModel.any"

  /// The actual model where all components are assembled   
  AnyFolder Model = 
  {
    /// Body model without default drivers
    AnyFolder &BodyModel=.HumanModel.BodyModel;
    /// Reference to the mannequin folder (used by drivers)
    AnyFolder &Mannequin =.HumanModel.Mannequin;
    
    #include "Model/HumanRefNodes.any"
    
    #include "Model/SolidModelingOperations.any"
    
    AnyFolder EnvironmentModel = 
    {
        AnyFixedRefFrame GlobalRef = 
        {

            AnyRefNode bottom_node = 
            {
              sRel = {0, -Main.Parameters.DesignParameters.Back_Rest_Thick, 0};
              AnyDrawSurf surf =
              {
                  FileName = "Input/box";
                  RGB = Main.DrawSettings.Colors.AnyBodyPaleYellow;
                  ScaleXYZ = {1, Main.Parameters.DesignParameters.Back_Rest_Thick/2, 1}/0.15;
                  Opacity = 0.2;
              };              
            }; 
        };
        AnyFolder Segs = {};
        AnyFolder Joints = {};
    };
       
    AnyFolder ModelEnvironmentConnection = 
    {
      #include "Model/JointsAndDrivers.any"
      
      AnyFolder Support = 
      {
          #include "Model/BackrestSupport.any"
          #include "Model/LowerBodySupport.any"
          #include "Model/FootrestSupport.any"
      };
    };
   
  };

  AnyBodyStudy Study = 
  {
      AnyFolder& Model = .Model;
      Gravity = {0, -9.81, 0};
      tStart = Main.Parameters.TrialSpecificData.tStart;
      tEnd = Main.Parameters.TrialSpecificData.tEnd;
      nStep = Main.Parameters.TrialSpecificData.nStep;
      //InitialConditions.SolverType = KinSolOverDeterminate;
      //Kinematics.SolverType = KinSolOverDeterminate;
      //InverseDynamics.Criterion.UpperBoundOnOff = Off;      
      //InverseDynamics.Criterion.Type = MR_MinMaxStrict;
      //InverseDynamics.Criterion.Type = MR_Quadratic;
      InverseDynamics.Criterion.Type = MR_Polynomial;
  };

  // Include an operation sequence to run all required steps of your application (see Operations tab)
    #include "<ANYBODY_PATH_MODELUTILS>\Operations\RunAppSequence.any"
  
};