|
a |
|
b/Application/Examples/THA-KneeBendDemo/Model/Implants.any |
|
|
1 |
Main.HumanModel.BodyModel.Right.Leg.Seg.Thigh.HipJointAnatomicalFrame = { |
|
|
2 |
|
|
|
3 |
/// Node to position the femoral implant |
|
|
4 |
AnyRefNode FemImplantNode = |
|
|
5 |
{ |
|
|
6 |
ARel = {{-0.2291257, 0.329513, 0.9159276}, {-0.677984, -0.7292042, 0.09273527}, {0.6984555, -0.599736, 0.3904836}}; |
|
|
7 |
|
|
|
8 |
/// Surface geometry of the femoral implant |
|
|
9 |
AnySurfSTL FemoralImplant = |
|
|
10 |
{ |
|
|
11 |
FileName = "../Input/FemImplant"; |
|
|
12 |
ScaleXYZ = 0.7*1.0*{1.0, 1.0, 1.0}; |
|
|
13 |
AnyDrawSurf DrwSurfFem = { |
|
|
14 |
FileName = .FileName; |
|
|
15 |
ScaleXYZ = .ScaleXYZ; |
|
|
16 |
Opacity = 0.3; |
|
|
17 |
}; |
|
|
18 |
}; |
|
|
19 |
}; |
|
|
20 |
|
|
|
21 |
#if FEM_STEM_ROT |
|
|
22 |
AnyDrawWidgetRot DrwWidgetRot = { |
|
|
23 |
RefFrame = &Main.HumanModel.BodyModel.Right.Leg.Seg.Thigh.HipJointAnatomicalFrame ; |
|
|
24 |
Target = &Main.HumanModel.BodyModel.Right.Leg.Seg.Thigh.HipJointAnatomicalFrame .FemImplantNode.ARel; |
|
|
25 |
RelPos = &Main.HumanModel.BodyModel.Right.Leg.Seg.Thigh.HipJointAnatomicalFrame .FemImplantNode.sRel; |
|
|
26 |
AxisOnOff = {On,On,On}; |
|
|
27 |
UpdateEvent = OnMouseRelease; |
|
|
28 |
Operation = &Main.Study.InitialConditions; |
|
|
29 |
}; |
|
|
30 |
#endif |
|
|
31 |
#if FEM_STEM_LIN |
|
|
32 |
AnyDrawWidgetLin DrwWidgetLin = |
|
|
33 |
{ |
|
|
34 |
RefFrame = &Main.HumanModel.BodyModel.Right.Leg.Seg.Thigh; |
|
|
35 |
Target = &Main.HumanModel.BodyModel.Right.Leg.Seg.Thigh.HipJointAnatomicalFrame.sRel; |
|
|
36 |
UpdateEvent = OnMouseRelease; |
|
|
37 |
Operation = &Main.Study.InitialConditions; |
|
|
38 |
}; |
|
|
39 |
#endif |
|
|
40 |
|
|
|
41 |
|
|
|
42 |
}; |
|
|
43 |
|
|
|
44 |
Main.HumanModel.BodyModel.Trunk.SegmentsLumbar.PelvisSeg.Right.HipJoint = { |
|
|
45 |
|
|
|
46 |
/// Node to position the acetabular cup on the pelvis segment |
|
|
47 |
AnyRefNode PelvisImplantNode = |
|
|
48 |
{ |
|
|
49 |
ARel = {{0.9793473, -0.2007827, -0.02375309}, {0.1867485, 0.8533001, 0.4868296}, {-0.0774785, -0.4812113, 0.8731734}}; |
|
|
50 |
|
|
|
51 |
/// Surface geometry of the pelvis implant |
|
|
52 |
AnySurfSTL PelvisImplant = |
|
|
53 |
{ |
|
|
54 |
FileName = "../Input/HipCup"; |
|
|
55 |
ScaleXYZ = 1.0*0.1450*{1.0, 1.0, 1.0}; |
|
|
56 |
|
|
|
57 |
AnyDrawSurf DrwSurfFem = { |
|
|
58 |
FileName = .FileName; |
|
|
59 |
ScaleXYZ = .ScaleXYZ; |
|
|
60 |
RGB = {1,0,0}; |
|
|
61 |
Opacity = 0.3; |
|
|
62 |
}; |
|
|
63 |
}; |
|
|
64 |
}; |
|
|
65 |
|
|
|
66 |
#if PELVIS_CUP_ROT |
|
|
67 |
AnyDrawWidgetRot DrwWidgetRot = { |
|
|
68 |
RefFrame = &Main.HumanModel.BodyModel.Trunk.SegmentsLumbar.PelvisSeg.Right.HipJoint ; |
|
|
69 |
Target = &Main.HumanModel.BodyModel.Trunk.SegmentsLumbar.PelvisSeg.Right.HipJoint.PelvisImplantNode.ARel; |
|
|
70 |
RelPos = &Main.HumanModel.BodyModel.Trunk.SegmentsLumbar.PelvisSeg.Right.HipJoint.PelvisImplantNode.sRel; |
|
|
71 |
AxisOnOff = {On,On,On}; |
|
|
72 |
UpdateEvent = OnMouseRelease; |
|
|
73 |
Operation = &Main.Study.InitialConditions; |
|
|
74 |
}; |
|
|
75 |
#endif |
|
|
76 |
}; |
|
|
77 |
|