User Tools

Site Tools


visual3d:documentation:modeling:segments:segment_properties_example

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
visual3d:documentation:modeling:segments:segment_properties_example [2024/07/12 13:28] – removed sgrangervisual3d:documentation:modeling:segments:segment_properties_example [2025/05/05 13:22] (current) – Added links. wikisysop
Line 1: Line 1:
 +====== Segment Properties Examples ======
 +
 +This example demonstrates how [[visual3d:documentation:modeling:segments:segment_overview|segment]] properties can be specified using pipeline commands. For a variety of legacy reasons, Visual3D does not allow users to specify the segment depth as an expression which means that the command [[Visual3D:Documentation:Pipeline:Model_Commands:Modeling_Commands#Set_Model_Metric|Set_Model_Metric]] cannot be used for segment depth.
 +
 +**NOTE:** As of Visual3D v5.01.20, user's are able to enter equations into the depth measurements for the Pelvis and Thorax.
 +
 +===== Example 1: Specifying segment properties from a value =====
 +
 +This example is for the [[visual3d:documentation:modeling:segments:pelvis_overview|Pelvis]] and assumes that the Pelvis segment has been constructed.
 +
 +<code>
 +! First set a pipeline parameter for the segment depth
 +! This value could be obtained by prompting the user or in this case is set to 0.12 
 +Set_Pipeline_Parameter 
 +/PARAMETER_NAME=DEPTH 
 +/PARAMETER_VALUE=0.12 
 +;
 +
 +! Explicitly set the mass and inertial properties for an elliptical cylinder
 +! This example is for the Pelvis segment
 +Set_Segment_Properties 
 +/CALIBRATION_FILE= 
 +/SEGMENT_NAME=RPV 
 +/MASS=0.142*Mass 
 +/CG_FROM_PROX_AXIAL=0.5*RPV_Seg_Length 
 +/CG_FROM_PROX_ML=0 
 +/CG_FROM_PROX_AP=0 
 +/INERTIA_XX=0.142*Mass*(3*&::DEPTH&^2+RPV_Seg_Length^2)/12 
 +/INERTIA_YY=0.142*Mass*(3*RPV_Distal_Radius^2+RPV_Seg_Length^2)/12 
 +/INERTIA_ZZ=0.142*Mass*(&::DEPTH&^2+RPV_Distal_radius^2)/
 +! /AP_DIRECTION= 
 +! /AXIAL_DIRECTION= 
 +! /MODEL_FILE= 
 +! /MATERIAL_FILE= 
 +;
 +</code>
 +
 +===== Examples 2A & 2B: Specifying segment properties from a metric =====
 +
 +There are two examples: one for the [[visual3d:documentation:modeling:segments:pelvis_overview|pelvis segment]] and one for the [[visual3d:tutorials:modeling:modeling_the_thorax|thorax]].
 +
 +==== Example 2A: Pelvis ====
 +
 +Create a metric to compute the depth as the distance between two markers/landmarks. This example is for the Pelvis and assumes that the [[visual3d:documentation:modeling:segments:pelvis_overview|Pelvis segment]] has ben constructed. In addition, the landmark **MID_ASIS** has been created.
 +
 +<code>
 +! Set Global active
 +Select_Active_File
 +/FILE_NAME=GLOBAL
 +! /QUERY=
 +;
 +
 +Metric_Explicit
 +/RESULT_METRIC_NAME=PELVIC_DEPTH
 +/RESULT_METRIC_FOLDER=PROCESSED
 +/METRIC_VALUE=DISTANCE(MODEL::TARGET::SACR,MODEL::LANDMARK::MID_ASIS)
 +;
 +
 +! First set a pipeline parameter for the segment depth
 +Set_Pipeline_Parameter
 +/PARAMETER_NAME=DEPTH
 +/PARAMETER_VALUE=GLOBAL::METRIC::PROCESSED::PELVIC_DEPTH
 +;
 +
 +! Explicitly set the mass and inertial properties for an elliptical cylinder
 +! This example is for the Pelvis segment
 +Set_Segment_Properties 
 +/CALIBRATION_FILE= 
 +/SEGMENT_NAME=RPV 
 +/MASS=0.142*Mass 
 +/CG_FROM_PROX_AXIAL=0.5*RPV_Seg_Length 
 +/CG_FROM_PROX_ML=0 
 +/CG_FROM_PROX_AP=0 
 +/INERTIA_XX=0.142*Mass*(3*&::DEPTH&^2+RPV_Seg_Length^2)/12 
 +/INERTIA_YY=0.142*Mass*(3*RPV_Distal_Radius^2+RPV_Seg_Length^2)/12 
 +/INERTIA_ZZ=0.142*Mass*(&::DEPTH&^2+RPV_Distal_radius^2)/
 +! /AP_DIRECTION= 
 +! /AXIAL_DIRECTION= 
 +! /MODEL_FILE= 
 +! /MATERIAL_FILE= 
 +;
 +</code>
 +
 +==== Example 2B: Thorax ====
 +
 +This example is for the Thorax and assumes that the [[visual3d:tutorials:modeling:modeling_the_thorax|Thorax segment]] has been constructed. Since Visual3D does not allow users to specify the segment depth as an expression, a user could construct the Thorax segment with a "dummy" depth number (0.12) and use the pipeline below to calculate a depth value based on targets/landmarks on the segment.
 +
 +<code>
 +! Set Thorax Depth 
 +
 +Select_Active_File
 +/FILE_NAME=GLOBAL
 +! /QUERY=
 +;
 +
 +! The cylindrical depth is equal to one-half the distance from anterior to posterior.
 +Metric_Explicit
 +/RESULT_METRIC_NAME=THORAX_DEPTH
 +/RESULT_METRIC_FOLDER=PROCESSED
 +/METRIC_VALUE=DISTANCE(MODEL::TARGET::T10,MODEL::LANDMARK::STRN)/2
 +;
 +
 +! First set a pipeline parameter for the segment depth
 +Set_Pipeline_Parameter
 +/PARAMETER_NAME=DEPTH
 +/PARAMETER_VALUE=GLOBAL::METRIC::PROCESSED::THORAX_DEPTH
 +;
 +
 +! Explicitly set the mass and inertial properties for an elliptical cylinder for the Thorax segment
 +Set_Segment_Properties
 +/CALIBRATION_FILE=
 +/SEGMENT_NAME=RTA
 +/MASS=0.355*Mass
 +/CG_FROM_PROX_AXIAL=0.5*RTA_Seg_Length
 +/CG_FROM_PROX_ML=0
 +/CG_FROM_PROX_AP=0
 +/INERTIA_XX=0.355*Mass*(3*&::DEPTH&^2+RTA_Seg_Length^2)/12
 +/INERTIA_YY=0.355*Mass*(3*RTA_Distal_Radius^2+RTA_Seg_Length^2)/12
 +/INERTIA_ZZ=0.355*Mass*(&::DEPTH&^2+RTA_Distal_radius^2)/4
 +! /AP_DIRECTION=
 +! /AXIAL_DIRECTION=
 +! /MODEL_FILE=
 +! /MATERIAL_FILE=
 +;
 +</code>
 +
 +===== See Also =====
 +
 +Go back to the [[visual3d:documentation:modeling:segments:segment_overview|Segment Overview]] page for more information about segments in Visual3D.
  
visual3d/documentation/modeling/segments/segment_properties_example.1720790929.txt.gz · Last modified: 2024/07/12 13:28 by sgranger