[770c98]: / Application / Examples / LegPressMachine / Model / SolidModelingOperations.any

Download this file

528 lines (492 with data), 19.0 kB

AnyFolder SolidModelingOperations = 
{
   CreateBox Back_Rest(
   InputName = Back_Rest,
   InputPlacement = Main.Model.EnvironmentModel.Segs,
   InputLengthX = Main.Parameters.DesignParameters.Back_Rest_Height,
   InputLengthY = Main.Parameters.DesignParameters.Back_Rest_Thick,
   InputLengthZ = Main.Parameters.DesignParameters.Back_Rest_Width,
   InputDensity = Main.Parameters.DesignParameters.Back_Rest_Density) =
   {
     Pos0 = {Main.Parameters.DesignParameters.Back_Rest_Height/2
             *cos(pi/180*(Main.Parameters.DesignParameters.Back_Rest_Tilt_Angle)),
             Main.Parameters.DesignParameters.Back_Rest_Height/2
             *sin(pi/180*(Main.Parameters.DesignParameters.Back_Rest_Tilt_Angle)),
             0};
     RotAnglesInDegree0 = {0, 0, Main.Parameters.DesignParameters.Back_Rest_Tilt_Angle};
     Color = Main.DrawSettings.Colors.AnyBodyGreen;
     Opacity = 0.3;
     OpacityForLocalFrame = 0;
     OpacityForLocalRefNodes = 0;
   };
   
   CreateBox Hip_Rest(
   InputName = Hip_Rest,
   InputPlacement = Main.Model.EnvironmentModel.Segs,
   InputLengthX = Main.Parameters.DesignParameters.Hip_Rest_Height,
   InputLengthY = Main.Parameters.DesignParameters.Hip_Rest_Thick,
   InputLengthZ = Main.Parameters.DesignParameters.Hip_Rest_Width,
   InputDensity = Main.Parameters.DesignParameters.Hip_Rest_Density) =
   {
     Pos0 = {Main.Parameters.DesignParameters.Hip_Rest_Height/2
             *cos(pi/180*(Main.Parameters.DesignParameters.Hip_Rest_Tilt_Angle)),
             Main.Parameters.DesignParameters.Hip_Rest_Height/2
             *sin(pi/180*(Main.Parameters.DesignParameters.Hip_Rest_Tilt_Angle)),
             0};
     RotAnglesInDegree0 = {0, 0, Main.Parameters.DesignParameters.Hip_Rest_Tilt_Angle};
     Color = Main.DrawSettings.Colors.AnyBodyGrey;
     Opacity = 0.3;
     OpacityForLocalFrame = 0;
     OpacityForLocalRefNodes = 0;
   };  
   
   CreateBox Foot_Rest(
   InputName = Foot_Rest,
   InputPlacement = Main.Model.EnvironmentModel.Segs,
   InputLengthX = Main.Parameters.DesignParameters.Foot_Rest_Height,
   InputLengthY = Main.Parameters.DesignParameters.Foot_Rest_Thick,
   InputLengthZ = Main.Parameters.DesignParameters.Foot_Rest_Width,
   InputDensity = Main.Parameters.DesignParameters.Foot_Rest_Density) =
   {
     Pos0 = {Main.Parameters.DesignParameters.Foot_Rest_Height/2
             *cos(pi/180*(Main.Parameters.DesignParameters.Foot_Rest_Tilt_Angle)),
             Main.Parameters.DesignParameters.Foot_Rest_Height/2
             *sin(pi/180*(Main.Parameters.DesignParameters.Foot_Rest_Tilt_Angle)),
             0} + 
             Main.Parameters.DesignParameters.Foot_Rest_Initial_Distance *
             {cos(pi/180*(Main.Parameters.DesignParameters.Foot_Rest_Tilt_Angle-90)),
              sin(pi/180*(Main.Parameters.DesignParameters.Foot_Rest_Tilt_Angle-90)),
             0};
     RotAnglesInDegree0 = {0, 0, Main.Parameters.DesignParameters.Foot_Rest_Tilt_Angle};
     Color = Main.DrawSettings.Colors.AnyBodyRed;
     Opacity = 0.2;
     OpacityForLocalFrame = 0;
     OpacityForLocalRefNodes = 0;
   };  
   
   CreateCylinder Barbell_Right(
   InputName = Barbell_Right, 
   InputPlacement = Main.Model.EnvironmentModel.Segs,
   InputRadius = Main.Parameters.DesignParameters.Barbell_Radius,
   InputLength = Main.Parameters.DesignParameters.Barbell_Thick,
   InputDensity  = Main.Parameters.DesignParameters.Barbell_Density) =
   {
       Pos0 = {Main.Parameters.DesignParameters.Foot_Rest_Height/2
             *cos(pi/180*(Main.Parameters.DesignParameters.Foot_Rest_Tilt_Angle)),
             Main.Parameters.DesignParameters.Foot_Rest_Height/2
             *sin(pi/180*(Main.Parameters.DesignParameters.Foot_Rest_Tilt_Angle)),
             0} + 
             Main.Parameters.DesignParameters.Foot_Rest_Initial_Distance *
             {cos(pi/180*(Main.Parameters.DesignParameters.Foot_Rest_Tilt_Angle-90)),
              sin(pi/180*(Main.Parameters.DesignParameters.Foot_Rest_Tilt_Angle-90)),
             0} +
             {0, 0, Main.Parameters.DesignParameters.Foot_Rest_Width/2 } +
             {0, 0, Main.Parameters.DesignParameters.Barbell_Thick };
       RotAnglesInDegree0 = { 0, 0, 0};
       Color = Main.DrawSettings.Colors.AnyBodyBlue;
       Opacity = 0.1;
       OpacityForLocalFrame = 0;
       OpacityForLocalRefNodes = 0; 
       ScaleFactorForLocalRefNodes = 0.1;
   };
   
   CreateCylinder Barbell_Left(
   InputName = Barbell_Left, 
   InputPlacement = Main.Model.EnvironmentModel.Segs,
   InputRadius = Main.Parameters.DesignParameters.Barbell_Radius,
   InputLength = Main.Parameters.DesignParameters.Barbell_Thick,
   InputDensity  = Main.Parameters.DesignParameters.Barbell_Density) =
   {
       Pos0 = {Main.Parameters.DesignParameters.Foot_Rest_Height/2
             *cos(pi/180*(Main.Parameters.DesignParameters.Foot_Rest_Tilt_Angle)),
             Main.Parameters.DesignParameters.Foot_Rest_Height/2
             *sin(pi/180*(Main.Parameters.DesignParameters.Foot_Rest_Tilt_Angle)),
             0} + 
             Main.Parameters.DesignParameters.Foot_Rest_Initial_Distance *
             {cos(pi/180*(Main.Parameters.DesignParameters.Foot_Rest_Tilt_Angle-90)),
              sin(pi/180*(Main.Parameters.DesignParameters.Foot_Rest_Tilt_Angle-90)),
             0} +
             {0, 0, -Main.Parameters.DesignParameters.Foot_Rest_Width/2 } +
             {0, 0, -Main.Parameters.DesignParameters.Barbell_Thick };
       RotAnglesInDegree0 = { 0, 0, 0};
       Color = Main.DrawSettings.Colors.AnyBodyBlue;
       Opacity = 1;
       OpacityForLocalFrame = 0;
       OpacityForLocalRefNodes = 0; 
       ScaleFactorForLocalRefNodes = 0.1;
   };   
   
   CreateCylinder Handle_Right(
   InputName = Handle_Right, 
   InputPlacement = Main.Model.EnvironmentModel.Segs,
   InputRadius = Main.Parameters.DesignParameters.Handle_Radius,
   InputLength = Main.Parameters.DesignParameters.Handle_Length,
   InputDensity  = Main.Parameters.DesignParameters.Handle_Density) =
   {
     Pos0 = {0, 0, Main.Parameters.DesignParameters.Back_Rest_Width/2} +
            {0, 0, Main.Parameters.DesignParameters.Handle_Dis_Offset};
            RotAnglesInDegree0 = { -90, Main.Parameters.DesignParameters.Back_Rest_Tilt_Angle-90, 0};
       Color = Main.DrawSettings.Colors.AnyBodyYellow;
       Opacity = 0.2;
       OpacityForLocalFrame = 1;
       OpacityForLocalRefNodes = 0; 
       ScaleFactorForLocalRefNodes = 0.0;
   };   
   
   CreateCylinder Handle_Left(
   InputName = Handle_Left, 
   InputPlacement = Main.Model.EnvironmentModel.Segs,
   InputRadius = Main.Parameters.DesignParameters.Handle_Radius,
   InputLength = Main.Parameters.DesignParameters.Handle_Length,
   InputDensity  = Main.Parameters.DesignParameters.Handle_Density) =
   {
     Pos0 = {0, 0, -Main.Parameters.DesignParameters.Back_Rest_Width/2} +
            {0, 0, -Main.Parameters.DesignParameters.Handle_Dis_Offset};
            RotAnglesInDegree0 = { -90, Main.Parameters.DesignParameters.Back_Rest_Tilt_Angle-90, 0};
       Color = Main.DrawSettings.Colors.AnyBodyYellow;
       Opacity = 1;
       OpacityForLocalFrame = 1;
       OpacityForLocalRefNodes = 0; 
       ScaleFactorForLocalRefNodes = 0.0;
   };   
};

