--- a
+++ b/Application/Examples/ArmCurl/Model/Environment.any
@@ -0,0 +1,666 @@
+
+
+
+
+
+
+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
+
+
+
+
+
+
+};
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+