251 lines (214 with data), 6.9 kB
AnyFolder Disc ={
//Drive the height in the right side
AnyKinLinear ControlMeasureRight ={
Ref=0;
AnySeg &ref1=...JointsAndDrivers.MeasuringSegmentRight.Seg;
//ref1={AnyDrawRefFrame drw={ScaleXYZ={0.12,0.12,0.12};RGB={0,0,1};};};
AnyRefNode &ref2=.DiscSeg.node5;
//ref2={AnyDrawRefFrame drw={ScaleXYZ={0.12,0.12,0.12};RGB={1,0,0};};};
//AnyDrawPLine drw={Thickness=0.00375;RGB={0,0,1};};
};
AnyKinMeasureOrg ControlMeasureRightY={
AnyKinLinear &ref=.ControlMeasureRight;
MeasureOrganizer={1};//Measuring along the y axis
};
//AnyKinMeasureOrg LinRightY={
//AnyKinLinear &ref=..LinRight;
//MeasureOrganizer={1};
//};
AnyKinMeasureLinComb LinCombRight = {
AnyKinMeasure& u2 = ..LinRight;
AnyKinMeasure& u1 = .ControlMeasureRightY;
OutDim = 1;
Coef={
{..Ratio,-1}
};
};
AnyKinEqSimpleDriver LinDrvRight={
AnyKinMeasureLinComb &ref=.LinCombRight;
DriverPos={0};
DriverVel={0};
Reaction.Type={Off};
};
//Drive the height in the left side
AnyKinLinear ControlMeasureLeft ={
Ref=0;
AnySeg &ref1=...JointsAndDrivers.MeasuringSegmentLeft.Seg;
//ref1={AnyDrawRefFrame drw={ScaleXYZ={0.12,0.12,0.12};RGB={0,0,1};};};
AnyRefNode &ref2=.DiscSeg.node3;
//ref2={AnyDrawRefFrame drw={ScaleXYZ={0.12,0.12,0.12};RGB={1,0,0};};};
//AnyDrawPLine drw={Thickness=0.00375;RGB={0,0,1};};
};
AnyKinMeasureOrg ControlMeasureLeftY={
AnyKinLinear &ref=.ControlMeasureLeft;
MeasureOrganizer={1};
};
//AnyKinMeasureOrg LinLeftY={
//AnyKinLinear &ref=..LinLeft;
//MeasureOrganizer={1};
//};
AnyKinMeasureLinComb LinCombLeft = {
AnyKinMeasure& u2 = ..LinLeft;
AnyKinMeasure& u1 = .ControlMeasureLeftY;
OutDim = 1;
Coef={
{..Ratio,-1}
};
};
AnyKinEqSimpleDriver LinDrvLeft={
AnyKinMeasureLinComb &ref=.LinCombLeft;
DriverPos={0};
DriverVel={0};
Reaction.Type={Off};
};
AnyKinLinear ControlMeasureMid ={
Ref=0;
AnyRefNode &ref1=...PelvisRef.BuckleNodeBottomCenter;
//ref1={AnyDrawRefFrame drw={ScaleXYZ={0.12,0.12,0.12};RGB={0,0,1};};};
AnyRefNode &ref2=.DiscSeg.node4;
//ref2={AnyDrawRefFrame drw={ScaleXYZ={0.12,0.12,0.12};RGB={1,0,0};};};
//AnyDrawPLine drw={Thickness=0.00375;RGB={0,0,1};};
};
AnyKinMeasureOrg ControlMeasureMidZ={
AnyKinLinear &ref=.ControlMeasureMid;
MeasureOrganizer={2};
};
AnyKinMeasureOrg LinZ={
AnyKinLinear &ref=..LinMid;
MeasureOrganizer={2};
};
AnyKinMeasureLinComb LinCombMid = {
AnyKinMeasure& u2 = .LinZ;
AnyKinMeasure& u1 = .ControlMeasureMidZ;
OutDim = 1;
Coef={
{..Ratio,-1}
};
};
AnyKinEqSimpleDriver LinDrvMid={
AnyKinMeasureLinComb &ref=.LinCombMid;
DriverPos={0};
DriverVel={0};
Reaction.Type={Off};
};
AnySeg DiscSeg={
Mass=1e-5;
Jii={0,0,0};
r0=..r_vec;
Axes0=..Axes_mat;
AnyFunTransform3D &Scale = ...Scale;
AnyRefNode node0={sRel= .Scale({0.0, 0.0, 0.0});}; //node on the spine
AnyRefNode node1={sRel= .Scale({0.025,0,-...L0*0.5});}; //back right side
AnyRefNode node2={sRel= .Scale({0.025+0.5*...L1,0,-...L0*0.5-0.015});};//mid right side
AnyRefNode node3={sRel= .Scale({0.025+...L1,0,-...L0*0.5});}; //front right
AnyRefNode node4={sRel= .Scale({0.05+...L1,0,0});}; //mid front node
AnyRefNode node5={sRel= .Scale({0.025+...L1,0,...L0*0.5});};//front left
AnyRefNode node6={sRel= .Scale({0.025+0.5*...L1,0,...L0*0.5+0.015});}; //mid left side
AnyRefNode node7={sRel= .Scale({0.025,0,...L0*0.5});}; //back left side
//visual line
AnyKinPLine line={
AnyRefNode &ref1=.node0;
AnyRefNode &ref2=.node1;
AnyRefNode &ref3=.node2;
AnyRefNode &ref4=.node3;
AnyRefNode &ref5=.node4;
AnyRefNode &ref6=.node5;
AnyRefNode &ref7=.node6;
AnyRefNode &ref8=.node7;
AnyRefNode &ref9=.node0;
// AnyDrawPLine drw={RGB={0,0,1}; Thickness=0.0035;};
};
AnyRefNode ViaNodeRight={sRel= .Scale({0.05+...L1,0,-0.01});}; //mid front node
AnyRefNode ViaNodeLeft={sRel= .Scale({0.05+...L1,0,0.01});}; //mid front node
//support node center
AnyRefNode SupportNode={
sRel= .Scale({...L1,0,0});
};
//support node
AnyRefNode SupportNodeRight={
sRel= .Scale({...L1,0,0.05});
};
AnyRefNode SupportNodeLeft={
sRel= .Scale({...L1,0,-0.05});
// AnyDrawRefFrame drw={};
};
// AnyDrawRefFrame drw =
// {
// RGB = {0, 0, 0};
// ScaleXYZ = 0.05 * {1, 1, 1};
// };
};
AnySeg VirtuelSeg={
Mass=1e-5;
Jii={0,0,0};
AnyFunTransform3D &Scale = ...Scale;
r0=..r_vec;//+(.DiscSeg.node4.sRel+{0.01,0,0})*.DiscSeg.Axes0';
Axes0=.DiscSeg.Axes0;
AnyRefNode SupportNodeRight={sRel= .Scale({0,0,-0.01});};
AnyRefNode SupportNodeLeft={sRel= .Scale({0,0,0.01});};
AnyRefNode NodeRight={sRel= .Scale({0,0,-0.01});};
AnyRefNode NodeLeft={sRel= .Scale({0,0,0.01});};
AnyRefNode node0={sRel= .Scale({0,0,0.0});};
// AnyDrawRefFrame drw={ScaleXYZ={0.1,0.1,0.1};RGB={0,1,0};};
};
// AnyKinEqSimpleDriver VirtuelSegDiscJnt ={
//
// AnyKinLinear lin={
// Ref=0;
// AnyRefNode &ref1=..DiscSeg.node4;
// AnySeg &ref2=..VirtuelSeg;
// };
// AnyKinRotational rot={
// Type=RotVector;//RotAxesAngles;
// AnyRefNode &ref1=..DiscSeg.node4;
// AnySeg &ref2=..VirtuelSeg;
// };
// DriverPos={0.0025,0.00,0.00,0.00,0.0,00.00};
// DriverVel={0,0,0,0,0,0};
// };
AnyPrismaticJoint VirtuelSegDiscJnt={
Ref=0;
AnyRefNode &ref1=.DiscSeg.node4;
AnySeg &ref2=.VirtuelSeg;
// ref1={AnyDrawRefFrame drw={RGB={1,0,0};ScaleXYZ={0.1,0.1,0.1};};};
// ref2={AnyDrawRefFrame drw={RGB={0,1,0};ScaleXYZ={0.15,0.15,0.15};};};
Axis=x; //this is the plane of the disc...
};
AnyKinEqSimpleDriver drv={
AnyPrismaticJoint &ref=.VirtuelSegDiscJnt;
DriverPos={0.001};
DriverVel={0.0};
Reaction.Type={Off};
};
//
//
// AnyForce test={
// AnyPrismaticJoint &ref=.VirtuelSegDiscJnt;
// F={10};
//
// };
// //
// //
//AnyMuscleGeneric test={
// AnyMuscleModel mdl={
// F0=1.4;
// };
// AnyPrismaticJoint &ref=.VirtuelSegDiscJnt;
// Type = NonNegative;
//};
//
//AnyMuscleGeneric tes2t={
// AnyMuscleModel mdl={
// F0=1.4;
// };
// AnyPrismaticJoint &ref=.VirtuelSegDiscJnt;
// Type = NonPositive;
//};
//
//
// AnyReacForce testforce ={
// AnyPrismaticJoint &ref=.VirtuelSegDiscJnt;
//
// };
};
//