Main.Model.EnvironmentModel.Segs.Back_Rest= 
{
    AnyRefNode FixToGlobal = 
    {
        sRel = {-Main.Parameters.DesignParameters.Back_Rest_Height/2,0,0};
//        AnyDrawRefFrame drw = 
//        {
//            RGB = {1,1,0};
//            ScaleXYZ = 0.5*{1,1,1};
//        };
    };
    AnyRefNode cc_base_node = 
    {
        sRel = {0, -Main.Parameters.DesignParameters.Back_Rest_Thick/2, 0};
        ARel = RotMat(180*pi/180, z);
        AnyDrawRefFrame drw = 
        {
            RGB = {1,1,1};
            ScaleXYZ = 0.05*{1,1,1};
        };        
    };
    
    AnyRefNode Pelvis_node = 
    {
        sRel = {-Main.Parameters.DesignParameters.Back_Rest_Height/2 + 0.2,
                -Main.Parameters.DesignParameters.Back_Rest_Thick/2, 0};
        ARel = RotMat(180*pi/180, z);
        AnyDrawRefFrame drw = 
        {
            RGB = {1,0,1};
            ScaleXYZ = 0.05*{1,1,1};
        };                  
    };
    AnyRefNode FillCylNode =
    {
        sRel = {-Main.Parameters.DesignParameters.Back_Rest_Height/2,
                0,
                -Main.Parameters.DesignParameters.Back_Rest_Width/2};
        AnySurfCylinder cyl_surf =
        {
          Radius = Main.Parameters.DesignParameters.Back_Rest_Thick/2;
          Length = Main.Parameters.DesignParameters.Back_Rest_Width;
          AnyDrawParamSurf drw = 
          {
              RGB = Main.DrawSettings.Colors.AnyBodyGreen;
              Opacity = 0.3;
              WireFrameOnOff = On;
          };
        };

    };
};

