version of Arm muscles (ARM_MUSCLE_UPDATE_V16)

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

Hi,

you should use default settings without any changes. This particular define is used to define better wrapping surfaces and is switched on by default for AMMR older than 1.6.0.

Kind regards,
Pavel