Download this file

339 lines (254 with data), 19.6 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 = ...BodyModel.Right.Leg.Seg.Thigh;
  ThighR={
    AnyRefNode SupportNodeFront = {      sRel = {-0.05000, -0.1000, -0.028000};    };
    AnyRefNode SupportNodeBack  = {      sRel = {-0.05000,  0.1000, -0.028000};    };
  };
  
  AnyFolder &ThighL = ...BodyModel.Left.Leg.Seg.Thigh;
  ThighL={
    AnyRefNode SupportNodeFront = {      sRel = {-0.05000, -0.1000, 0.028000};    };
    AnyRefNode SupportNodeBack  = {      sRel = {-0.05000,  0.1000, 0.028000};    }; 
  };
  
  AnyFolder ThighSupportFrontR={
    AnyRefFrame &BaseObject =....EnvironmentModel.Seg.Seat;
    AnyRefFrame &TargetObject =....BodyModel.Right.Leg.Seg.Thigh.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.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 ThighSupportBackR={
    AnyRefFrame &BaseObject =....EnvironmentModel.Seg.Seat;
    AnyRefFrame &TargetObject =....BodyModel.Right.Leg.Seg.Thigh.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.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 ThighSupportFrontL={
    AnyRefFrame &BaseObject =....EnvironmentModel.Seg.Seat;
    AnyRefFrame &TargetObject =....BodyModel.Left.Leg.Seg.Thigh.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.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 ThighSupportBackL={
    AnyRefFrame &BaseObject =....EnvironmentModel.Seg.Seat;
    AnyRefFrame &TargetObject =....BodyModel.Left.Leg.Seg.Thigh.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.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_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"
  };
};