--- a +++ b/Tools/ModelUtilities/ArtificialSupport/ArtificialHook.any @@ -0,0 +1,69 @@ + + + +AnyFolder ArtificialHook ={ + + AnySeg Hook={ + Mass=0.0; + Jii={0,0,0}; + }; + + AnyKinEqSimpleDriver HookDriver ={ + + AnyKinLinear Lin ={ + AnySeg &ref1=..Hook; + AnySeg &ref2=...SegToBeHold; + }; + + AnyKinRotational Rot ={ + AnySeg &ref1=..Hook; + AnySeg &ref2=...SegToBeHold; + Type=RotVector; + }; + + DriverPos={0,0,0,0,0,0}; + DriverVel={0,0,0,0,0,0}; + Reaction.Type={0,0,0,0,0,0}; + }; + + AnyReacForce Reaction ={ + AnyKinLinear Lin ={ + AnyFixedRefFrame &ref2=...ForceProvider; + AnySeg &ref1=..Hook; + Ref=0; + }; + + AnyKinRotational Rot ={ + AnyFixedRefFrame &ref2=...ForceProvider; + AnySeg &ref1=..Hook; + Ref=0; + Type=RotVector; + }; + }; + + + + AnySeg &StartNode=Hook; + AnySeg &EndNode=.SegToBeHold; + //The terms push and pull are determined wrt. the coordinate system of the StartNode! + AnyVar ScaleFactor = 1000; + AnyVector StrengthOfReactionsLin = {.Strength,.Strength,.Strength,.Strength,.Strength,.Strength}; //List of strengths for the linear muscles + AnyFolder &DrawRef=Main.DrawSettings; + #include "../Reactions/XPush.any" + #include "../Reactions/XPull.any" + #include "../Reactions/YPush.any" + #include "../Reactions/YPull.any" + #include "../Reactions/ZPush.any" + #include "../Reactions/ZPull.any" + +// AnyVector StrengthOfReactionsRot = {.Strength,.Strength,.Strength,.Strength,.Strength,.Strength}; //List of strengths for the linear muscles +// #include "../Reactions/XRotPos.any" +// #include "../Reactions/XRotNeg.any" +// #include "../Reactions/YRotPos.any" +// #include "../Reactions/YRotNeg.any" +// #include "../Reactions/ZRotPos.any" +// #include "../Reactions/ZRotNeg.any" +// +// +}; +