====== 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. ! 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= ; ===== 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. ! 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= ; ==== 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. ! 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= ; ===== See Also ===== Go back to the [[visual3d:documentation:modeling:segments:segment_overview|Segment Overview]] page for more information about segments in Visual3D.