Main.Model.EnvironmentModel.Segs.Hip_Rest = 
{
    AnyRefNode FixToGlobal = 
    {
        sRel = {-Main.Parameters.DesignParameters.Hip_Rest_Height/2,0,0};
//        AnyDrawRefFrame drw = 
//        {
//            RGB = {1,1,0};
//            ScaleXYZ = 0.5*{1,1,1};
//        };
    };  
    AnyRefNode cc_base_node = 
    {
        sRel = {0, Main.Parameters.DesignParameters.Hip_Rest_Thick/2, 0};
        //ARel = RotMat(180*pi/180, z);
        AnyDrawRefFrame drw = 
        {
            RGB = {1,1,1};
            ScaleXYZ = 0.05*{1,1,1};
        };        
    };
    AnyRefNode Slider_node = 
    {
        sRel = {-Main.Parameters.DesignParameters.Hip_Rest_Height/2, 0, 0};
        AnyDrawRefFrame drw = 
        {
            RGB = {1,0,0};
            ScaleXYZ = 0.05*{1,1,1};
        };          
    };
};

Main.Model.EnvironmentModel.Segs.Handle_Right =
{
    AnyRefNode connect_node =
    {
      sRel = {0, 0, -Main.Parameters.DesignParameters.Handle_Length/2};
      ARel = RotMat(-90*pi/180, x)*RotMat(180*pi/180, y);
//      AnyDrawRefFrame drw = 
//      {
//          RGB = {1,0,0};
//          ScaleXYZ = 0.05*{1,1,1};
//      };       
    };
    AnyRefNode Hand_Node = 
    {
      sRel = {0, -Main.Parameters.DesignParameters.Handle_Radius, 0};
      ARel = RotMat(180*pi/180, x)*RotMat(180*pi/180, y);
      AnyDrawRefFrame drw = 
      {
          RGB = {1,0,0};
          ScaleXYZ = 0.05*{1,1,1};
      };       
    };
};

