--- a +++ b/Application/Examples/SeatedHuman/Model/ConnectionSegments.any @@ -0,0 +1,153 @@ +//--------------------------------------------------------- +// Segments - For connection between body-model and package +//--------------------------------------------------------- +AnyFolder Segments = { + AnyFolder &Pelvis = ..BodyModel.Trunk.SegmentsLumbar.PelvisSeg; + AnyFolder &Thorax = ..BodyModel.Trunk.SegmentsThorax.ThoraxSeg; + AnyFolder &L1 = ..BodyModel.Trunk.SegmentsLumbar.L1Seg; + AnyFolder &L2 = ..BodyModel.Trunk.SegmentsLumbar.L2Seg; + AnyFolder &L3 = ..BodyModel.Trunk.SegmentsLumbar.L3Seg; + AnyFolder &L4 = ..BodyModel.Trunk.SegmentsLumbar.L4Seg; + AnyFolder &L5 = ..BodyModel.Trunk.SegmentsLumbar.L5Seg; + AnyFolder &FootRight = ..BodyModel.Right.Leg.Seg.Foot; + AnyFolder &FootLeft = ..BodyModel.Left.Leg.Seg.Foot; + AnyFolder &RefCD = Main.Model.EnvironmentModel.Seg.ChairDimensions; + AnyFolder &Seat = ..EnvironmentModel.Seg.Seat; + AnyFolder &BackRest = ..EnvironmentModel.Seg.BackRest; + AnyFolder &FootRest = ..EnvironmentModel.Seg.FootRest; + AnyFolder &ArmRestRight = ..EnvironmentModel.Seg.Right.ArmRest; + AnyFolder &ArmRestLeft = ..EnvironmentModel.Seg.Left.ArmRest; + AnyFolder &UlnaRight= ..BodyModel.Right.ShoulderArm.Seg.Ulna; + AnyFolder &UlnaLeft= ..BodyModel.Left.ShoulderArm.Seg.Ulna; + + //------------------------------------------------------- + // Coordinates of points for attaching human to chair + //------------------------------------------------------- + AnyFolder InterfaceCoords = { + AnyVar ITX = (1/2*.RefCD.SeatLength-0.07); + AnyVar ITZ = -0.034; + }; //InterfaceCoords + + //------------------------------------------------------- + // Attachment - Pelvis to Seat + //------------------------------------------------------- + Pelvis = { + AnyRefNode PelvisSeatJntNode = { + sRel = {-0.01,-0.175,0.0}; + ARel = {{0,-1,0},{1,0,0},{0,0,1}}; + // AnyDrawRefFrame DrwRef = { RGB = {1,0,0}; ScaleXYZ = {0.4,0.1,0.1}; }; + }; + + AnyRefNode MidPointSupportNode = { + sRel = {-0.03,0.0,0.0}; + }; + }; // Pelvis + + Seat = { + AnyRefNode SeatPelvisJntNode = { + sRel = {1/1*..RefCD.SeatThickness,..InterfaceCoords.ITX,0}; + /* + AnyDrawRefFrame DrwRef = { + RGB = {0,0,1}; + ScaleXYZ = {0.3,0.3,0.3}; + }; + */ + }; + }; // Seat + + //-------------------------------------------------------- + // Attachment - Thorax to BackRest + //-------------------------------------------------------- + Thorax = { + AnyRefNode ThoraxBackRestJntNode = { + sRel ={-0.04,0.42,0.0}; + //AnyDrawRefFrame DrwRef = { RGB = {0,0,1}; ScaleXYZ = {0.4,0.1,0.1}; }; + }; + AnyRefNode ThoraxBackRestJntNodeLow = { + sRel ={-0.04,0.28,0.0}; + // AnyDrawRefFrame DrwRef = { RGB = {0,1,1}; ScaleXYZ = {0.4,0.1,0.1}; }; + }; + }; // Thorax + + FootRight = { + AnatomicalFrame = { + AnyRefNode FootFootRestJntNode = { + sRel = {0,0,0}; + }; + }; + }; + + FootLeft = { + AnatomicalFrame = { + AnyRefNode FootFootRestJntNode = { + sRel = {0,0,0}; + }; + }; + }; + + FootRest = { + /// Right foot rest node that is rotated somewhat parallel to the shank + AnyRefNode FootRestRotNodeRight = { + sRel = {0.075,0.10,0.096}; + ARel=RotMat(-85.0/180*pi, z); + AnyDrawRefFrame a={ScaleXYZ={1,1,1}*0.4;RGB={0,1,0};}; + }; + /// Left foot rest node that is rotated somewhat parallel to the shank + AnyRefNode FootRestRotNodeLeft = { + sRel = {0.075,0.10, -0.096}; + ARel=RotMat(-85.0/180*pi, z); + AnyDrawRefFrame a={ScaleXYZ={1,1,1}*0.4;RGB={0,1,0};}; + }; + }; // FootRest + + ArmRestRight = { + AnyRefNode ArmRestUlnaJntNode = { + sRel = {..RefCD.ArmRestX, 0, 0}; + }; + }; // ArmRestRight + + ArmRestLeft = { + AnyRefNode ArmRestUlnaJntNode = { + sRel = {..RefCD.ArmRestX, 0, 0}; + }; + }; // ArmRestLeft + + UlnaRight = { + AnyRefNode UlnaArmRestJntNode = { + sRel = {0.018, 0.133, 0.014}; + // ARel = {{1, 0, 0}, {0, -1, 0}, {0, 0, 1}}; + ARel = {{0, 0, -1}, {0, -1, 0}, {-1, 0, 0}}; + /* + AnyDrawNode DrwNode = { + RGB = {1, 0, 0}; + ScaleXYZ = {0.01, 0.01, 0.01}; + }; + */ + /* + AnyDrawRefFrame DrwRef = { + RGB = {1, 0, 0}; + ScaleXYZ = {0.2, 0.2, 0.2}; + }; + */ + }; + }; // UlnaRight + + UlnaLeft = { + AnyRefNode UlnaArmRestJntNode = { + sRel = {0.018, -0.133, 0.014}; + ARel = {{0, 0, 1}, {0, 1, 0}, {-1, 0, 0}}; + /* + AnyDrawNode DrwNode = { + RGB = {1, 0, 0}; + ScaleXYZ = {0.01, 0.01, 0.01}; + }; + */ + /* + AnyDrawRefFrame DrwRef = { + RGB = {1, 0, 0}; + ScaleXYZ = {0.2, 0.2, 0.2}; + }; + */ + }; + }; // UlnaLeft +}; // Segments