[38ba34]: / Application / Examples / ArmCurl / Model / Environment.any

Download this file

667 lines (480 with data), 15.3 kB






AnyFolder EnvironmentModel = {
  
  AnyVec3 HandleRGB={0.3,0.3,0.3};
  AnyVec3 MadressRGB={0.3,0.3,0.3};
  
  /* **********************************************************
  This folder contains the definition of the Environment
  - GlobalRefFrame
  
  ********************************************************** */  
  
  AnyFixedRefFrame GlobalRef = {
    Origin ={0.0,0,0.0}; 
    
    AnyRefNode  FloorNode ={
      sRel={0,0.16,0};
      AnyVec3  Color= {0.6,0.6,0.6}; //box color
      AnyVar   Opacity=1; //box Opacity
      AnyVec3 Size={2,0.02,1}; 
      #include "<ANYBODY_PATH_MODELUTILS>/DrawObjects/Box.any" //include file which will draw a box

     AnyRefNode  Right ={
      sRel={0.7,0,0.3};
//      AnyDrawRefFrame drw={};
    };
      AnyRefNode  Left ={
      sRel={0.7,0,-0.3};
  //    AnyDrawRefFrame drw={};
    };
    
    };
    
    
    #include "drawcoorsystem.any"
    //AnyDrawRefFrame drw={};
    AnyRefNode  PelvisNode ={
      sRel={0.45,1,0};
    };
   AnyRefNode  RightWheelNode2 ={
      sRel={0,1,0.23};
    };    

    AnyRefNode  LeftWheelNode2 ={
      sRel={0,1,-0.27};
    };    
    AnyRefNode  RightMassNode ={
      sRel={-0.1,1,0.25};
    };    
    AnyRefNode  LeftMassNode ={
      sRel={-0.1,1,-0.25};
    };    
  
  };//GlobalRef
  
  
  AnyFixedRefFrame Bench ={
    Origin={0,0.8,0};  
    AnyVec3  Color= .MadressRGB; //box color
    AnyVar   Opacity=1; //box Opacity
    AnyVec3 Size={1,.05,0.25}; 
    #include "<ANYBODY_PATH_MODELUTILS>/DrawObjects/Box.any" //include file which will draw a box
    
    AnyRefNode Frame ={
      sRel={0.1,-0.35,0};
      AnyVec3  Color= 0.8*..MadressRGB; //box color
      AnyVar   Opacity=1; //box Opacity
      AnyVec3 Size={1,.5,0.25}; 
      #include "<ANYBODY_PATH_MODELUTILS>/DrawObjects/Box.any" //include file which will draw a box
    };
    
    AnyRefNode Node1 ={sRel={.Size[0]*0.5,0,0};
      //AnyDrawRefFrame drw={RGB={0,0,1};};
    };
  };
  
  AnySeg ThoraxRest ={
    Mass=10;
    Jii={0,0,0};
    r0 ={0.692836, 1.029813, 0.000000};
    Axes0 = {{-0.642788, 0.766044, 0.000000}, {-0.766044, -0.642788, 0.000000}, {0.000000, 0.000000, 1.000000}};
    
    AnyVec3  Color= .MadressRGB;
    AnyVar   Opacity=1; //box Opacity
    AnyVec3 Size={0.35,.05,0.25}; 
    #include "<ANYBODY_PATH_MODELUTILS>/DrawObjects/Box.any" //include file which will draw a box
    //AnyDrawRefFrame drw={};
    
    AnyRefNode Node1 ={
      sRel={.Size[0]*0.5,0,0};
      //AnyDrawRefFrame drw={};
    };
    
    AnyRefNode Node2 = { 
      sRel={-.Size[0]*0.5,0,0};
      //AnyDrawRefFrame drw={};
    };
  };
  
  AnyKinEqSimpleDriver drv={
    
    AnyRevoluteJoint jnt={
      AnyRefNode &ref1=..Bench.Node1;
      AnyRefNode  &ref2=..ThoraxRest.Node1;
      Axis=z;
    };
    DriverPos={-130*pi/180};
    DriverVel={0};
  };
  
  
  AnySeg ArmRest ={
    Axes0 = {{-0.173648, -0.984808, 0.000000}, {0.984808, -0.173648, 0.000000}, {0.000000, 0.000000, 1.000000}};
    Mass=10;
    Jii={0,0,0};
    r0 ={0.856123, 0.986061, 0.000000};
    //    Axes0 = {{-0.642788, 0.766044, 0.000000}, {-0.766044, -0.642788, 0.000000}, {0.000000, 0.000000, 1.000000}};
    
    AnyVec3  Color= .MadressRGB;
    AnyVar   Opacity=1; //box Opacity
    AnyVec3 Size={0.4,.05,0.5}; 
    #include "<ANYBODY_PATH_MODELUTILS>/DrawObjects/Box.any" //include file which will draw a box
    //AnyDrawRefFrame drw={};
    AnyRefNode Node1 ={sRel={.Size[0]*0.5,0,0};
      //AnyDrawRefFrame drw={};
    };
    
    AnyRefNode Node2 ={sRel={-.Size[0]*0.5,0,0};
      //AnyDrawRefFrame drw={};
    };
    
    AnyRefNode RightWheelNode1 ={sRel={0.08,-0.05,.Size[2]*0.5};
      //AnyDrawRefFrame drw={RGB={0,1,0};};
    };

    AnyRefNode LeftWheelNode1 ={sRel={0.08,-0.05,-.Size[2]*0.5};
      //AnyDrawRefFrame drw={RGB={0,1,0};};
    };
    
  };
  
  AnyKinEqSimpleDriver ArmRestDrv={
    
    AnyRevoluteJoint jnt={
      AnyRefNode  &ref1=..ThoraxRest.Node2;
      AnyRefNode  &ref2=..ArmRest.Node1;
      Axis=z;
    };
    DriverPos={-130*pi/180};
    DriverVel={0};
  };
  
  
  
  AnyFolder Right ={
    
    AnySeg Wheel1 ={
      Mass=0;
      Jii={0,0,0};
      r0 ={0.873488, 0.887580, 0.250000};
      Axes0 = {{-0.984808, 0.173648, 0.000000}, {-0.173648, -0.984808, 0.000000}, {0.000000, 0.000000, 1.000000}};
      //AnyDrawRefFrame drw={};
      AnyRefNode CylNode1={
        sRel={-0.0,-0.0,-0.0};
        AnySurfCylinder  Cyl1={
          Radius=0.1;
          Length=0.04;
          AnyDrawParamSurf drw={
            Opacity=1;
            RGB= {0.4,0.4,0.4}; 
          };
        };
        
        AnyRefNode WireNode={
          sRel={0.105,0.0,0.02};
          //AnyDrawRefFrame drw={};
          
        };
        
      };
      /*AnyRefNode CylNode2={
      sRel={0,0,0.03};
      AnySurfCylinder  Cyl2={
      Radius=0.1;
      Length=0.02;
      AnyDrawParamSurf drw={};
      };
      };*/
      
      AnyRefNode Node0={
        //AnyDrawRefFrame drw={};
        sRel={0,0.0,0};
      };
      
      AnyRefNode Node1={
        //AnyDrawRefFrame drw={};
        sRel={0,0.34,0};
      };
      
      AnyRefNode Node2={
        //AnyDrawRefFrame drw={};
        sRel={0,0.34,-0.2};
        
      };
      
      //Draw a visual line between the points
      AnyFolder Line ={
        AnyRefFrame &node1=.Node0;
        AnyRefFrame &node2=.Node1;
        AnyRefFrame &node3=.Node2;
        
        AnyDrawPLine line ={
          Thickness=0.02;
          RGB=....HandleRGB;
        }; 
      };
      
    };
    
    
    AnyKinEqSimpleDriver Drv={
      
      AnyRevoluteJoint Wheel1Jnt={
        AnyRefNode &ref1=...ArmRest.RightWheelNode1;
        AnySeg &ref2 =..Wheel1;
      };
      DriverPos={1.4};
      DriverVel={0.7*pi}/Main.Study.tEnd;
      Reaction.Type={0};
    };
    
    
    AnySeg Handle ={
      Mass=0;
      Jii={0,0,0};
      
      r0 ={0.925583, 0.592138, 0.050000};
      Axes0 = {{0.173648, 0.984808, 0.000000}, {-0.984808, 0.173648, 0.000000}, {0.000000, 0.000000, 1.000000}};
      
      AnyRefNode Node0={
        //AnyDrawRefFrame drw={};
        sRel={0,0.0,0};
        
      };
      
      
      AnyRefNode Node1={
        //AnyDrawRefFrame drw={};
        sRel={0,0.14,0.0};
        
      };
      
      AnyRefNode Node2={
        //AnyDrawRefFrame drw={};
        sRel={0,0.14,0.16};
        
      };
      
      AnyRefNode Node3={
        //AnyDrawRefFrame drw={};
        sRel={0,0.14,0.20};
        
      };
      //Draw a visual line between the points
      AnyFolder Line ={
        AnyRefFrame &node1=.Node0;
        AnyRefFrame &node2=.Node1;
        AnyRefFrame &node3=.Node2;
        AnyRefFrame &node4=.Node3;
        
        AnyDrawPLine line ={
          Thickness=0.02;
          RGB=....HandleRGB;
        }; 
      };
      
    };
    
    
    //AnyKinEqSimpleDriver HandleDrv={
    
    AnyRevoluteJoint jnt={
      AnyRefNode  &ref1=.Wheel1.Node2;
      AnyRefNode  &ref2=.Handle.Node0;
      Axis=z;
    };
    //  DriverPos={90*pi/180};
    //  DriverVel={0};
    //};
    
    
    
    AnySeg Wheel2 ={
      Mass=0;
      Jii={0,0,0};
      
      AnyRefNode CylNode1={
        sRel={0,0,0.0};
        AnySurfCylinder  Cyl1={
          
          Radius=0.1;
          Length=0.04;
          AnyDrawParamSurf drw={
            Opacity=1;
            RGB= {0.4,0.4,0.4}; 
          };
          
        };
      };
      
    };    
    
    
    AnyKinEqSimpleDriver Wheel2Drv={
      AnyRevoluteJoint JntWheel2={
        AnySeg  &ref1=..Wheel2;
        AnyRefNode  &ref2=...GlobalRef.RightWheelNode2;
        Axis=z;
      };
      DriverPos={0};
      DriverVel={0};
    };
    
    
    
    AnySeg Mass={
      
      Mass=5;
      Jii={0,0,0};
      AnyRefNode CylNode ={
        sRel={0,0,0.0};
        
        AnyVec3  Color= {0.4,0.4,0.4}; //box color
        AnyVar   Opacity=1; //box Opacity
        AnyVec3 Size={0.2,0.2,0.2}; 
        #include "<ANYBODY_PATH_MODELUTILS>/DrawObjects/Box.any" //include file which will draw a box
        
      };
      
      AnyRefNode Logo={
        sRel={0,0.0,0.1};
        
        AnyDrawSTL Body = {
          FileName = "Body-grey.stl";
          RGB = Main.DrawSettings.Colors.AnyBodyGrey;
          
          Opacity = 1;
          ScaleXYZ={0.005,0.005,0.005};
        };
        
        AnyDrawSTL AnyTechnology = {
          FileName = "AnyTechnology-red.stl";
          RGB = Main.DrawSettings.Colors.AnyBodyRed;
          
          Opacity = 1;
          ScaleXYZ={0.005,0.005,0.005};
        };
        
      };
    };
    
    
    
    AnyPrismaticJoint MassJnt = {
      Axis = y;
      Ref = 0.000000;
      AnyRefFrame &ref1=..GlobalRef.RightMassNode;
      AnyRefFrame &ref2=.Mass;
    };
  AnyKinEqSimpleDriver MassDrv={
    AnyPrismaticJoint &ref1=.MassJnt;
    DriverPos={-0.6};
    DriverVel={0.21}/Main.Study.tEnd;
    Reaction.Type={0};
  };
  
  AnyKinSPLine Wire={
      AnyRefNode &ref1=.Wheel1.CylNode1.WireNode;
      AnySeg &ref2=.Mass;
      
      AnySurfCylinder &ref3=.Wheel1.CylNode1.Cyl1;
      AnySurfCylinder &ref5=.Wheel2.CylNode1.Cyl1;
      AnyDrawPLine drw={Thickness=0.005; RGB={0.1,0.1,0.1};};
      InitWrapPosVectors ={{0,0.5,0},{-1,2,0}};
      StringMesh=70;
      //RelTol=1e-4;
    };
    
    AnyReacForce WireReaction={
      AnyKinSPLine &ref=.Wire;
      
      
    };
    
    
  }; //right
  
  
  
  AnyFolder Left ={
    
    AnySeg Wheel1 ={
      Mass=0;
      Jii={0,0,0};
      r0 ={0.873488, 0.887580, 0.250000};
      Axes0 = {{-0.984808, 0.173648, 0.000000}, {-0.173648, -0.984808, 0.000000}, {0.000000, 0.000000, 1.000000}};
      //AnyDrawRefFrame drw={};
      AnyRefNode CylNode1={
        sRel={-0.0,-0.0,-0.04};
        AnySurfCylinder  Cyl1={
          Radius=0.1;
          Length=0.04;
          AnyDrawParamSurf drw={
            Opacity=1;
            RGB= {0.4,0.4,0.4}; 
          };
        };
        AnyRefNode WireNode={
          sRel={0.105,0.0,0.02};
        };
          };

      AnyRefNode Node0={
        //AnyDrawRefFrame drw={};
        sRel={0,0.0,0};
      };
      
      AnyRefNode Node1={
        //AnyDrawRefFrame drw={};
        sRel={0,0.34,0};
      };
      
      AnyRefNode Node2={
        //AnyDrawRefFrame drw={};
        sRel={0,0.34,0.2};
        
      };
      
      //Draw a visual line between the points
      AnyFolder Line ={
        AnyRefFrame &node1=.Node0;
        AnyRefFrame &node2=.Node1;
        AnyRefFrame &node3=.Node2;
        
        AnyDrawPLine line ={
          Thickness=0.02;
          RGB=....HandleRGB;
        }; 
      };
      
    };
    
    
    AnyKinEqSimpleDriver Drv={
      
      AnyRevoluteJoint Wheel1Jnt={
        AnyRefNode &ref1=...ArmRest.LeftWheelNode1;
        AnySeg &ref2 =..Wheel1;
      };
      DriverPos={1.4};
      DriverVel={0.7*pi}/Main.Study.tEnd;
      Reaction.Type={0};
    };
    
    
    AnySeg Handle ={
      Mass=0;
      Jii={0,0,0};
      
      r0 ={0.925583, 0.592138, 0.050000};
      Axes0 = {{0.173648, 0.984808, 0.000000}, {-0.984808, 0.173648, 0.000000}, {0.000000, 0.000000, 1.000000}};
      
      AnyRefNode Node0={
        //AnyDrawRefFrame drw={};
        sRel={0,0.0,0};
        
      };
      
      
      AnyRefNode Node1={
        //AnyDrawRefFrame drw={};
        sRel={0,0.14,0.0};
        
      };
      
      AnyRefNode Node2={
        //AnyDrawRefFrame drw={};
        sRel={0,0.14,-0.16};
        
      };
      
      AnyRefNode Node3={
        //AnyDrawRefFrame drw={};
        sRel={0,0.14,-0.20};
        
      };
      //Draw a visual line between the points
      AnyFolder Line ={
        AnyRefFrame &node1=.Node0;
        AnyRefFrame &node2=.Node1;
        AnyRefFrame &node3=.Node2;
        AnyRefFrame &node4=.Node3;
        
        AnyDrawPLine line ={
          Thickness=0.02;
          RGB=....HandleRGB;
        }; 
      };
      
    };
    
    
    //AnyKinEqSimpleDriver HandleDrv={
    
    AnyRevoluteJoint jnt={
      AnyRefNode  &ref1=.Wheel1.Node2;
      AnyRefNode  &ref2=.Handle.Node0;
      Axis=z;
    };
    //  DriverPos={90*pi/180};
    //  DriverVel={0};
    //};
    
    
    
    AnySeg Wheel2 ={
      Mass=0;
      Jii={0,0,0};
      
      AnyRefNode CylNode1={
        sRel={0,0,0.0};
        AnySurfCylinder  Cyl1={
          
          Radius=0.1;
          Length=0.04;
          AnyDrawParamSurf drw={
            Opacity=1;
            RGB= {0.4,0.4,0.4}; 
          };
          
        };
      };
      
    };    
    
    
    AnyKinEqSimpleDriver Wheel2Drv={
      AnyRevoluteJoint JntWheel2={
        AnySeg &ref1=..Wheel2;
        AnyRefNode  &ref2=...GlobalRef.LeftWheelNode2;
        Axis=z;
      };
      DriverPos={0};
      DriverVel={0};
    };
    
    
    
    AnySeg Mass={
      
      Mass=5;
      Jii={0,0,0};
      AnyRefNode CylNode ={
        sRel={0,0,0.0};
        
        AnyVec3  Color= {0.4,0.4,0.4}; //box color
        AnyVar   Opacity=1; //box Opacity
        AnyVec3 Size={0.2,0.2,0.2}; 
        #include "<ANYBODY_PATH_MODELUTILS>/DrawObjects/Box.any" //include file which will draw a box
        
      };
      
      AnyRefNode Logo={
        sRel={0,0.0,0.1};
        
        AnyDrawSTL Body = {
          FileName = "Body-grey.stl";
          RGB = Main.DrawSettings.Colors.AnyBodyGrey;
          
          Opacity = 1;
          ScaleXYZ={0.005,0.005,0.005};
        };
        
        AnyDrawSTL AnyTechnology = {
          FileName = "AnyTechnology-red.stl";
          RGB = Main.DrawSettings.Colors.AnyBodyRed;
          
          Opacity = 1;
          ScaleXYZ={0.005,0.005,0.005};
        };
        
      };
    };
    
    
    
    AnyPrismaticJoint MassJnt = {
      Axis = y;
      Ref = 0.000000;
      AnyRefFrame &ref1=..GlobalRef.LeftMassNode;
      AnyRefFrame &ref2=.Mass;
    };
    /*
    AnyKinEqSimpleDriver MassDrv={
    AnyPrismaticJoint &ref1=.MassJnt;
    DriverPos={-0.6};
    DriverVel={0.0}/Main.Study.tEnd;
    Reaction.Type={0};
    };
    */
    AnyKinEqSimpleDriver MassDrv={
    AnyPrismaticJoint &ref1=.MassJnt;
    DriverPos={-0.6};
    DriverVel={0.21}/Main.Study.tEnd;
    Reaction.Type={0};
  };
  AnyKinSPLine Wire={
      AnyRefNode &ref1=.Wheel1.CylNode1.WireNode;
      AnySeg &ref2=.Mass;
      
      AnySurfCylinder &ref3=.Wheel1.CylNode1.Cyl1;
      AnySurfCylinder &ref5=.Wheel2.CylNode1.Cyl1;
      AnyDrawPLine drw={Thickness=0.005; RGB={0.1,0.1,0.1};};
      InitWrapPosVectors ={{0,0.5,0},{-1,2,0}};
      StringMesh=70;
      //RelTol=1e-4;
    };
    
    AnyReacForce WireReaction={
      AnyKinSPLine &ref=.Wire;
    };
    
  };//left






};