[770c98]: / Application / Beta / IndexFinger_JohnWu / Model / Index_segments.any

Download this file

449 lines (389 with data), 14.8 kB

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    // Segments
    AnyFolder Segs = {
      
      AnyVar Halflength_dis = 0.627;
      AnyVar Halflength_mid = 0.5*(.O23+.O34);//normative model
      AnyVar Halflength_pro = 0.5*(.O45+.O56);//normative model
      
      //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
      AnySeg Distal_Phalanx = {
        r0 = {0.085,0,0};
        //        Axes0 = {{1,0,0},{0,1,0},{0,0,1}};
        //   total section length = 8.6 mm
        Mass = ..m1;
        Jii = {..i1xx, ..i1yy, ..i1zz};
        
        AnyVar DIPNode = ..DLength*.Halflength_dis;
        AnyVar FNode = -DIPNode + ..LoadPosition;
        AnyRefNode ForceNode= {
          sRel = {.FNode,0,0};
        };
        
        //DIP Joint: DISTAL
        AnyRefNode DIP_JT_Node = {
          sRel = {-.DIPNode,0,0};
        };
        
        AnyVar TENode_x2 = ..DLength*(-.Halflength_dis-0.004+..O12);
        AnyVar TENode_y2 = ..DLength*(0.199);
        AnyVar TENode_z2 = ..DLength*(-0.010);
        
        AnyVar FPNode_x2 = ..DLength*(-.Halflength_dis-0.004+..O12);
        AnyVar FPNode_y2 = ..DLength*(-0.184);
        AnyVar FPNode_z2 = ..DLength*(0.026);
        
        
        AnyRefNode FPNode = {
          sRel = {.FPNode_x2,.FPNode_y2,.FPNode_z2};
        };
        AnyRefNode TENode = {
          sRel = {.TENode_x2,.TENode_y2,.TENode_z2};
        };
        
        AnyRefNode DisNode = {
          AnyVar T = (40/180)*pi;
          //      S = SIN (T) = 0.642
          //      C = COS (T) = 0.766
          AnyVar S = 0.642;
          AnyVar C = 0.766;        
          sRel = {-0.008,0.0,-0.006};
          ARel = {{1, 0, 0}, {0, -S, C}, {0, -C, -S}};
          AnyDrawSTL DrwSurf = { 
            FileName = "../Input/I1_shifted.stl"; 
            ScaleXYZ = {0.95, 1, 1}/1400;
            Opacity = 1;
            RGB = {0.95, 0.75, 0.35};
          };
          AnyDrawNodes Color = 
          {
            RGB = {0.0, 1.0, 0.0};
            ScaleXYZ = {0.0002, 0.0002, 0.0002};
          };
        };
        
        AnyRefNode Dis_DIPO = {
          sRel = {-0.0073,-0.0005,0};
          ARel = RotMat(0*pi/180, y);
          AnySurfEllipsoid Dis_DIP = 
          {
            Radius = {0.004, 0.0035, 0.005};
            AnyDrawParamSurf distal = 
            {
              RGB = {0.8, 0.5, 0.5};
              ScaleXYZ = {1, 1, 1};
              Opacity = 0.3;
              Face = 100;
              WireFrameOnOff = Off;
            };
          };
        };
        
        AnyDrawNodes Color = 
        {
          RGB = {1.0, 0.0, 0.0};
          ScaleXYZ = {0.001, 0.001, 0.001};
          Opacity = 0.5;
        };
        AnyDrawSeg DrwSeg = {
          RGB={0,0.7,0};
          //          InertiaScale=0.2;
          Opacity=0.0;
        };
      }; // Distal_Phlanx
      
      //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
      AnySeg Middle_Phalanx = {
        r0 = {0.060,0,0};
        Mass = ..m2;
        //   total section length = 14.1 mm
        Jii = {..i2xx, ..i2yy, ..i2zz};
        AnyVar DIPNode = ..MLength*.Halflength_mid;
        
        //DIP Joint: PROXIMAL
        AnyRefNode DIP_JT_Node = {
          sRel = {.DIPNode,0.0,0};
        };
        AnyVar TENode_x1 = ..MLength*(.Halflength_mid-0.000);
        AnyVar TENode_y1 = ..MLength*(0.100);
        AnyVar TENode_z1 = ..MLength*(-0.009);
        
        AnyVar FPNode_x1 = ..MLength*(.Halflength_mid-0.300);
        AnyVar FPNode_y1 = ..MLength*(-0.245);
        AnyVar FPNode_z1 = ..MLength*(0.054);
        
        AnyRefNode FP_DIP_Node = {
          sRel = {.FPNode_x1,.FPNode_y1,.FPNode_z1};
        };
        AnyRefNode TE_DIP_Node = {
          sRel = {.TENode_x1,.TENode_y1,.TENode_z1};
        };
        
        //PIP Joint: DISTAL
        AnyRefNode PIP_JT_Node = {
          sRel = {-.DIPNode,0,0};
        };
        
        AnyVar FPNode_x2 = ..MLength*(-.Halflength_mid+0.212+..O34);
        AnyVar FPNode_y2 = ..MLength*(-0.308);
        AnyVar FPNode_z2 = ..MLength*(0.009);
        
        AnyVar RBNode_x2 = ..MLength*(-.Halflength_mid+0.112+..O34);
        AnyVar RBNode_y2 = ..MLength*(0.186);
        AnyVar RBNode_z2 = ..MLength*(0.223);
        
        AnyVar UBNode_x2 = ..MLength*(-.Halflength_mid+0.112+..O34);
        AnyVar UBNode_y2 = ..MLength*(0.151);
        AnyVar UBNode_z2 = ..MLength*(-0.290);
        
        AnyVar FSNode_x2 = ..MLength*(-.Halflength_mid+0.212+..O34);
        AnyVar FSNode_y2 = ..MLength*(-0.249);
        AnyVar FSNode_z2 = ..MLength*(0.015);
        
        AnyVar ESNode_x2 = ..MLength*(-.Halflength_mid+0.038+..O34);
        AnyVar ESNode_y2 = ..MLength*(0.278);
        AnyVar ESNode_z2 = ..MLength*(-0.027);
        
        AnyRefNode FP_PIP_Node = {
          sRel = {.FPNode_x2,.FPNode_y2,.FPNode_z2};
        };
        AnyRefNode RB_PIP_Node = {
          sRel = {.RBNode_x2,.RBNode_y2,.RBNode_z2};
        };
        AnyRefNode UB_PIP_Node = {
          sRel = {.UBNode_x2,.UBNode_y2,.UBNode_z2};
        };
        
        AnyRefNode FS_PIP_Node = {
          sRel = {.FSNode_x2,.FSNode_y2,.FSNode_z2};
        };
        AnyRefNode ES_PIP_Node = {
          sRel = {.ESNode_x2,.ESNode_y2,.ESNode_z2};
        };
        AnyRefNode A4_Node = {
          sRel = {0.5*(.FPNode_x2+.FPNode_x1),0.5*(.FPNode_y2+.FPNode_y1),0.5*(.FPNode_z2+.FPNode_z1)};
        };
        
        
        AnyRefNode MidNode = {
          AnyVar T = (10/180)*pi;
          //        AnyVar S = SIN (T) 
          //        AnyVar C = COS (T)
          AnyVar S = 0.174;
          AnyVar C = 0.985;        
          sRel = {-0.010,-0.002,-0.001};
          ARel = {{1, 0, 0}, {0, -S, C}, {0, -C, -S}};
          AnyDrawSTL DrwSurf = { 
            FileName = "../Input/I2_shifted.stl"; 
            ScaleXYZ = {0.9, 1, 1}/1400;
            Opacity = 1;
            RGB = {0.95, 0.75, 0.35};
          };
          AnyDrawNodes Color = 
          {
            RGB = {0.0, 1.0, 0.0};
            ScaleXYZ = {0.0002, 0.0002, 0.0002};
          };
        };
        
        AnySurfEllipsoid middle = 
        {
          Radius = {...MLength*0.8, 0.005, 0.005};
          AnyDrawParamSurf distal = 
          {
            RGB = {0.7, 0.65, 0.35};
            ScaleXYZ = {0.9, 1, 1};
            Opacity = 0.3;
            Face = 50;
            WireFrameOnOff = Off;
          };
        };
        
        AnyRefNode Mid_DIPO = { 
          sRel = {.DIPNode-0.005,-0.0006,-0.000};
          AnySurfEllipsoid Mid_DIP = 
          {
            Radius = {0.007, 0.004, 0.0065};
            AnyDrawParamSurf mid_dip = 
            {
              RGB = {0.8, 0.5, 0.5};
              ScaleXYZ = {1, 1, 1};
              Opacity = 0.3;
              Face = 100;
              WireFrameOnOff = Off;
            };
          };
        };
        
        AnyRefNode Mid_PIPO = { 
          sRel = {-.DIPNode+0.005,-0.00005,-0.000};           
          AnySurfEllipsoid Mid_PIP = 
          {
            Radius = {0.007, 0.005, 0.0075};
            AnyDrawParamSurf mid_pip = 
            {
              RGB = {0.8, 0.5, 0.5};
              ScaleXYZ = {1, 1, 1};
              Opacity = 0.3;
              Face = 100;
              WireFrameOnOff = Off;
            };
          };
        };
        
        AnyDrawNodes Color = 
        {
          RGB = {0.5, 0.5, 0.0};
          ScaleXYZ = {0.001, 0.001, 0.001};
          Opacity = 0.5;
        };
        AnyDrawSeg DrwSeg = {
          RGB={0,0.5,0};
          InertiaScale=0.2;
          Opacity=0.0;
        };
        
      }; // Middle_Phalanx
      
      //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
      AnySeg Proximal_Phalanx = {
        r0 = {0.022,0.0,0};
        //   total section length = 21.8 mm
        Mass = ..m3;
        Jii = {..i3xx, ..i3yy, ..i3zz};
        AnyVar PIPNode = ..PLength*.Halflength_pro;
        //        AnyVar P_56 = 0.37
        
        //PIP Joint: PROXIMAL
        AnyRefNode PIP_JT_Node = {
          sRel = {.PIPNode,0.0,0};   
        };
        
        
        AnyVar FPNode_x1= ..PLength*(.Halflength_pro-0.400);
        AnyVar FPNode_y1 = ..PLength*(-0.409);
        AnyVar FPNode_z1 = ..PLength*( 0.027);
        
        AnyVar RBNode_x1 = ..PLength*(.Halflength_pro-0.100);
        AnyVar RBNode_y1 = ..PLength*(0.181);
        AnyVar RBNode_z1 = ..PLength*(0.268);
        
        AnyVar UBNode_x1 = ..PLength*(.Halflength_pro-0.100);
        AnyVar UBNode_y1 = ..PLength*(0.131);
        AnyVar UBNode_z1 = ..PLength*(-0.312);
        
        AnyVar FSNode_x1 = ..PLength*(.Halflength_pro-0.400);
        AnyVar FSNode_y1 = ..PLength*(-0.311);
        AnyVar FSNode_z1 = ..PLength*(0.028);
        
        AnyVar ESNode_x1 = ..PLength*(.Halflength_pro+0.000);
        AnyVar ESNode_y1 = ..PLength*(0.266);
        AnyVar ESNode_z1 = ..PLength*(-0.026);
        
        AnyRefNode FP_PIP_Node = {
          sRel = {.FPNode_x1,.FPNode_y1,.FPNode_z1};
        };
        AnyRefNode RB_PIP_Node = {
          sRel = {.RBNode_x1,.RBNode_y1,.RBNode_z1};
        };
        AnyRefNode UB_PIP_Node = {
          sRel = {.UBNode_x1,.UBNode_y1,.UBNode_z1};
        };
        AnyRefNode FS_PIP_Node = {
          sRel = {.FSNode_x1,.FSNode_y1,.FSNode_z1};
        };
        AnyRefNode ES_PIP_Node = {
          sRel = {.ESNode_x1,.ESNode_y1,.ESNode_z1};
        };
        
        
        
        //MP Joint: DISTAL
        AnyRefNode MCP_JT_Node = {
          sRel = {-.PIPNode,0,0};
        };
        
        
        AnyVar FPNode_x2 = ..PLength*(-.Halflength_pro + 0.118+..O56);
        AnyVar FPNode_y2 = ..PLength*(-0.386);
        AnyVar FPNode_z2 = ..PLength*(0.031);
        
        AnyVar FSNode_x2 = ..PLength*(-.Halflength_pro + 0.118+..O56);
        AnyVar FSNode_y2 = ..PLength*(-0.477);
        AnyVar FSNode_z2 = ..PLength*(-0.074);
        
        AnyVar RINode_x2 = ..PLength*(-.Halflength_pro + 0.318+..O56);
        AnyVar RINode_y2 = ..PLength*(-0.033);
        AnyVar RINode_z2 = ..PLength*(0.443);
        
        AnyVar LUNode_x2 = ..PLength*(-.Halflength_pro + 0.318+..O56);
        AnyVar LUNode_y2 = ..PLength*(-0.148);
        AnyVar LUNode_z2 = ..PLength*(0.370);
        
        AnyVar UINode_x2 = ..PLength*(-.Halflength_pro + 0.318+..O56);
        AnyVar UINode_y2 = ..PLength*(-0.039);
        AnyVar UINode_z2 = ..PLength*(-0.461);
        
        AnyVar LENode_x2 = ..PLength*(-.Halflength_pro + 0.018+..O56);
        AnyVar LENode_y2 = ..PLength*(0.421);
        AnyVar LENode_z2 = ..PLength*(-0.033);
        
        AnyVar LERNode_x2 = ..PLength*(-.Halflength_pro + 0.018+..O56);
        AnyVar LERNode_y2 = ..PLength*(0.421);
        AnyVar LERNode_z2 = ..PLength*(0.036);
        
        AnyVar LEUNode_x2 = ..PLength*(-.Halflength_pro + 0.018+..O56);
        AnyVar LEUNode_y2 = ..PLength*(0.421);
        AnyVar LEUNode_z2 = ..PLength*(-0.030);
        
        AnyRefNode FP_MP_Node = {
          sRel = {.FPNode_x2,.FPNode_y2,.FPNode_z2};
        };
        AnyRefNode FS_MP_Node = {
          sRel = {.FSNode_x2,.FSNode_y2,.FSNode_z2};
        };
        AnyRefNode RI_MP_Node = {
          sRel = {.RINode_x2,.RINode_y2,.RINode_z2};
        };
        AnyRefNode LU_MP_Node = {
          sRel = {.LUNode_x2,.LUNode_y2,.LUNode_z2};
        };
        AnyRefNode UI_MP_Node = {
          sRel = {.UINode_x2,.UINode_y2,.UINode_z2};
        };
        AnyRefNode LE_MP_Node = {
          sRel = {.LENode_x2,.LENode_y2,.LENode_z2};
        };
        AnyRefNode LER_MP_Node = {
          sRel = {.LERNode_x2,.LERNode_y2,.LERNode_z2};
        };
        AnyRefNode LEU_MP_Node = {
          sRel = {.LEUNode_x2,.LEUNode_y2,.LEUNode_z2};
        };
        AnyRefNode A2_Node = {
          sRel = {0.5*(.FPNode_x1+.FPNode_x2),0.25*(.FSNode_y1+.FPNode_y1+.FSNode_y2+.FPNode_y2),0.5*(.FSNode_z1+.FPNode_z1)};
        };
        
        AnyRefNode ProNode = {
          AnyVar T = (5/180)*pi;
          //        AnyVar S = SIN (T) 
          //        AnyVar C = COS (T)
          AnyVar S = 0.087;
          AnyVar C = 0.996;        
          sRel = {-0.020,-0.001,0.001};
          ARel = {{1, 0, 0}, {0, -S, C}, {0, -C, -S}};
          AnyDrawSTL DrwSurf = { 
            FileName = "../Input/I3_shifted.stl"; 
            ScaleXYZ = {0.90, 1, 1}/1400;
            Opacity = 1.0;
            RGB = {0.95, 0.75, 0.35};
          };
          AnyDrawNodes Color = 
          {
            RGB = {0.0, 1.0, 0.0};
            ScaleXYZ = {0.0002, 0.0002, 0.0002};
          };
        };
        
        AnySurfEllipsoid proximal = 
        {
          Radius = {...PLength, 0.005, 0.0075};
          AnyDrawParamSurf distal = 
          {
            RGB = {0.95, 0.65, 0.35};
            ScaleXYZ = {1, 1, 1};
            Opacity = 0.3;
            Face = 50;
            WireFrameOnOff = Off;
          };
        };
        
        AnyRefNode Pro_MCPO = { 
          sRel = {-.PIPNode+0.009,-0.002,-0.00};
          AnySurfEllipsoid Pro_MCP = 
          {
            Radius = {0.010, 0.007, 0.009};
            AnyDrawParamSurf pro_mcp = 
            {
              RGB = {0.8, 0.5, 0.5};
              ScaleXYZ = {1, 1, 1};
              Opacity = 0.3;
              Face = 100;
              WireFrameOnOff = Off;
            };
          };
        };
        AnyRefNode Pro_PIPO = { 
          sRel = {.PIPNode-0.006,-0.001,-0.001};
          AnySurfEllipsoid Pro_PIP = 
          {
            Radius = {0.008, 0.005, 0.008};
            AnyDrawParamSurf pro_pip = 
            {
              RGB = {0.8, 0.5, 0.5};
              ScaleXYZ = {1, 1, 1};
              Opacity = 0.3;
              Face = 100;
              WireFrameOnOff = Off;
            };
          };
        };
        
        AnyDrawNodes Color = 
        {
          RGB = {0.7, 0.1, 0.0};
          ScaleXYZ = {0.001, 0.001, 0.001};
          Opacity = 0.5;
        };
        
        AnyDrawSeg DrwSeg = {
          RGB={0.3,0.3,0};
          InertiaScale=0.2;
          Opacity=0.0;
        };
      }; // Proximal_Phalanx
      
    };  // Segs folder
    
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++