본문 바로가기
근골격동역학/ANDYBODY공부

에니바디 세그먼트, 노드, STL바디 개념

by bigpicture 2021. 4. 15.
반응형

에니바디에서는 세그먼트가 하나의 뼈 역할을 합니다. 해석을 포함한 전체 모델링의 큰 순서는 아래와 같습니다.

세그먼트 정의 -> 조인트로 연결 -> 드라이버 정의(운동학) -> 운동학 해석 -> 근육 정의 및 부착 -> 역동역학 해석

세그먼트를 정의 할 때, 세그먼트 안에 노드들을 정의합니다. 노드들은 조인트연결이나 근육 연결에 사용됩니다. 세그먼트 정의 부터 살펴봅시다. 

      AnySeg <ObjectName> = 
      {
        //r0 = {0.0, 0.0, 0.0};
        //rDot0 = {0.0, 0.0, 0.0};
        //Axes0 = {{1.0, 0.0, 0.0}, {0.0, 1.0, 0.0}, {0.0, 0.0, 1.0}};
        //omega0 = {0.0, 0.0, 0.0};
        Mass = 0.0;
        Jii = {0.0, 0.0, 0.0};
        //Jij = {0.0, 0.0, 0.0};
        //sCoM = {0.0, 0.0, 0.0};
        //JaboutCoMOnOff = Off;
      };


세그먼트에는 질량과 관성모멘트를 정의해야합니다. r0는 초기위치입니다. 불러왔을 때의 위치인데, 이후에 조인트끼리의 연결을 정의한다면 r0는 의미가 없습니다. 

Node 정의를 살펴봅시다. 

      AnyRefNode <ObjectName> = 
      {
        //sRel = {0.0, 0.0, 0.0};
        //ARel = {{1.0, 0.0, 0.0}, {0.0, 1.0, 0.0}, {0.0, 0.0, 1.0}};
      };


sRel 은 세그먼트의 로컬좌표계에 대한 상대 위치입니다. ARel은 상대 회전입니다. Node는 세그먼트 안에서의 위치가 고정됩니다.

에니바디는 STL파일을 불러올 수 있습니다. STL파일은 세그먼트 안에 불러오거나 Node 안에 불러옵니다. 세그먼트 안에 불러와서 세그먼트 로컬좌표와의 상대적 위치를 정의할 수도 있다. 뼈는 Seg 안에 불러올것이고, 아령 등은 Node 안에 불러올 것이다. 

     AnyDrawSTL <ObjectName> = 
      {
        //Visible = On;
        //Opacity = 1.0;
        //Pickable = On;
        //PickableZOrdering = 0;
        //RGB = {0.65, 0.65, 0.65};
        //ScaleXYZ = {1.0, 1.0, 1.0};
        //Transparency = 1.0;
        //Face = 2.0;
        /*TextFont = 
        {
        RGB = {0.0, 0.0, 0.0};
        FontName = "Times New Roman";
        Height = 50;
        Width = 50;
        Bold = Off;
        Italic = Off;
        BillBoardView = On;
        ModelSized = On;
        ModelScaleHeight = 1.0;
        ModelScaleWidth = 1.0;
        };*/
        FileName = "";
        //RelPos = {0.0, 0.0, 0.0};
        //RelRotMat = {{1.0, 0.0, 0.0}, {0.0, 1.0, 0.0}, {0.0, 0.0, 1.0}};
        //AnyStyleDrawMaterial &<Insert name0> = <Insert object reference (or full object definition)>; You can make any number of these objects!
      };
반응형

댓글