Download this file

146 lines (133 with data), 4.6 kB

//---------------------------------------------------------
// 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 = {
    AnyRefNode FootFootRestJntNode = {
      sRel = .HeelContactNode.sRel;
    };
  };
  
  FootLeft = {
    AnyRefNode FootFootRestJntNode = {
      sRel = .HeelContactNode.sRel;
    };
  };
  
  FootRest = {
    AnyRefNode FootRestFootJntNodeRight = {
      sRel = {0,0.11,0.096};
      ARel = RotMat(-pi/2,z);
    };
    AnyRefNode FootRestFootJntNodeLeft = {
      sRel = {0,0.11,-0.096};
      ARel = RotMat(-pi/2,z);
    };
  }; // 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