Hi, I’m making multi-DOF musculoskeletal hand model
I want to ask you a question about arm and hand muscle model.
In Body/AAUHuman/Arm/Muscle.any, I can see following statement,
#ifdef ARM_MUSCLE_UPDATE_V16
I want to know what It means. This is an example about this definition.
#ifdef ARM_MUSCLE_UPDATE_V16
AnyShortestPathMuscle biceps_brachii_caput_breve = {
AnyMuscleModel &MusMdl = …MusPar.biceps_brachii_caput_breve;
AnyRefNode &Org = …Seg.Scapula.O_biceps_brachii_caput_breve;
AnyRefNode &Ins = …Seg.Radius.I_Biceps_SH ;
AnyDrawMuscle DrwMus = {#include “…/drawSettings/MusDrawSettings.any”};
SPLine.StringMesh = 105;
AnySurfCylinder &Surf0 =.condylus_hum;
AnySurfCylinder &Surf3 =.bicepscyl;
AnySurfEllipsoid &Surf4 =.art_gh_humRef;
SPLine.InitWrapPosVecArr = { &.biceps_brachii_caput_longum.SPLine.InitWrapPos };
};
AnyShortestPathMuscle biceps_brachii_caput_longum = {
AnyMuscleModel &MusMdl = …MusPar.biceps_brachii_caput_longum;
AnyRefNode &Org = …Seg.Scapula.O_biceps_brachii_caput_longum;//this point has been taken from VU study
AnyRefNode &Via1 = …Seg.Humerus.sulcus_intertubercularisTop;
AnyRefNode &Via2 = …Seg.Humerus.sulcus_intertubercularis;
AnyRefNode &Ins = …Seg.Radius.I_Biceps_LH; //this point has been taken from MAYO study
AnyDrawMuscle DrwMus = {#include “…/drawSettings/MusDrawSettings.any”};
SPLine.StringMesh = 80;
AnySurfEllipsoid &Surfgh =.art_gh_humRef;
AnySurfCylinder &Surf0 =.condylus_hum;
AnySurfCylinder &Surf3 =.bicepscyl;
SPLine = {
AnyMatrix InitWrapPos = {
transf3D(.Surf0.Radius*{0.5,0,…Sign1.2}, &…Seg.Humerus.fe),
transf3D({…Sign-1.1*.Surf0.Radius,1*.Surf0.Radius, 0.45*.Surf0.Length }, &.Surf0 ),
transf3D({ 0, 0 , 2*.Surf3.Radius }, &…Seg.Ulna.I_Brachialis_1),
transf3D({ …Sign1.Surf3.Radius, -1*.Surf3.Radius, 0.65*.Surf3.Length }, &.Surf3)
};
InitWrapPosVecArr = { None,None, &InitWrapPos };
};
};
#else
AnyShortestPathMuscle biceps_brachii_caput_breve = {
AnyMuscleModel &MusMdl = …MusPar.biceps_brachii_caput_breve;
AnyRefNode &Org = …Seg.Scapula.O_biceps_brachii_caput_breve;
AnyRefNode &Ins = …Seg.Radius.I_Biceps_SH ;
AnyDrawMuscle DrwMus = {#include “…/drawSettings/MusDrawSettings.any”};
SPLine.StringMesh = 105;
AnySurfCylinder &Surf0 =.oleacron;
AnySurfCylinder &Surf3 =.bicepscyl;
AnySurfEllipsoid &Surf4 =.art_gh_humRef;
SPLine.InitWrapPosVectors = {
{0.04,0.03*…Sign,-0.02},{0.0,-0.1*…Sign,0}
};
};
AnyShortestPathMuscle biceps_brachii_caput_longum = {
AnyMuscleModel &MusMdl = …MusPar.biceps_brachii_caput_longum;
AnyRefNode &Ins = …Seg.Radius.I_Biceps_LH; //this point has been taken from MAYO study
AnyRefNode &Via2 = …Seg.Humerus.sulcus_intertubercularis;
AnyRefNode &Via1 = …Seg.Humerus.sulcus_intertubercularisTop;
AnyRefNode &Org = …Seg.Scapula.O_biceps_brachii_caput_longum;//this point has been taken from VU study
AnyDrawMuscle DrwMus = {#include “…/drawSettings/MusDrawSettings.any”};
SPLine.StringMesh = 60;
AnySurfEllipsoid &Surfgh =.art_gh_humRef;
AnySurfCylinder &Surf0 =.oleacron;
AnySurfCylinder &Surf3 =.bicepscyl;
SPLine.InitWrapPosVectors = {
{0,-0.1*…Sign,0}, {0.0,0,0.0}
};
};
#endif
I found that there is a difference about wrapping object.
Could you explain whether I have to define ARM_MUSCLE_UPDATE_V16 or not?
thank you for your replying in advance