Main.Model.EnvironmentModel.Segs.Handle_Left =
{
    AnyRefNode connect_node =
    {
      sRel = {0, 0, -Main.Parameters.DesignParameters.Handle_Length/2};
      ARel = RotMat(-90*pi/180, x)*RotMat(180*pi/180, y);
//      AnyDrawRefFrame drw = 
//      {
//          RGB = {1,0,0};
//          ScaleXYZ = 0.05*{1,1,1};
//      };       
    };
    AnyRefNode Hand_Node = 
    {
      sRel = {0, Main.Parameters.DesignParameters.Handle_Radius, 0};
      //ARel = RotMat(180*pi/180, x)*RotMat(180*pi/180, y);
      AnyDrawRefFrame drw = 
      {
          RGB = {1,0,0};
          ScaleXYZ = 0.05*{1,1,1};
      };       
    };    
};

Main.Model.EnvironmentModel.Segs.Foot_Rest = 
{
    AnyRefNode Slider_node = 
    {
        sRel = {-Main.Parameters.DesignParameters.Foot_Rest_Height/2, 0, 0};
        ARel = RotMat(-90*pi/180, z);
//        AnyDrawRefFrame drw = 
//        {
//            RGB = {1,0,0};
//            ScaleXYZ = 0.05*{1,1,1};
//        };          
    };  
    AnyRefNode cc_base_node = 
    {
        sRel = {0, Main.Parameters.DesignParameters.Foot_Rest_Thick/2, 0};
        //ARel = RotMat(180*pi/180, z);
//        AnyDrawRefFrame drw = 
//        {
//            RGB = {1,1,1};
//            ScaleXYZ = 0.05*{1,1,1};
//        };        
    };    
    AnyRefNode right_toe_node = 
    {
      sRel = {Main.Parameters.DesignParameters.Foot_Rest_ToeNode_V_Offset,
              Main.Parameters.DesignParameters.Foot_Rest_Thick/2,
              Main.Parameters.DesignParameters.Foot_Rest_ToeNode_H_Offset};
      ARel = RotMat(Main.Parameters.DesignParameters.Foot_Rest_ToeNode_Rotation*pi/180, y);
      AnyDrawRefFrame drw = 
      {
          RGB = {1,0,0};
          ScaleXYZ = 0.05*{1,1,1};
      };       
    };
    AnyRefNode left_toe_node = 
    {
      sRel = {Main.Parameters.DesignParameters.Foot_Rest_ToeNode_V_Offset,
              Main.Parameters.DesignParameters.Foot_Rest_Thick/2,
              -Main.Parameters.DesignParameters.Foot_Rest_ToeNode_H_Offset};
      ARel = RotMat(-Main.Parameters.DesignParameters.Foot_Rest_ToeNode_Rotation*pi/180, y);
      AnyDrawRefFrame drw = 
      {
          RGB = {1,0,0};
          ScaleXYZ = 0.05*{1,1,1};
      };       
    }; 
    AnyRefNode right_barbell_node = 
    {
      sRel = {0, 0, Main.Parameters.DesignParameters.Foot_Rest_Width/2};
      //ARel = RotMat(Main.Parameters.DesignParameters.Foot_Rest_ToeNode_Rotation*pi/180, y);
//      AnyDrawRefFrame drw = 
//      {
//          RGB = {1,0,0};
//          ScaleXYZ = 0.05*{1,1,1};
//      };       
    };
    AnyRefNode left_barbell_node = 
    {
      sRel = {0, 0, -Main.Parameters.DesignParameters.Foot_Rest_Width/2};
      //ARel = RotMat(-Main.Parameters.DesignParameters.Foot_Rest_ToeNode_Rotation*pi/180, y);
//      AnyDrawRefFrame drw = 
//      {
//          RGB = {1,0,0};
//          ScaleXYZ = 0.05*{1,1,1};
//      };       
    };    
};

