Table of Contents
Segment Properties Example
This example specifies segment properties from pipeline commands. For a variety of legacy reasons, Visual3D does not allow users to specify the segment depth as an expression. This limitation means that the command Set_Model_Metric cannot be used for segment depth.
Prompted by a customer that wanted to use a pipeline command to modify segment depth we documented this in several pipeline examples.
NOTE: As of Visual3Dv5.01.20, user's are able to enter equations into the depth measurements for the Pelvis and Thorax.
Specifying segment properties from a value
This example is for the Pelvis and assumes that the Pelvis segment has been constructed.
! 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)/4 ! /AP_DIRECTION= ! /AXIAL_DIRECTION= ! /MODEL_FILE= ! /MATERIAL_FILE= ;
Specifying segment properties from a metric
There are two examples: one for the pelvis segment and one for the Thorax.
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 Pelvis segment has ben constructed. In addition, the landmark MID_ASIS has been created.
! 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)/4 ! /AP_DIRECTION= ! /AXIAL_DIRECTION= ! /MODEL_FILE= ! /MATERIAL_FILE= ;
Thorax
This example is for the Thorax and assumes that the Thorax segment has ben 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.
! 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= ;