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/06/17 17:06] – removed sgrangervisual3d:documentation:modeling:segments:segment_properties_example [2024/07/17 15:45] (current) – created sgranger
Line 1: Line 1:
 +====== 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 [[Visual3D:Documentation:Pipeline:Model_Commands:Modeling_Commands#Set_Model_Metric|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.
 +
 +<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>
 +
 +==== 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.
 +
 +<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>
 +
 +=== 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.
 +
 +<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>
 +
 +
  
visual3d/documentation/modeling/segments/segment_properties_example.1718643986.txt.gz · Last modified: 2024/06/17 17:06 by sgranger