[770c98]: / Application / Examples / SeatedHuman / Model / SeatSupport.any

Download this file

352 lines (266 with data), 20.3 kB

/// Support conditions between the seat and the human body
AnyFolder SeatSupport = {
  
  AnyVar   Strength=....SupportSettings.SeatSupportStrength;
  AnyVar   StaticFrictionCoefficient=....SupportSettings.StaticFrictionSeat;
  
  AnyFolder &Pelvis =...BodyModel.Trunk.SegmentsLumbar.PelvisSeg;
  Pelvis = {
    AnyRefNode Seat_contact1R={
      sRel=.Seat_contactR.sRel+{0.085,0.01,0};
      //AnyDrawRefFrame test={ScaleXYZ={.1,.1,.1};};
    }; 
    
    AnyRefNode Seat_contact1L={
      sRel=.Seat_contactL.sRel+{0.085,0.01,0};
      //AnyDrawRefFrame test={ScaleXYZ={.1,.1,.1};};
    }; 
    
    AnyRefNode Seat_contact2R={
      sRel=.Seat_contactR.sRel+{0.065,0.005,0};
      //AnyDrawRefFrame test={ScaleXYZ={.1,.1,.1};};
    }; 
    
    AnyRefNode Seat_contact2L={
      sRel=.Seat_contactL.sRel+{0.065,0.005,0};
      //AnyDrawRefFrame test={ScaleXYZ={.1,.1,.1};};
    }; 
    
    AnyRefNode Seat_contact3R={
      sRel=.Seat_contactR.sRel+{0.025,0,0};
      //AnyDrawRefFrame test={ScaleXYZ={.1,.1,.1};};
    }; 
    
    AnyRefNode Seat_contact3L={
      sRel=.Seat_contactL.sRel+{0.025,0,0};
      //AnyDrawRefFrame test={ScaleXYZ={.1,.1,.1};};
    }; 
    
    AnyRefNode Seat_contact4R={
      sRel=.Seat_contactR.sRel+{-0.015,0.01,0};
      //AnyDrawRefFrame test={ScaleXYZ={.1,.1,.1};};
    }; 
    
    AnyRefNode Seat_contact4L={
      sRel=.Seat_contactL.sRel+{-0.015,0.01,0};
      //AnyDrawRefFrame test={ScaleXYZ={.1,.1,.1};};
    }; 
  };   
  
  AnyFolder &ThighR  =....HumanModel.BodyModel.Right.Leg.Seg.Thigh;
  ThighR.AnatomicalFrame={
      AnyRefNode SupportNodeFront = { 
        sRel = {-0.0000, -0.35000, 0.01000};  
        ARel = {{0.8829644, -0.1335883, -0.4500312}, {0.1317235, 0.9906462, -0.03562311}, {0.4505805, -0.02782576, 0.892302}}';
      };
      
      AnyRefNode SupportNodeBack  = {   
        sRel = {-0.05000,  -0.0500, 0.028000};   
        ARel = {{0.8829644, -0.1335883, -0.4500312}, {0.1317235, 0.9906462, -0.03562311}, {0.4505805, -0.02782576, 0.892302}}';
      };
  };
  
  AnyFolder &ThighL = ....HumanModel.BodyModel.Left.Leg.Seg.Thigh;
  ThighL.AnatomicalFrame = {
      AnyRefNode SupportNodeFront = {  
        ARel = {{0.8829644, -0.1335883, 0.4500312}, {0.1317235, 0.9906462, 0.03562311}, {-0.4505805, 0.02782576, 0.892302}}';      
        sRel = {-0.0000, -0.35000, -0.01000};    
      };
      AnyRefNode SupportNodeBack  = { 
        ARel = {{0.8829644, -0.1335883, 0.4500312}, {0.1317235, 0.9906462, 0.03562311}, {-0.4505805, 0.02782576, 0.892302}}';                
        sRel = {-0.05000,  -0.0500, -0.028000};    
      }; 
  };

  AnyFolder ThighSupportFrontR={
    AnyRefFrame &BaseObject =....EnvironmentModel.Seg.Seat;
    AnyRefFrame &TargetObject =....BodyModel.Right.Leg.Seg.Thigh.AnatomicalFrame.SupportNodeFront;
    
    AnyRefFrame &StrengthObject=TargetObject; //Node used for strength measurement, occasionally this is different from the target object
    
    AnyFolder &DrawRef=Main.DrawSettings; //reference to the folder which contains drawsettings
    //low limit for the strength measure function, if the distance measured along Direction[0] is below this val. the strength will be zero (negative)
    AnyVar UserDefinedLimitLow=-0.10; 
    //high limit for the strength measure function, if the distance measured along Direction[0] is above this val. the strength will be zero
    AnyVar UserDefinedLimitHigh=0.10; 
    
    //high limit for the strength measure function, if the radius measured along the plane with Direction[0] as normal is above this val. the strength will be zero
    AnyVar UserDefinedRadiusLimit=0.7; 
    
    AnyVar Strength =.Strength;  //strength of muscles
    AnyVar StaticFrictionCoefficient=.StaticFrictionCoefficient; //Friction coefficient
    AnyVar ScaleFactor =1; //scale factor for draw vectors it can be set differently than by the drawsettings
    
    AnyIntArray Direction={0,1,2}; //first element gives normal direction
    #include  "<ANYBODY_PATH_MODELUTILS>\FrictionContactMuscles\ContactSurfaceLinPush.any"
  };
  
  AnyFolder ThighSupportBackR={
    AnyRefFrame &BaseObject =....EnvironmentModel.Seg.Seat;
    AnyRefFrame &TargetObject =....BodyModel.Right.Leg.Seg.Thigh.AnatomicalFrame.SupportNodeBack;
    
    AnyRefFrame &StrengthObject=TargetObject; //Node used for strength measurement, occasionally this is different from the target object
    
    AnyFolder &DrawRef=Main.DrawSettings; //reference to the folder which contains drawsettings
    //low limit for the strength measure function, if the distance measured along Direction[0] is below this val. the strength will be zero (negative)
    AnyVar UserDefinedLimitLow=-0.10; 
    //high limit for the strength measure function, if the distance measured along Direction[0] is above this val. the strength will be zero
    AnyVar UserDefinedLimitHigh=0.10; 
    
    //high limit for the strength measure function, if the radius measured along the plane with Direction[0] as normal is above this val. the strength will be zero
    AnyVar UserDefinedRadiusLimit=0.7; 
    
    AnyVar Strength =.Strength;  //strength of muscles
    AnyVar StaticFrictionCoefficient=.StaticFrictionCoefficient; //Friction coefficient
    AnyVar ScaleFactor =1; //scale factor for draw vectors it can be set differently than by the drawsettings
    
    AnyIntArray Direction={0,1,2}; //first element gives normal direction
    #include  "<ANYBODY_PATH_MODELUTILS>\FrictionContactMuscles\ContactSurfaceLinPush.any"
  };  
  
  AnyFolder ThighSupportFrontL={
    AnyRefFrame &BaseObject =....EnvironmentModel.Seg.Seat;
    AnyRefFrame &TargetObject =....BodyModel.Left.Leg.Seg.Thigh.AnatomicalFrame.SupportNodeFront;
    
    AnyRefFrame &StrengthObject=TargetObject; //Node used for strength measurement, occasionally this is different from the target object
    
    AnyFolder &DrawRef=Main.DrawSettings; //reference to the folder which contains drawsettings
    //low limit for the strength measure function, if the distance measured along Direction[0] is below this val. the strength will be zero (negative)
    AnyVar UserDefinedLimitLow=-0.10; 
    //high limit for the strength measure function, if the distance measured along Direction[0] is above this val. the strength will be zero
    AnyVar UserDefinedLimitHigh=0.10; 
    
    //high limit for the strength measure function, if the radius measured along the plane with Direction[0] as normal is above this val. the strength will be zero
    AnyVar UserDefinedRadiusLimit=0.7; 
    
    AnyVar Strength =.Strength;  //strength of muscles
    AnyVar StaticFrictionCoefficient=.StaticFrictionCoefficient; //Friction coefficient
    AnyVar ScaleFactor =1; //scale factor for draw vectors it can be set differently than by the drawsettings
    
    AnyIntArray Direction={0,1,2}; //first element gives normal direction
    #include  "<ANYBODY_PATH_MODELUTILS>\FrictionContactMuscles\ContactSurfaceLinPush.any"
  };
  
  AnyFolder ThighSupportBackL={
    AnyRefFrame &BaseObject =....EnvironmentModel.Seg.Seat;
    AnyRefFrame &TargetObject =....BodyModel.Left.Leg.Seg.Thigh.AnatomicalFrame.SupportNodeBack;
    
    AnyRefFrame &StrengthObject=TargetObject; //Node used for strength measurement, occasionally this is different from the target object
    
    AnyFolder &DrawRef=Main.DrawSettings; //reference to the folder which contains drawsettings
    //low limit for the strength measure function, if the distance measured along Direction[0] is below this val. the strength will be zero (negative)
    AnyVar UserDefinedLimitLow=-0.10; 
    //high limit for the strength measure function, if the distance measured along Direction[0] is above this val. the strength will be zero
    AnyVar UserDefinedLimitHigh=0.10; 
    
    //high limit for the strength measure function, if the radius measured along the plane with Direction[0] as normal is above this val. the strength will be zero
    AnyVar UserDefinedRadiusLimit=0.7; 
    
    AnyVar Strength =.Strength;  //strength of muscles
    AnyVar StaticFrictionCoefficient=.StaticFrictionCoefficient; //Friction coefficient
    AnyVar ScaleFactor =1; //scale factor for draw vectors it can be set differently than by the drawsettings
    
    AnyIntArray Direction={0,1,2}; //first element gives normal direction
    #include  "<ANYBODY_PATH_MODELUTILS>\FrictionContactMuscles\ContactSurfaceLinPush.any"
  };
  
  AnyFolder Seat_contact1R={
    AnyRefFrame &BaseObject =....EnvironmentModel.Seg.Seat;
    AnyRefFrame &TargetObject =....BodyModel.Trunk.SegmentsLumbar.PelvisSeg.Seat_contact1R;  
    
    AnyRefFrame &StrengthObject=TargetObject; //Node used for strength measurement, occasionally this is different from the target object
    
    AnyFolder &DrawRef=Main.DrawSettings; //reference to the folder which contains drawsettings
    //low limit for the strength measure function, if the distance measured along Direction[0] is below this val. the strength will be zero (negative)
    AnyVar UserDefinedLimitLow=-0.05; 
    //high limit for the strength measure function, if the distance measured along Direction[0] is above this val. the strength will be zero
    AnyVar UserDefinedLimitHigh=0.05; 
    
    //high limit for the strength measure function, if the radius measured along the plane with Direction[0] as normal is above this val. the strength will be zero
    AnyVar UserDefinedRadiusLimit=0.7; 
    
    AnyVar Strength =.Strength;  //strength of muscles
    AnyVar StaticFrictionCoefficient=.StaticFrictionCoefficient; //Friction coefficient
    AnyVar ScaleFactor =1; //scale factor for draw vectors it can be set differently than by the drawsettings
    
    AnyIntArray Direction={0,1,2}; //first element gives normal direction
    #include  "<ANYBODY_PATH_MODELUTILS>\FrictionContactMuscles\ContactSurfaceLinPush.any"
  };
  
  AnyFolder Seat_contact1L={
    AnyRefFrame &BaseObject =....EnvironmentModel.Seg.Seat;
    AnyRefFrame &TargetObject =....BodyModel.Trunk.SegmentsLumbar.PelvisSeg.Seat_contact1L;
    
    AnyRefFrame &StrengthObject=TargetObject; //Node used for strength measurement, occasionally this is different from the target object
    
    AnyFolder &DrawRef=Main.DrawSettings; //reference to the folder which contains drawsettings
    //low limit for the strength measure function, if the distance measured along Direction[0] is below this val. the strength will be zero (negative)
    AnyVar UserDefinedLimitLow=-0.05; 
    //high limit for the strength measure function, if the distance measured along Direction[0] is above this val. the strength will be zero
    AnyVar UserDefinedLimitHigh=0.05; 
    
    //high limit for the strength measure function, if the radius measured along the plane with Direction[0] as normal is above this val. the strength will be zero
    AnyVar UserDefinedRadiusLimit=0.7; 
    
    AnyVar Strength =.Strength;  //strength of muscles
    AnyVar StaticFrictionCoefficient=.StaticFrictionCoefficient; //Friction coefficient
    AnyVar ScaleFactor =1; //scale factor for draw vectors it can be set differently than by the drawsettings
    
    AnyIntArray Direction={0,1,2}; //first element gives normal direction
    #include  "<ANYBODY_PATH_MODELUTILS>\FrictionContactMuscles\ContactSurfaceLinPush.any"
  };
  
  AnyFolder Seat_contact2R={
    AnyRefFrame &BaseObject =....EnvironmentModel.Seg.Seat;
    AnyRefFrame &TargetObject =....BodyModel.Trunk.SegmentsLumbar.PelvisSeg.Seat_contact2R;  
    
    AnyRefFrame &StrengthObject=TargetObject; //Node used for strength measurement, occasionally this is different from the target object
    
    AnyFolder &DrawRef=Main.DrawSettings; //reference to the folder which contains drawsettings
    //low limit for the strength measure function, if the distance measured along Direction[0] is below this val. the strength will be zero (negative)
    AnyVar UserDefinedLimitLow=-0.05; 
    //high limit for the strength measure function, if the distance measured along Direction[0] is above this val. the strength will be zero
    AnyVar UserDefinedLimitHigh=0.05; 
    
    //high limit for the strength measure function, if the radius measured along the plane with Direction[0] as normal is above this val. the strength will be zero
    AnyVar UserDefinedRadiusLimit=0.7; 
    
    AnyVar Strength =.Strength;  //strength of muscles
    AnyVar StaticFrictionCoefficient=.StaticFrictionCoefficient; //Friction coefficient
    AnyVar ScaleFactor =1; //scale factor for draw vectors it can be set differently than by the drawsettings
    
    AnyIntArray Direction={0,1,2}; //first element gives normal direction
    #include  "<ANYBODY_PATH_MODELUTILS>\FrictionContactMuscles\ContactSurfaceLinPush.any"
  };
  
  AnyFolder Seat_contact2L={
    AnyRefFrame &BaseObject =....EnvironmentModel.Seg.Seat;
    AnyRefFrame &TargetObject =....BodyModel.Trunk.SegmentsLumbar.PelvisSeg.Seat_contact2L;
    
    AnyRefFrame &StrengthObject=TargetObject; //Node used for strength measurement, occasionally this is different from the target object
    
    AnyFolder &DrawRef=Main.DrawSettings; //reference to the folder which contains drawsettings
    //low limit for the strength measure function, if the distance measured along Direction[0] is below this val. the strength will be zero (negative)
    AnyVar UserDefinedLimitLow=-0.05; 
    //high limit for the strength measure function, if the distance measured along Direction[0] is above this val. the strength will be zero
    AnyVar UserDefinedLimitHigh=0.05; 
    
    //high limit for the strength measure function, if the radius measured along the plane with Direction[0] as normal is above this val. the strength will be zero
    AnyVar UserDefinedRadiusLimit=0.7; 
    
    AnyVar Strength =.Strength;  //strength of muscles
    AnyVar StaticFrictionCoefficient=.StaticFrictionCoefficient; //Friction coefficient
    AnyVar ScaleFactor =1; //scale factor for draw vectors it can be set differently than by the drawsettings
    
    AnyIntArray Direction={0,1,2}; //first element gives normal direction
    #include  "<ANYBODY_PATH_MODELUTILS>\FrictionContactMuscles\ContactSurfaceLinPush.any"
  };
  
  AnyFolder Seat_contact3R={
    AnyRefFrame &BaseObject =....EnvironmentModel.Seg.Seat;
    AnyRefFrame &TargetObject =....BodyModel.Trunk.SegmentsLumbar.PelvisSeg.Seat_contact3R;  
    
    AnyRefFrame &StrengthObject=TargetObject; //Node used for strength measurement, occasionally this is different from the target object
    
    AnyFolder &DrawRef=Main.DrawSettings; //reference to the folder which contains drawsettings
    //low limit for the strength measure function, if the distance measured along Direction[0] is below this val. the strength will be zero (negative)
    AnyVar UserDefinedLimitLow=-0.05; 
    //high limit for the strength measure function, if the distance measured along Direction[0] is above this val. the strength will be zero
    AnyVar UserDefinedLimitHigh=0.05; 
    
    //high limit for the strength measure function, if the radius measured along the plane with Direction[0] as normal is above this val. the strength will be zero
    AnyVar UserDefinedRadiusLimit=0.7; 
    
    AnyVar Strength =.Strength;  //strength of muscles
    AnyVar StaticFrictionCoefficient=.StaticFrictionCoefficient; //Friction coefficient
    AnyVar ScaleFactor =1; //scale factor for draw vectors it can be set differently than by the drawsettings
    
    AnyIntArray Direction={0,1,2}; //first element gives normal direction
    #include  "<ANYBODY_PATH_MODELUTILS>\FrictionContactMuscles\ContactSurfaceLinPush.any"
  };
  
  AnyFolder Seat_contact3L={
    AnyRefFrame &BaseObject =....EnvironmentModel.Seg.Seat;
    AnyRefFrame &TargetObject =....BodyModel.Trunk.SegmentsLumbar.PelvisSeg.Seat_contact3L;
    
    AnyRefFrame &StrengthObject=TargetObject; //Node used for strength measurement, occasionally this is different from the target object
    
    AnyFolder &DrawRef=Main.DrawSettings; //reference to the folder which contains drawsettings
    //low limit for the strength measure function, if the distance measured along Direction[0] is below this val. the strength will be zero (negative)
    AnyVar UserDefinedLimitLow=-0.05; 
    //high limit for the strength measure function, if the distance measured along Direction[0] is above this val. the strength will be zero
    AnyVar UserDefinedLimitHigh=0.05; 
    
    //high limit for the strength measure function, if the radius measured along the plane with Direction[0] as normal is above this val. the strength will be zero
    AnyVar UserDefinedRadiusLimit=0.7; 
    
    AnyVar Strength =.Strength;  //strength of muscles
    AnyVar StaticFrictionCoefficient=.StaticFrictionCoefficient; //Friction coefficient
    AnyVar ScaleFactor =1; //scale factor for draw vectors it can be set differently than by the drawsettings
    
    AnyIntArray Direction={0,1,2}; //first element gives normal direction
    #include  "<ANYBODY_PATH_MODELUTILS>\FrictionContactMuscles\ContactSurfaceLinPush.any"
  }; 
  
  AnyFolder Seat_contact4R={
    AnyRefFrame &BaseObject =....EnvironmentModel.Seg.Seat;
    AnyRefFrame &TargetObject =....BodyModel.Trunk.SegmentsLumbar.PelvisSeg.Seat_contact4R;  
    
    AnyRefFrame &StrengthObject=TargetObject; //Node used for strength measurement, occasionally this is different from the target object
    
    AnyFolder &DrawRef=Main.DrawSettings; //reference to the folder which contains drawsettings
    //low limit for the strength measure function, if the distance measured along Direction[0] is below this val. the strength will be zero (negative)
    AnyVar UserDefinedLimitLow=-0.05; 
    //high limit for the strength measure function, if the distance measured along Direction[0] is above this val. the strength will be zero
    AnyVar UserDefinedLimitHigh=0.05; 
    
    //high limit for the strength measure function, if the radius measured along the plane with Direction[0] as normal is above this val. the strength will be zero
    AnyVar UserDefinedRadiusLimit=0.7; 
    
    AnyVar Strength =.Strength;  //strength of muscles
    AnyVar StaticFrictionCoefficient=.StaticFrictionCoefficient; //Friction coefficient
    AnyVar ScaleFactor =1; //scale factor for draw vectors it can be set differently than by the drawsettings
    
    AnyIntArray Direction={0,1,2}; //first element gives normal direction
    #include  "<ANYBODY_PATH_MODELUTILS>\FrictionContactMuscles\ContactSurfaceLinPush.any"
  };
  
  AnyFolder Seat_contact4L = {
    AnyRefFrame &BaseObject =....EnvironmentModel.Seg.Seat;
    AnyRefFrame &TargetObject =....BodyModel.Trunk.SegmentsLumbar.PelvisSeg.Seat_contact4L;
    
    AnyRefFrame &StrengthObject=TargetObject; //Node used for strength measurement, occasionally this is different from the target object
    
    AnyFolder &DrawRef=Main.DrawSettings; //reference to the folder which contains drawsettings
    //low limit for the strength measure function, if the distance measured along Direction[0] is below this val. the strength will be zero (negative)
    AnyVar UserDefinedLimitLow=-0.05; 
    //high limit for the strength measure function, if the distance measured along Direction[0] is above this val. the strength will be zero
    AnyVar UserDefinedLimitHigh=0.05; 
    
    //high limit for the strength measure function, if the radius measured along the plane with Direction[0] as normal is above this val. the strength will be zero
    AnyVar UserDefinedRadiusLimit=0.7; 
    
    AnyVar Strength =.Strength;  //strength of muscles
    AnyVar StaticFrictionCoefficient=.StaticFrictionCoefficient; //Friction coefficient
    AnyVar ScaleFactor =1; //scale factor for draw vectors it can be set differently than by the drawsettings
    
    AnyIntArray Direction={0,1,2}; //first element gives normal direction
    #include  "<ANYBODY_PATH_MODELUTILS>\FrictionContactMuscles\ContactSurfaceLinPush.any"
  };
};