[38ba34]: / Tools / ModelUtilities / FrictionContactMuscles / ContactLinPull.any

Download this file

48 lines (37 with data), 1.3 kB

AnyFolder Pull ={
/*  AnyKinMeasureOrg Dist={
    AnyKinLinear  Lin={
      AnyRefNode &Box =...BaseObject;
      AnyRefFrame &Hand = ...TargetObject;
    };
    MeasureOrganizer ={..AxisNormalToSurfaceOfBaseObject};
    
  };*/
  
       

 
  AnyKinLinear Lin={
    AnyRefNode &Box =..BaseObject;
    AnyRefFrame &Hand = ..TargetObject;
    Ref=0;
    //AnyDrawPLine drw={Thickness=.005; RGB={0,0,1};};
  };
  
  AnyRecruitedActuator ContactMuscle={
    AnyKinMeasureOrg LinX={
      AnyKinLinear &ref=..Lin;
      MeasureOrganizer={...Direction};
    };
    Strength = ..UserDefinedStrengthFunction;
    Type = NonPositive;
    SET_DEFAULT_ACTUATOR_VOLUME;
  };
  
  AnyDrawVector DrawContact =     {
    AnyRefFrame &ref=..TargetObject;

    AnyVar Strength=   iffunc(.ContactMuscle.Strength,.ContactMuscle.Strength,0.00001);
    Vec =0.005*..DirectionVector*.ContactMuscle.Fout[0]*..BaseObject.Axes';
    AnyVar lenght=Strength*(2-(1-Strength/sqrt(Strength^2)));
    //Vec =3*0.000005*..DirectionVector*lenght*..BaseObject.Axes';

    PointAway = Off;
    DrawCoord = Off;
    Line.RGB = {0,0,1};
    Line.Thickness = 0.015;
    Line.End.Thickness = 2*0.015; 
    Line.End.Length = 4*0.015;
  };
  
};