Hey,all
I'm a beginner. I want to develop a ligamentous knee joint,and had gone through all topics about ligaments in the public forums. It seems like no knee joint including ligamentous are downloadable at the current Opensim version.
And I found this link https://simtk.org/project/xml/downloads ... oup_id=423 ,a ligament plugin is offered,but it's suiteable for OpenSim 1.9,and no instruction,so I have no idea which kind of advantage I can take from this code.
Any answer or suggestion will be great
Really appreciate!
Jin
ligamentous knee joint
Re: ligamentous knee joint
Hi, Jin
the newest version of OpenSim 2.4 has already include the code for OpenSim to realize ligaments, so if you use version 2.4, I think you don't need to add the ligament plugin since this ligament plugin is only for the old version
Hope this help you
the newest version of OpenSim 2.4 has already include the code for OpenSim to realize ligaments, so if you use version 2.4, I think you don't need to add the ligament plugin since this ligament plugin is only for the old version
Hope this help you
Re: ligamentous knee joint
Thanks for your help,hang.
Jin
Jin
- Caterina Passini
- Posts: 23
- Joined: Fri Feb 24, 2012 11:48 am
Re: ligamentous knee joint
Hi, I’m a beginner too, and I was looking for the same plug-in about ligament...since I’m using the 2.4 version of Opensim I understand I don’t need the plug-in, but can someone tel me where can I find the code for the ligament knee? or I have to built it?
Thank you
Caterina
Thank you
Caterina
- Ayman Habib
- Posts: 2248
- Joined: Fri Apr 01, 2005 12:24 pm
Re: ligamentous knee joint
Hi,
I'm not sure what you mean by the "code" for the ligament knee, I'm guessing you mean the XML representation. If so then please use the functionality in the application:
Help->Available Objects... then select Ligament from the drop down then you'll see:
Please populate with desired values and place inside the ForceSet block in the osim file and that should do it. Please let us know if you have any questions.
Best regards,
-Ayman
I'm not sure what you mean by the "code" for the ligament knee, I'm guessing you mean the XML representation. If so then please use the functionality in the application:
Help->Available Objects... then select Ligament from the drop down then you'll see:
Code: Select all
<Ligament>
<isDisabled>false</isDisabled>
<GeometryPath>Object</GeometryPath>
<!--resting length of the ligament-->
<resting_length>0</resting_length>
<!--force magnitude that scales the force-length curve-->
<pcsa_force>0</pcsa_force>
<!--Function representing the force-length behavior of the ligament--> <force_length_curve>ObjectPointer</force_length_curve>
</Ligament>
Best regards,
-Ayman
- Caterina Passini
- Posts: 23
- Joined: Fri Feb 24, 2012 11:48 am
Re: ligamentous knee joint
Hi Aymanh, thank you very much! It was exactly what I need,
I found the xml code that I report here about PCL, but I was wondering if after I put it in the force set of my model (I’m using gait2354.osim file), I should see the name of my ligament appears in the Navigator_Window under Forces --> Other forces? Because I tried, the model with the ligament is loaded correctly, but it doesn’t happen, I can't see any name …
There is a way to check that I put the ligament correctly, in the right position, and a way to analyse it?
Moreover, does anybody can suggest me how can I correctly identify the location of the other pointSeth of ACL for example, because they are inside the knee and I don’t know how to find the correct coordinates (I manually put a marker in what is for me the right point for the ligament and write down the coordinates).
Thank you very much!
Caterina
(I added a little bit of extra code to better explain where I put it in my .osim file)
<ObjectGroup name="back_flex">
<members> extobl_l extobl_r intobl_l intobl_r </members>
</ObjectGroup>
</groups>
<Ligament name="pmPCL_r">
<isDisabled> false </isDisabled>
<GeometryPath name="">
<PathPointSet name="">
<objects>
<PathPoint name="pmPCL_r-P1">
<location> -0.00900000 -0.04700000 -0.00200000 </location>
<VisibleObject name="">
<!--Set of geometry files and associated attributes, allow .vtp, .stl,
.obj-->
<GeometrySet name="">
<objects/>
<groups/>
</GeometrySet>
<!--Three scale factors for display purposes: scaleX scaleY scaleZ-->
<scale_factors> 1.00000000 1.00000000 1.00000000 </scale_factors>
<!--transform relative to owner specified as 3 rotations (rad) followed by
3 translations rX rY rZ tx ty tz-->
<transform> -0.00000000 0.00000000 -0.00000000 0.00000000 0.00000000 0.00000000 </transform>
<!--Whether to show a coordinate frame-->
<show_axes> false </show_axes>
<!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded Can be overriden for
individual geometries-->
<display_preference> 4 </display_preference>
</VisibleObject>
<body> tibia_r </body>
</PathPoint>
<PathPoint name="pmPCL_r-P2">
<location> -0.00300000 -0.41000000 -0.00900000 </location>
<VisibleObject name="">
<!--Set of geometry files and associated attributes, allow .vtp, .stl,
.obj-->
<GeometrySet name="">
<objects/>
<groups/>
</GeometrySet>
<!--Three scale factors for display purposes: scaleX scaleY scaleZ-->
<scale_factors> 1.00000000 1.00000000 1.00000000 </scale_factors>
<!--transform relative to owner specified as 3 rotations (rad) followed by
3 translations rX rY rZ tx ty tz-->
<transform> -0.00000000 0.00000000 -0.00000000 0.00000000 0.00000000 0.00000000 </transform>
<!--Whether to show a coordinate frame-->
<show_axes> false </show_axes>
<!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded Can be overriden for
individual geometries-->
<display_preference> 4 </display_preference>
</VisibleObject>
<body> femur_r </body>
</PathPoint>
</objects>
<groups/>
</PathPointSet>
<VisibleObject name="">
<!--Set of geometry files and associated attributes, allow .vtp, .stl,
.obj-->
<GeometrySet name="">
<objects/>
<groups/>
</GeometrySet>
<!--Three scale factors for display purposes: scaleX scaleY scaleZ-->
<scale_factors> 1.00000000 1.00000000 1.00000000 </scale_factors>
<!--transform relative to owner specified as 3 rotations (rad) followed by
3 translations rX rY rZ tx ty tz-->
<transform> -0.00000000 0.00000000 -0.00000000 0.00000000 0.00000000 0.00000000 </transform>
<!--Whether to show a coordinate frame-->
<show_axes> false </show_axes>
<!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded Can be overriden for
individual geometries-->
<display_preference> 4 </display_preference>
</VisibleObject>
<PathWrapSet name="">
<objects/>
<groups/>
</PathWrapSet>
</GeometryPath>
<!--resting length of the ligament-->
<resting_length> 0.03000000 </resting_length>
<!--force magnitude that scales the force-length curve-->
<pcsa_force> 1900.00000000 </pcsa_force>
<!--Function representing the force-length behavior of the ligament-->
<force_length_curve>
<NaturalCubicSpline name="">
<x> -5.00000000 0.99800000 0.99900000 1.00000000 1.03000000 1.06000000 1.07000000 1.10000000 2.00000000 </x>
<y> 0.00000000 0.00000000 0.00000000 0.00000000 0.00750000 0.03000000 0.04000000 0.07000000 0.97000000 </y>
</NaturalCubicSpline>
</force_length_curve>
</Ligament>
</ForceSet>
P.S
Does anybody know if there is a way to visualized ligament as muscled in the model?
Thank you very much
Caterina
I found the xml code that I report here about PCL, but I was wondering if after I put it in the force set of my model (I’m using gait2354.osim file), I should see the name of my ligament appears in the Navigator_Window under Forces --> Other forces? Because I tried, the model with the ligament is loaded correctly, but it doesn’t happen, I can't see any name …
There is a way to check that I put the ligament correctly, in the right position, and a way to analyse it?
Moreover, does anybody can suggest me how can I correctly identify the location of the other pointSeth of ACL for example, because they are inside the knee and I don’t know how to find the correct coordinates (I manually put a marker in what is for me the right point for the ligament and write down the coordinates).
Thank you very much!
Caterina
(I added a little bit of extra code to better explain where I put it in my .osim file)
<ObjectGroup name="back_flex">
<members> extobl_l extobl_r intobl_l intobl_r </members>
</ObjectGroup>
</groups>
<Ligament name="pmPCL_r">
<isDisabled> false </isDisabled>
<GeometryPath name="">
<PathPointSet name="">
<objects>
<PathPoint name="pmPCL_r-P1">
<location> -0.00900000 -0.04700000 -0.00200000 </location>
<VisibleObject name="">
<!--Set of geometry files and associated attributes, allow .vtp, .stl,
.obj-->
<GeometrySet name="">
<objects/>
<groups/>
</GeometrySet>
<!--Three scale factors for display purposes: scaleX scaleY scaleZ-->
<scale_factors> 1.00000000 1.00000000 1.00000000 </scale_factors>
<!--transform relative to owner specified as 3 rotations (rad) followed by
3 translations rX rY rZ tx ty tz-->
<transform> -0.00000000 0.00000000 -0.00000000 0.00000000 0.00000000 0.00000000 </transform>
<!--Whether to show a coordinate frame-->
<show_axes> false </show_axes>
<!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded Can be overriden for
individual geometries-->
<display_preference> 4 </display_preference>
</VisibleObject>
<body> tibia_r </body>
</PathPoint>
<PathPoint name="pmPCL_r-P2">
<location> -0.00300000 -0.41000000 -0.00900000 </location>
<VisibleObject name="">
<!--Set of geometry files and associated attributes, allow .vtp, .stl,
.obj-->
<GeometrySet name="">
<objects/>
<groups/>
</GeometrySet>
<!--Three scale factors for display purposes: scaleX scaleY scaleZ-->
<scale_factors> 1.00000000 1.00000000 1.00000000 </scale_factors>
<!--transform relative to owner specified as 3 rotations (rad) followed by
3 translations rX rY rZ tx ty tz-->
<transform> -0.00000000 0.00000000 -0.00000000 0.00000000 0.00000000 0.00000000 </transform>
<!--Whether to show a coordinate frame-->
<show_axes> false </show_axes>
<!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded Can be overriden for
individual geometries-->
<display_preference> 4 </display_preference>
</VisibleObject>
<body> femur_r </body>
</PathPoint>
</objects>
<groups/>
</PathPointSet>
<VisibleObject name="">
<!--Set of geometry files and associated attributes, allow .vtp, .stl,
.obj-->
<GeometrySet name="">
<objects/>
<groups/>
</GeometrySet>
<!--Three scale factors for display purposes: scaleX scaleY scaleZ-->
<scale_factors> 1.00000000 1.00000000 1.00000000 </scale_factors>
<!--transform relative to owner specified as 3 rotations (rad) followed by
3 translations rX rY rZ tx ty tz-->
<transform> -0.00000000 0.00000000 -0.00000000 0.00000000 0.00000000 0.00000000 </transform>
<!--Whether to show a coordinate frame-->
<show_axes> false </show_axes>
<!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded Can be overriden for
individual geometries-->
<display_preference> 4 </display_preference>
</VisibleObject>
<PathWrapSet name="">
<objects/>
<groups/>
</PathWrapSet>
</GeometryPath>
<!--resting length of the ligament-->
<resting_length> 0.03000000 </resting_length>
<!--force magnitude that scales the force-length curve-->
<pcsa_force> 1900.00000000 </pcsa_force>
<!--Function representing the force-length behavior of the ligament-->
<force_length_curve>
<NaturalCubicSpline name="">
<x> -5.00000000 0.99800000 0.99900000 1.00000000 1.03000000 1.06000000 1.07000000 1.10000000 2.00000000 </x>
<y> 0.00000000 0.00000000 0.00000000 0.00000000 0.00750000 0.03000000 0.04000000 0.07000000 0.97000000 </y>
</NaturalCubicSpline>
</force_length_curve>
</Ligament>
</ForceSet>
P.S
Does anybody know if there is a way to visualized ligament as muscled in the model?
Thank you very much
Caterina