Main.Model.EnvironmentModel.Segs.Barbell_Right = 
{
  AnyRefNode Logo=
  {
    sRel={0,0,Main.Parameters.DesignParameters.Barbell_Thick/2};
    AnyDrawSTL Body = 
    {
      FileName = ANYBODY_PATH_MODELUTILS +"DrawObjects/Body-grey.stl";
      RGB = Main.DrawSettings.Colors.AnyBodyGrey;
      
      Opacity = 1;
      ScaleXYZ=Main.Parameters.DesignParameters.Barbell_Radius*0.04*{1,1,1};  
      AnyStyleDrawMaterial1 style = 
      {
        EnableCreasing = On;
        CreasingAngle = 0.524;
        SpecularRGB = 0.05*{1,1,1};
      };
    };
    
    AnyDrawSTL AnyTechnology = 
    {
      FileName = ANYBODY_PATH_MODELUTILS +"DrawObjects/AnyTechnology-red.stl";
      RGB = Main.DrawSettings.Colors.AnyBodyRed;
      
      Opacity = 1;
      ScaleXYZ=Main.Parameters.DesignParameters.Barbell_Radius*0.04*{1,1,1};  
      AnyStyleDrawMaterial1 style = 
      {
        EnableCreasing = On;
        CreasingAngle = 0.524;
        SpecularRGB = 0.05*{1,1,1};
      };
    };
    
  };
    
};

Main.Model.EnvironmentModel.Segs.Barbell_Left = 
{
  AnyRefNode Logo=
  {
    sRel={0,0,-Main.Parameters.DesignParameters.Barbell_Thick/2};
    ARel=RotMat(180*pi/180, y);
    AnyDrawSTL Body = 
    {
      FileName = ANYBODY_PATH_MODELUTILS +"DrawObjects/Body-grey.stl";
      RGB = Main.DrawSettings.Colors.AnyBodyGrey;
      
      Opacity = 1;
      ScaleXYZ=Main.Parameters.DesignParameters.Barbell_Radius*0.04*{1,1,1};    
    };
    
    AnyDrawSTL AnyTechnology = 
    {
      FileName = ANYBODY_PATH_MODELUTILS +"DrawObjects/AnyTechnology-red.stl";
      RGB = Main.DrawSettings.Colors.AnyBodyRed;
      
      Opacity = 1;
      ScaleXYZ=Main.Parameters.DesignParameters.Barbell_Radius*0.04*{1,1,1};     
    };
    
  };
    
};

