Dear Arnaud,
In the new force plate class template that I made for your model, you will be able to find the following pieces of code.
Locations of the force nodes:
AnyVar z_check = 1;
AnyFloat Origins= Folder.Groups.FORCE_PLATFORM.ORIGIN.Data;
AnyVar xdist=Origins[plnr][0];//distance from x axis on transducer to x axis of center of plate
AnyVar ydist=Origins[plnr][1]; //distance from y axis on transducer to y axis of center of plate
AnyVar zdist=z_check*Origins[plnr][2];//distance from z axis on transducer to z surface of plate
AnyRefNode P1={
sRel=1.0*{.xdist,.ydist,.zdist};
AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
};
AnyRefNode P2={
sRel=1.0*{-.xdist,.ydist,.zdist};
AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
};
AnyRefNode P3={
sRel=1.0*{-.xdist,-.ydist,.zdist};
AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
};
AnyRefNode P4={
sRel=1.0*{.xdist,-.ydist,.zdist};
AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
};
AnyRefNode P1P2={
sRel=0.5*(.P1.sRel+.P2.sRel);
AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
};
AnyRefNode P3P4={
sRel=0.5*(.P3.sRel+.P4.sRel);
AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
};
AnyRefNode P1P4={
sRel=0.5*(.P1.sRel+.P4.sRel);
AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
};
AnyRefNode P2P3={
sRel=0.5*(.P2.sRel+.P3.sRel);
AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
};
Forces which are applied to these nodes:
AnyForce3D Fx12 ={
AnyFunInterpol f ={
Type=PiecewiseLinear;
T=..Time;
Data={Fx_12} ;
};
AnyRefNode &ref1=.ForcePlate.P1P2;
Flocal=.OnOff*{f(.ForcePlateDriver.t )[0],0,0};
AnyDrawVector DrawForce = {
AnyRefFrame &ref=.ref1;
Vec=.Flocal*1/1000;
PointAway = Off;
DrawCoord = Off;
Line.RGB ={0,0,1};
Line.Thickness = 0.01;
Line.End.Thickness = 2*0.01;
Line.End.Length = 4*0.01;
GlobalCoord=Off;
};
};
AnyForce3D Fx34 ={
AnyFunInterpol f ={
Type=PiecewiseLinear;
T=..Time;
Data={Fx_34} ;
};
AnyRefNode &ref1=.ForcePlate.P3P4;
Flocal=.OnOff*{f(.ForcePlateDriver.t )[0],0,0};
AnyDrawVector DrawForce = {
AnyRefFrame &ref=.ref1;
Vec=.Flocal*1/1000;
PointAway = Off;
DrawCoord = Off;
Line.RGB ={0,0,1};
Line.Thickness = 0.01;
Line.End.Thickness = 2*0.01;
Line.End.Length = 4*0.01;
GlobalCoord=Off;
};
};
AnyForce3D Fy14 ={
AnyFunInterpol f ={
Type=PiecewiseLinear;
T=..Time;
Data={Fy_14} ;
};
AnyRefNode &ref1=.ForcePlate.P1P4;
Flocal=.OnOff*{0,f(.ForcePlateDriver.t)[0],0};
AnyDrawVector DrawForce = {
AnyRefFrame &ref=.ref1;
Vec=.Flocal*1/1000;
PointAway = Off;
DrawCoord = Off;
Line.RGB ={0,0,1};
Line.Thickness = 0.01;
Line.End.Thickness = 2*0.01;
Line.End.Length = 4*0.01;
GlobalCoord=Off;
};
};
AnyForce3D Fy23 ={
AnyFunInterpol f ={
Type=PiecewiseLinear;
T=..Time;
Data={Fy_23} ;
};
AnyRefNode &ref1=.ForcePlate.P2P3;
Flocal=.OnOff*{0,f(.ForcePlateDriver.t)[0],0};
AnyDrawVector DrawForce = {
AnyRefFrame &ref=.ref1;
Vec=.Flocal*1/1000;
PointAway = Off;
DrawCoord = Off;
Line.RGB ={0,0,1};
Line.Thickness = 0.01;
Line.End.Thickness = 2*0.01;
Line.End.Length = 4*0.01;
GlobalCoord=Off;
};
};
AnyForce3D Fz1 ={
AnyFunInterpol f ={
Type=PiecewiseLinear;
T=..Time;
Data={Fz_1};
};
AnyRefNode &ref1=.ForcePlate.P1;
Flocal=.OnOff*{0,0,f(.ForcePlateDriver.t)[0]};
AnyDrawVector DrawForce = {
AnyRefFrame &ref=.ref1;
Vec=.Flocal*1/1000;
PointAway = Off;
DrawCoord = Off;
Line.RGB ={0,0,1};
Line.Thickness = 0.01;
Line.End.Thickness = 2*0.01;
Line.End.Length = 4*0.01;
GlobalCoord=Off;
};
};
AnyForce3D Fz2 ={
AnyFunInterpol f ={
Type=PiecewiseLinear;
T=..Time;
Data={Fz_2} ;
};
AnyRefNode &ref1=.ForcePlate.P2;
Flocal=.OnOff*{0,0,f(.ForcePlateDriver.t)[0]};
AnyDrawVector DrawForce = {
AnyRefFrame &ref=.ref1;
Vec=.Flocal*1/1000;
PointAway = Off;
DrawCoord = Off;
Line.RGB ={0,0,1};
Line.Thickness = 0.01;
Line.End.Thickness = 2*0.01;
Line.End.Length = 4*0.01;
GlobalCoord=Off;
};
};
AnyForce3D Fz3 ={
AnyFunInterpol f ={
Type=PiecewiseLinear;
T=..Time;
Data={Fz_3};
};
AnyRefNode &ref1=.ForcePlate.P3;
Flocal=.OnOff*{0,0,f(.ForcePlateDriver.t)[0]};
AnyDrawVector DrawForce = {
AnyRefFrame &ref=.ref1;
Vec=.Flocal*1/1000;
PointAway = Off;
DrawCoord = Off;
Line.RGB ={0,0,1};
Line.Thickness = 0.01;
Line.End.Thickness = 2*0.01;
Line.End.Length = 4*0.01;
GlobalCoord=Off;
};
};
AnyForce3D Fz4 ={
AnyFunInterpol f ={
Type=PiecewiseLinear;
T=..Time;
Data={Fz_4};
};
AnyRefNode &ref1=.ForcePlate.P4;
Flocal=.OnOff*{0,0,f(.ForcePlateDriver.t)[0]};
AnyDrawVector DrawForce = {
AnyRefFrame &ref=.ref1;
Vec=.Flocal*1/1000;
PointAway = Off;
DrawCoord = Off;
Line.RGB ={0,0,1};
Line.Thickness = 0.01;
Line.End.Thickness = 2*0.01;
Line.End.Length = 4*0.01;
GlobalCoord=Off;
};
};
So you can try to change the signs of these force input functions in order to match it to what you believe correct.
Best regards,
Moonki