Main.Model.EnvironmentModel.Joints = 
{
    AnyRevoluteJoint Back_Rest_Fix_Jnt = 
    {
        AnyRefFrame& base = Main.Model.EnvironmentModel.GlobalRef;
        AnyRefFrame& target = Main.Model.EnvironmentModel.Segs.Back_Rest.FixToGlobal;
        Axis = z;
        Ref = 0;
    };
    
    AnyRevoluteJoint Hip_Rest_Fix_Jnt = 
    {
        AnyRefFrame& base = Main.Model.EnvironmentModel.GlobalRef;
        AnyRefFrame& target = Main.Model.EnvironmentModel.Segs.Hip_Rest.FixToGlobal;
        Axis = z;
        Ref = 0;
    };
    
    AnyKinEqSimpleDriver Back_Rest_Fix_Drv = 
    {
        AnyRevoluteJoint& jnt = .Back_Rest_Fix_Jnt;
        DriverPos = pi/180*{Main.Parameters.DesignParameters.Back_Rest_Tilt_Angle};
        DriverVel = {0};
    };
    
    AnyKinEqSimpleDriver Hip_Rest_Fix_Drv = 
    {
        AnyRevoluteJoint& jnt = .Hip_Rest_Fix_Jnt;
        DriverPos = pi/180*{Main.Parameters.DesignParameters.Hip_Rest_Tilt_Angle};
        DriverVel = {0};
    };
    
    AnyRevoluteJoint Barbell_Left_Fix_Jnt =
    {
      AnyRefFrame& base = Main.Model.EnvironmentModel.Segs.Foot_Rest.left_barbell_node;
      AnyRefFrame& target = Main.Model.EnvironmentModel.Segs.Barbell_Left.Node_Top;
      Axis = z;
    };

    AnyRevoluteJoint Barbell_Right_Fix_Jnt =
    {
      AnyRefFrame& base = Main.Model.EnvironmentModel.Segs.Foot_Rest.right_barbell_node;
      AnyRefFrame& target = Main.Model.EnvironmentModel.Segs.Barbell_Right.Node_Bottom;
      Axis = z;
    };
    
    AnyKinEqSimpleDriver Barbell_Left_Fix_Drv =
    {
       AnyRevoluteJoint& jnt = .Barbell_Left_Fix_Jnt ;
       DriverPos = pi/180*{-Main.Parameters.DesignParameters.Foot_Rest_Tilt_Angle};
       DriverVel = {0};
    };

    AnyKinEqSimpleDriver Barbell_Right_Fix_Drv =
    {
       AnyRevoluteJoint& jnt = .Barbell_Right_Fix_Jnt ;
       DriverPos = pi/180*{-Main.Parameters.DesignParameters.Foot_Rest_Tilt_Angle};
       DriverVel = {0};
    };
    
    AnyPrismaticJoint Foot_Rest_Slider_Jnt = 
    {
        AnyRefFrame& base = Main.Model.EnvironmentModel.Segs.Hip_Rest.Slider_node;
        AnyRefFrame& target = Main.Model.EnvironmentModel.Segs.Foot_Rest.Slider_node;
        Axis = x;
    };
    
    AnyKinPLine Foot_Rest_Slider_Jnt_Line = 
    {
        AnyRefFrame& base = Main.Model.EnvironmentModel.Segs.Hip_Rest.Slider_node;
        AnyRefFrame& target = Main.Model.EnvironmentModel.Segs.Foot_Rest.Slider_node;   
        AnyDrawPLine drw = 
        {
            Thickness = 0.01;
            RGB = {0,0,0};
        };
    };
    
    AnyPrismaticJoint Handle_Right_Fix_Jnt =
    {
        AnyRefFrame& base = Main.Model.EnvironmentModel.Segs.Back_Rest.FixToGlobal;
        AnyRefFrame& target = Main.Model.EnvironmentModel.Segs.Handle_Right.connect_node;
        Axis = z;
        Ref = 0;       
    };
    AnyKinEqSimpleDriver Handle_Right_Fix_Drv =
    {
       AnyPrismaticJoint & jnt = .Handle_Right_Fix_Jnt  ;
       DriverPos = {Main.Parameters.DesignParameters.Back_Rest_Width/2+
                    Main.Parameters.DesignParameters.Handle_Dis_Offset};
       DriverVel = {0};
    };   
    AnyPrismaticJoint Handle_Left_Fix_Jnt =
    {
        AnyRefFrame& base = Main.Model.EnvironmentModel.Segs.Back_Rest.FixToGlobal;
        AnyRefFrame& target = Main.Model.EnvironmentModel.Segs.Handle_Left.connect_node;
        Axis = z;
        Ref = 0;       
    };
    AnyKinEqSimpleDriver Handle_Left_Fix_Drv =
    {
       AnyPrismaticJoint & jnt = .Handle_Left_Fix_Jnt  ;
       DriverPos = {-Main.Parameters.DesignParameters.Back_Rest_Width/2-
                    Main.Parameters.DesignParameters.Handle_Dis_Offset};
       DriverVel = {0};
    };    
};