set vertical_planes_tree_along_line ""
set inclined_planes_tree_along_line ""
set useType vertical
proc getName {both_types} {
set vertical 1
set ::useType vertical
if {"[$::dump_section getCurrentValue]" == "true"} {
set vertical 0
set ::useType inclined
}
global default_vertical_name
global default_inclined_name
set default_vertical_name ""
set default_inclined_name ""
global empty
global plane
global vertical_planes_tree_along_line
GuidoForm selectPlaneInput {
-default_buttons
-label "Select Section"
-tip "FRM_ALONGLINE_1"
-layout BoxLayout Y_AXIS
GuidoPanel panel1 {
-border empty true
-layout BoxLayout Y_AXIS
GuidoLabel label1 {
-label "New sections will follow the section you select."
}
GuidoFiller f1 {
-height 0.5
}
GuidoButtonGroupPanel plane_type {
-layout BoxLayout Y_AXIS
-border etched true
-label "Sections to list"
GuidoRadioButton vertical_button {
-caption "List existing vertical sections"
-default true
-selected_value vertical
}
GuidoRadioButton inclined_button {
-caption "List existing inclined sections"
-selected_value inclined
}
-action valueChanged {[
if {[$plane_type getCurrentValue] == "inclined"} {
$plane setCurrentValue $default_inclined_name
set ::useType inclined
} else {
$plane setCurrentValue $default_vertical_name
set ::useType vertical
}
]}
}
}
GuidoPanel main_panel {
-layout OverlayLayout
GuidoScrollPane vertical_scroll {
-height 15
-dependency {"[$plane_type getCurrentValue]" == "vertical"}
GuidoTree vertical_planes_tree_along_line {
-label "Vertical sections"
-editable false
-no_mlt
-multiple_selection false
set buffer [GuidoExecServer PlaneTreeStructure [subst {type = "Vertical sections"}]]
set nSeries "[GuidoGetParamBufferValue $buffer nSeries ]"
set editPlane "[GuidoGetParamBufferValue $buffer editPlane ]"
set verticalRootNode [$vertical_planes_tree_along_line getRootNode]
for {set i 0} {$i < $nSeries} {incr i} {
set pname "[GuidoGetParamBufferValue $buffer series_$i]"
GuidoTreeBranch vertical_branch_$i {
-label_no_mlt "$pname"
set nPlanes "[GuidoGetParamBufferValue $buffer nPlanes_$i]"
for {set j 0} {$j < $nPlanes} {incr j} {
set name [GuidoGetParamBufferValue $buffer "plane\_$i\_$j"]
if {$i == 0 && $j == 0} {
set default_vertical_name $name
}
global vertical_along_line_leaf\_$i\_$j
GuidoTreeLeaf vertical_along_line_leaf\_$i\_$j {
-menu_enabled false
-default $name
-label $name
-no_mlt
set leaf "\$::vertical_along_line_leaf\_$i\_$j"
-action focusGained {[$::empty setLabel [subst $leaf]
$::plane setCurrentValue $name]}
}
}
-action focusGained {[$vertical_planes_tree_along_line setSelectedNode [$::empty getCurrentValue]]}
}
}
}
for {set i 0} {$i < $nSeries} {incr i} {
set child [$verticalRootNode getChildAt $i]
set d [$child getChildCount]
for {set j 0} {$j < $d} {incr j} {
set grandChild [$child getChildAt $j]
$grandChild setActionCallback focusLost {[
if {"[$vertical_planes_tree_along_line getSelectedNode]" != ""} {
if {"[[$vertical_planes_tree_along_line getSelectedNode] getLabelText]" == "Vertical sections"} {
$vertical_planes_tree_along_line setSelectedNode [$::empty getCurrentValue]
}
} else {
$vertical_planes_tree_along_line setSelectedNode [$::empty getCurrentValue]
}
]}
}
$vertical_planes_tree_along_line setSelectedNode $child
set name [GuidoGetParamBufferValue $buffer "plane\_$i\_0"]
$vertical_planes_tree_along_line expandPath "Vertical sections\\$pname\\$name"
}
$vertical_planes_tree_along_line setSelectedNode [[$verticalRootNode getChildAt 0] getChildAt 0]
$vertical_planes_tree_along_line setTreeIcons "icons/16/menu_create_vertical_planes.png" "icons/16/menu_create_vertical_planes.png" "icons/VPlaneF.gif"
}
GuidoScrollPane inclined_scroll {
-height 15
-dependency {"[$plane_type getCurrentValue]" == "inclined"}
GuidoTree inclined_planes_tree_along_line {
-label "Incline sections"
-editable false
-no_mlt
-multiple_selection false
set buffer [GuidoExecServer PlaneTreeStructure [subst {type = "Incline sections"}]]
set nSeries "[GuidoGetParamBufferValue $buffer nSeries ]"
set editPlane "[GuidoGetParamBufferValue $buffer editPlane ]"
set rootNode [$inclined_planes_tree_along_line getRootNode]
for {set i 0} {$i < $nSeries} {incr i} {
set pname "[GuidoGetParamBufferValue $buffer series_$i]"
GuidoTreeBranch inclined_branch_$i {
-label_no_mlt "$pname"
set nPlanes "[GuidoGetParamBufferValue $buffer nPlanes_$i]"
for {set j 0} {$j < $nPlanes} {incr j} {
set name [GuidoGetParamBufferValue $buffer "plane\_$i\_$j"]
if {$i == 0 && $j == 0} {
set default_inclined_name $name
}
global inclined_along_line_leaf\_$i\_$j
GuidoTreeLeaf inclined_along_line_leaf\_$i\_$j {
-menu_enabled false
-default $name
-label $name
-no_mlt
set leaf "\$::inclined_along_line_leaf\_$i\_$j"
-action focusGained {[$::empty setLabel [subst $leaf]
$::plane setCurrentValue $name]}
}
}
-action focusGained {[$inclined_planes_tree_along_line setSelectedNode [$::empty getCurrentValue]]}
}
}
}
for {set i 0} {$i < $nSeries} {incr i} {
set child [$rootNode getChildAt $i]
set d [$child getChildCount]
for {set j 0} {$j < $d} {incr j} {
set grandChild [$child getChildAt $j]
$grandChild setActionCallback focusLost {[
if {"[$inclined_planes_tree_along_line getSelectedNode]" != ""} {
if {"[[$inclined_planes_tree_along_line getSelectedNode] getLabelText]" == "Incline sections"} {
$inclined_planes_tree_along_line setSelectedNode [$::empty getCurrentValue]
}
} else {
$inclined_planes_tree_along_line setSelectedNode [$::empty getCurrentValue]
}
]}
}
$inclined_planes_tree_along_line setSelectedNode $child
set name [GuidoGetParamBufferValue $buffer "plane\_$i\_0"]
$inclined_planes_tree_along_line expandPath "Incline sections\\$pname\\$name"
}
$inclined_planes_tree_along_line setSelectedNode [[$rootNode getChildAt 0] getChildAt 0]
$inclined_planes_tree_along_line setTreeIcons "icons/16/menu_create_inclined_planes.png" "icons/16/menu_create_inclined_planes.png" "icons/IPlaneF.gif"
}
}
GuidoPanel bottomPanel {
-position South
GuidoField plane {
-visible false
}
GuidoLabel empty {
-visible false
}
-dependency {"[$plane getCurrentValue]" == "0" && "[$plane getCurrentValue]" == "1"}
}
if {$nSeries > 0} {
set leaf "\$::vertical_along_line_leaf\_0\_0"
$empty setLabel [subst $leaf]
if {$vertical} {
$plane setCurrentValue $default_vertical_name
} else {
$plane setCurrentValue $default_inclined_name
}
}
}
if {$both_types == 0} {
$panel1 setDependency {"[$plane getCurrentValue]" == "0" && "[$plane getCurrentValue]" == "1"}
if {$vertical} {
$vertical_planes_tree_along_line setSelectedNode [[$verticalRootNode getChildAt 0] getChildAt 0]
$plane_type setCurrentValue vertical
} else {
$plane_type setCurrentValue inclined
}
} else {
if {$vertical} {
$plane_type setCurrentValue vertical
} else {
$plane_type setCurrentValue inclined
}
}
$selectPlaneInput show modal
set selectedPlane ""
if {[$selectPlaneInput getStatus] == "apply"} {
set selectedPlane [$plane getCurrentValue]
}
$selectPlaneInput destroy
return $selectedPlane
}
proc parallel {dump dump_section angle_across_line start_offset} {
set name [getName 0]
if {$name != ""} {
set buffer [GuidoExecServer SelectExistingPlane [subst {name = "$name" type = "$::useType" display = false start_offset = "$start_offset"}]]
set status "[GuidoGetParamBufferValue $buffer status]"
if {$status >= 0} {
$dump setCurrentValue [GuidoGetParamBufferValue $buffer dump_angle]
if {[GuidoGetParamBufferValue $buffer dump_angle] > 0.0 || [GuidoGetParamBufferValue $buffer dump_angle] < 0.0} {
$dump_section setCurrentValue true
} else {
$dump_section setCurrentValue false
}
$angle_across_line setCurrentValue [GuidoGetParamBufferValue $buffer parallel_angle_across_line]
}
}
}
proc same {dump dump_section angle_across_line} {
set name [getName 0]
if {$name != ""} {
set buffer [GuidoExecServer SelectExistingPlane [subst {name = "$name" type = "$::useType" display = false start_offset = "0"}]]
set status "[GuidoGetParamBufferValue $buffer status]"
if {$status >= 0} {
$dump setCurrentValue [GuidoGetParamBufferValue $buffer dump_angle]
if {[GuidoGetParamBufferValue $buffer dump_angle] > 0.0 || [GuidoGetParamBufferValue $buffer dump_angle] < 0.0} {
$dump_section setCurrentValue true
} else {
$dump_section setCurrentValue false
}
$angle_across_line setCurrentValue [GuidoGetParamBufferValue $buffer angle_across_line]
}
}
}
GuidoForm confirmAngleForm {
-label "Corner Angle Exceeded"
-layout BoxLayout X_AXIS
-default_buttons "Yes" "No"
-tip "FRM_CONFIRMANGLE_1"
GuidoPanel panel1 {
-layout BoxLayout Y_AXIS
GuidoFiller f1 {
-height 0.5
-width 50
}
GuidoPanel panel2 {
-layout FlowLayout
GuidoLabel Warning_Label {
-icon "icons/Warning.gif"
}
GuidoLabel warning {
-height 1
-no_mlt
}
}
GuidoFiller f1 {
-height 0.5
}
}
}
proc confirmAngle {msg} {
$::warning setCurrentValue $msg
$::confirmAngleForm show modal
if {[$::confirmAngleForm getStatus] == "apply"} {
return 1
} else {
return 0
}
}
proc preview {left right top bottom spacing series sequence prefix suffix start_name name_increment start_offset end_offset dump dump_section offset_type angle_across_line use_number number reference_plane corner_rule corner_tolerance increment_angle angle_increment increment_dump dump_increment} {
set preview 1
set start true
while {$preview} {
set buffer [GuidoExecServer PreviewPlanes [subst {left = "[$left getCurrentValue]"
right = "[$right getCurrentValue]"
top = "[$top getCurrentValue]"
bottom = "[$bottom getCurrentValue]"
spacing = "[$spacing getCurrentValue]"
series = "[$series getCurrentValue]"
sequence = "[$sequence getCurrentValue]"
prefix = "[$prefix getCurrentValue]"
suffix = "[$suffix getCurrentValue]"
start_name = "[$start_name getCurrentValue]"
name_increment = "[$name_increment getCurrentValue]"
start_offset = "[$start_offset getCurrentValue]"
end_offset = "[$end_offset getCurrentValue]"
dump = "[$dump getCurrentValue]"
dump_section = "[$dump_section getCurrentValue]"
offset_type = "[$offset_type getCurrentValue]"
angle_across_line = "[$angle_across_line getCurrentValue]"
use_number = "[$use_number getCurrentValue]"
number = "[$number getCurrentValue]"
reference_plane = "[$reference_plane getCurrentValue]"
corner_rule = "[$corner_rule getCurrentValue]"
corner_tolerance = "[$corner_tolerance getCurrentValue]"
increment_angle = "[$increment_angle getCurrentValue]"
angle_increment = "[$angle_increment getCurrentValue]"
increment_dump = "[$increment_dump getCurrentValue]"
dump_increment = "[$dump_increment getCurrentValue]"
start = "$start"}]]
set corner_exceeded "[GuidoGetParamBufferValue $buffer corner_exceeded]"
if {$corner_exceeded == "true"} {
set plane "[GuidoGetParamBufferValue $buffer plane]"
set exceed "[GuidoGetParamBufferValue $buffer exceed]"
set msg [GuidoMessage translate PLANES_EXCEEDED_CORNER_TOLERANCE $plane [$corner_tolerance getCurrentValue] $exceed]
set confirmed [confirmAngle $msg]
if {$confirmed} {
set start false
} else {
set preview 0
}
} else {
set preview 0
}
}
}
proc existing {left right top bottom spacing series sequence prefix suffix start_name name_increment start_offset dump dump_section offset_type angle_across_line} {
set name [getName 1]
if {$name != ""} {
set buffer [GuidoExecServer SelectExistingPlane [subst {name = "$name" type = "$::useType" left = "$left" right = "$right" top = "$top" bottom = "$bottom" offset_type = "$offset_type" display = true start_offset = "0"}]]
set status "[GuidoGetParamBufferValue $buffer status]"
if {$status >= 0} {
$prefix setCurrentValue [GuidoGetParamBufferValue $buffer prefix]
$suffix setCurrentValue [GuidoGetParamBufferValue $buffer suffix]
$start_name setCurrentValue "[GuidoGetParamBufferValue $buffer name]"
$name_increment setCurrentValue "[GuidoGetParamBufferValue $buffer increment]"
$series setCurrentValue [GuidoGetParamBufferValue $buffer series]
$sequence setCurrentValue [GuidoGetParamBufferValue $buffer sequence]
$spacing setCurrentValue [GuidoGetParamBufferValue $buffer spacing]
$start_offset setCurrentValue [GuidoGetParamBufferValue $buffer spacing]
changeSpacing
$dump setCurrentValue [GuidoGetParamBufferValue $buffer dump_angle]
if {[GuidoGetParamBufferValue $buffer dump_angle] > 0.0 || [GuidoGetParamBufferValue $buffer dump_angle] < 0.0} {
$dump_section setCurrentValue true
} else {
$dump_section setCurrentValue false
}
$angle_across_line setCurrentValue [GuidoGetParamBufferValue $buffer angle_across_line]
}
}
}
proc changeIcon {} {
if {[$::corner_rule getCurrentValue] == "Maintain parallel planes and thickness"} {
$::icon setIconByName "icons/maintain_thickness.png"
} else {
$::icon setIconByName "icons/maintain_angle.png"
}
}
proc planeTypeWarning {} {
if {"[$::dump_section getCurrentValue]" == "true"} {
GuidoMessage message "Planes will now be saved as Inclined Sections"
} else {
GuidoMessage message "Planes will now be saved as Vertical Sections"
}
}
proc toggleDumpSection {} {
if {[$::dump_section getCurrentValue] == "true"} {
$::dump_section setCurrentValue false
} else {
$::dump_section setCurrentValue true
}
}
proc changeSpacing {} {
catch {
set thickness [$::spacing getCurrentValue]
if {[$::corner_rule getCurrentValue] == "Maintain angle across line and dump"} {
set dump [$::dump getCurrentValue]
set dump_section [$::dump_section getCurrentValue]
if {$dump_section == "true"} {
if {[GuidoSSIOption get "angle units"] == "GRADS"} {
set thickness [expr {$thickness * cos($dump * 3.1415926535898 / 200.0)}]
} else {
set thickness [expr {$thickness * cos($dump * 3.1415926535898 / 180.0)}]
}
}
}
if {[$::reference_plane getCurrentValue] == "in the middle of the plane corridor"} {
set thickness [expr $thickness / 2.0]
$::away setCurrentValue $thickness
$::towards setCurrentValue $thickness
} elseif {[$::reference_plane getCurrentValue] == "at the near end of the plane corridor"} {
$::away setCurrentValue $thickness
$::towards setCurrentValue 0.0
} else {
$::away setCurrentValue 0.0
$::towards setCurrentValue $thickness
}
} result
}
GuidoForm frmalongLine {
-default_buttons
-label "Create Sections Along Line"
-tip "FRM_ALONGLINE_2"
-layout BoxLayout Y_AXIS
GuidoPanel panel1 {
-label "Spacing and number"
-border etched true
-position North
-layout CentreLineLayout
GuidoPanel panel2 {
-layout FlowLayout Left 0 2
GuidoLabel label1 {
-label "Spacing between sections:"
}
GuidoFiller f1 {
-width 1.5
}
GuidoLabel icon {
-icon "icons/maintain_thickness.png"
}
}
GuidoField spacing {
-width 8
-default "50.0"
-format double
-decimals 3
-max_length 16
-null false
-low_bound 0.01
-action valueChanged {[changeSpacing]}
-tip "FRM_ALONGLINE_3"
}
GuidoPanel panel3 {
-layout FlowLayout Left 0 1
GuidoCheckBox use_number {
-tip "FRM_ALONGLINE_4"
}
GuidoLabel label3 {
-label "Create this number of sections:"
}
}
GuidoField number {
-width 8
-default "1"
-dependency {"[$use_number getCurrentValue]" == "true"}
-format integer
-max_length 16
-null false
-low_bound 1
-tip "Enter the number of sections to create."
}
GuidoPanel panel4 {
-layout FlowLayout Left 0 2
GuidoFiller f2 {
-width 0
-height 0.9
}
GuidoLabel label4 {
-label "Offset distance from starting location:"
}
}
GuidoField start_offset {
-default "0"
-width 8
-format double
-decimals 3
-max_length 16
-null false
-tip "FRM_ALONGLINE_5"
}
GuidoPanel panel5 {
-layout FlowLayout Left 0 2
GuidoLabel label5 {
-label "Offset distance from ending location:"
-dependency {"[$use_number getCurrentValue]" != "true"}
}
}
GuidoField end_offset {
-default "0"
-width 8
-format double
-decimals 3
-max_length 16
-null false
-dependency {"[$use_number getCurrentValue]" != "true"}
-tip "FRM_ALONGLINE_6"
}
}
GuidoTabbedPane tabs {
GuidoPanel panel6 {
-label "Naming"
GuidoPanel panel7 {
-layout CentreLineLayout
GuidoPanel panel8 {
-layout FlowLayout Left 0 0
GuidoPanel panel9 {
-layout BoxLayout Y_AXIS
GuidoLabel label6 {
-label "Enter the name and series, or"
}
GuidoLabel label7 {
-label "continue from an existing section."
}
}
}
GuidoButton existing_button {
-caption "Existing..."
-width 8
-action valueChanged {[existing [$left getCurrentValue] [$right getCurrentValue] [$top getCurrentValue] [$bottom getCurrentValue] $spacing $series $sequence $prefix $suffix $start_name $name_increment $start_offset $dump $dump_section [$offset_type getCurrentValue] $angle_across_line]}
}
GuidoFiller f3 {
-height 0.5
}
GuidoFiller f4 {
-height 0.5
}
GuidoPanel panel10 {
-layout FlowLayout Left 0 2
GuidoFiller f5 {
-width 0
-height 0.9
}
GuidoLabel label8 {
-label "Name (number) of the starting section:"
}
}
GuidoField start_name {
-width 8
-default "1000"
-format integer
-max_length 16
-null false
-tip "FRM_ALONGLINE_7"
}
GuidoPanel panel11 {
-layout FlowLayout Left 0 2
GuidoFiller f6 {
-width 0
-height 0.9
}
GuidoLabel label9 {
-label "Increment each section name by:"
}
}
GuidoField name_increment {
-width 8
-default "1"
-format integer
-low_bound 1
-max_length 16
-null false
-tip "FRM_ALONGLINE_8"
}
GuidoPanel panel12 {
-layout FlowLayout Left 0 2
GuidoFiller f7 {
-width 0
-height 0.9
}
GuidoLabel label10 {
-label "Add this prefix before each name:"
}
}
GuidoField prefix {
-width 8
-default ""
-tip "FRM_ALONGLINE_9"
}
GuidoPanel panel13 {
-layout FlowLayout Left 0 2
GuidoFiller f8 {
-width 0
-height 0.9
}
GuidoLabel label11 {
-label "Add this suffix after each name:"
}
}
GuidoField suffix {
-width 8
-default ""
-tip "FRM_ALONGLINE_10"
}
GuidoFiller f9 {
-height 0.5
}
GuidoFiller f10 {
-height 0.5
}
GuidoPanel panel14 {
-layout FlowLayout Left 0 2
GuidoFiller f11 {
-width 0
-height 0.9
}
GuidoLabel label12 {
-label "Series name of the new sections:"
}
}
GuidoField series {
-width 8
-default "999"
-tip "FRM_PARALLELSECTIONS_6"
}
GuidoPanel panel15 {
-layout FlowLayout Left 0 2
GuidoFiller f12 {
-width 0
-height 0.9
}
GuidoLabel label13 {
-label "The first new section's sequence is:"
}
}
GuidoField sequence {
-width 8
-default "1"
-format integer
-low_bound 1
-max_length 16
-null false
-tip "FRM_PARALLELSECTIONS_7"
}
}
}
GuidoPanel panel16 {
-label "Dimensions"
GuidoPanel panel17 {
-layout BoxLayout Y_AXIS
GuidoLabel label14 {
-label "Set the plane dimensions."
}
GuidoPanel panel18 {
-border etched true
-label "From center to edge"
-width 26
-layout BoxLayout X_AXIS
GuidoPanel panel19 {
-layout CentreLineLayout
GuidoField left {
-label "Left:"
-display_length 8
-format double
-decimals 3
-max_length 16
-null false
-low_bound 0
-default "25.0"
-tip "FRM_ALONGLINE_11"
}
GuidoFiller f13 {
-width 0
-height 0.1
}
GuidoFiller f14 {
-width 0
-height 0.1
}
GuidoField right {
-label "Right:"
-display_length 8
-format double
-decimals 3
-max_length 16
-null false
-low_bound 0
-default "25.0"
-tip "FRM_ALONGLINE_12"
}
}
GuidoFiller f15 {
-width 1
}
GuidoPanel panel20 {
-layout CentreLineLayout
GuidoField top {
-label "Top:"
-display_length 8
-format double
-decimals 3
-max_length 16
-null false
-low_bound 0
-default "25.0"
-tip "FRM_ALONGLINE_13"
}
GuidoFiller f16 {
-width 0
-height 0.1
}
GuidoFiller f17 {
-width 0
-height 0.1
}
GuidoField bottom {
-label "Bottom:"
-display_length 8
-format double
-decimals 3
-max_length 16
-null false
-low_bound 0
-default "0"
-tip "FRM_ALONGLINE_14"
}
}
}
GuidoPanel panel21 {
-border etched true
-label "Offset type for top and bottom dimensions"
-layout BoxLayout Y_AXIS
-width 26
GuidoButtonGroupPanel offset_type {
-layout BoxLayout X_AXIS
GuidoRadioButton vertical {
-caption "Vertical distance"
-default true
-selected_value vertical
-tip "FRM_ALONGLINE_15"
}
GuidoRadioButton plan {
-caption "Distance on plane"
-selected_value plane
-tip "FRM_ALONGLINE_16"
}
}
}
GuidoPanel panel22 {
-border etched true
-label "Place the reference plane"
-width 26
-layout BoxLayout X_AXIS
GuidoComboBox reference_plane {
-value_in "in the middle of the plane corridor" "at the near end of the plane corridor" "at the far end of the plane corridor"
-null false
-exclusive true
-default "in the middle of the plane corridor"
-action valueChanged {[changeSpacing]}
-tip "FRM_PARALLELSECTIONS_9"
}
}
GuidoPanel panel23 {
-layout BoxLayout X_AXIS
-border etched true
-label "Plane corridor"
-width 26
GuidoLabel label15 {
-label "Away:"
}
GuidoField away {
-display_length 8
-format double
-decimals 3
-max_length 16
-null false
-low_bound 0.0
-dependency {"[$use_number getCurrentValue]" == "impossible"}
-default "25.0"
}
GuidoFiller f18 {
-width 1
}
GuidoLabel label16 {
-label "Towards:"
}
GuidoField towards {
-display_length 8
-format double
-decimals 3
-max_length 16
-null false
-low_bound 0.0
-dependency {"[$use_number getCurrentValue]" == "impossible"}
-default "25.0"
}
}
}
}
GuidoPanel panel24 {
-label "Angles and corners"
GuidoPanel panel25 {
-layout BoxLayout Y_AXIS
GuidoPanel panel26 {
-layout BoxLayout X_AXIS
-border etched true
-label "First new section"
-width 26
GuidoPanel panel27 {
-layout CentreLineLayout
GuidoPanel panel28 {
-layout FlowLayout Left 0 2
GuidoLabel label17 {
-label "Angle across line:"
}
GuidoFiller f19 {
-height 1
}
}
GuidoField angle_across_line {
-width 8
-default ""
-format decimal_angle
-high_bound 3.141592653
-low_bound 0.000001
-decimals 4
-max_length 16
-null false
-default 90.0000
-tip "FRM_ALONGLINE_17"
}
GuidoPanel panel29 {
-layout FlowLayout Left 0 1
GuidoCheckBox dump_section {
-action valueChanged {[changeSpacing]}
-action valueChanged {[planeTypeWarning]}
-tip "FRM_ALONGLINE_18"
}
GuidoLabel label18 {
-label "Incline-section dump angle:"
-action mouseClicked {[toggleDumpSection]}
}
}
GuidoField dump {
-width 8
-default ""
-dependency {"[$dump_section getCurrentValue]" == "true"}
-format decimal_angle
-high_bound 1.570796326
-low_bound -1.570796326
-decimals 4
-max_length 16
-null false
-default 0.0
-action valueChanged {[changeSpacing]}
-tip "Enter the dump of the first plane to be created."
}
}
}
GuidoPanel panel30 {
-layout FlowLayout right
GuidoButton parallel_to {
-caption "Parallel to..."
-action valueChanged {[parallel $dump $dump_section $angle_across_line [$start_offset getCurrentValue]]}
}
GuidoButton same_as {
-caption "Same as..."
-action valueChanged {[same $dump $dump_section $angle_across_line]}
}
}
GuidoPanel panel31 {
GuidoComboBox corner_rule {
-label "Corner rule:"
-value_in "Maintain parallel planes and thickness" "Maintain angle across line and dump"
-null false
-exclusive true
-default "Maintain parallel planes and thickness"
-action valueChanged {[changeIcon]}
-action valueChanged {[changeSpacing]}
-tip "FRM_ALONGLINE_19"
}
}
GuidoPanel panel32 {
-layout CentreLineLayout
-border etched true
-label "Subsequent new sections"
-width 26
GuidoPanel panel33 {
-layout FlowLayout Left 0 2
GuidoFiller f20 {
-width 0
-height 0.9
}
GuidoLabel label19 {
-label "Corner tolerance:"
}
}
GuidoField corner_tolerance {
-display_length 8
-format decimal_angle
-high_bound 6.283180459
-low_bound 0
-decimals 4
-max_length 16
-null false
-low_bound 0.0
-default 10.0
-tip "FRM_ALONGLINE_20"
}
GuidoPanel panel34 {
-layout FlowLayout Left 0 1
GuidoCheckBox increment_angle {
-dependency {"[$corner_rule getCurrentValue]" == "Maintain angle across line and dump"}
-tip "FRM_ALONGLINE_21"
}
GuidoLabel label20 {
-label "Angle-across-line increment:"
-dependency {"[$corner_rule getCurrentValue]" == "Maintain angle across line and dump"}
}
}
GuidoField angle_increment {
-width 8
-default ""
-dependency {"[$increment_angle getCurrentValue]" == "true" && "[$corner_rule getCurrentValue]" == "Maintain angle across line and dump"}
-format decimal_angle
-high_bound 6.283180459
-low_bound 0
-decimals 4
-max_length 16
-null false
-low_bound 0.0
-default 0.0
-tip "FRM_ALONGLINE_22"
}
GuidoPanel panel35 {
-layout FlowLayout Left 0 1
GuidoCheckBox increment_dump {
-dependency {"[$dump_section getCurrentValue]" == "true" && "[$corner_rule getCurrentValue]" == "Maintain angle across line and dump"}
-tip "FRM_ALONGLINE_23"
}
GuidoLabel label21 {
-label "Dump-angle increment:"
-dependency {"[$dump_section getCurrentValue]" == "true" && "[$corner_rule getCurrentValue]" == "Maintain angle across line and dump"}
}
}
GuidoField dump_increment {
-width 8
-default ""
-dependency {"[$increment_dump getCurrentValue]" == "true" && "[$corner_rule getCurrentValue]" == "Maintain angle across line and dump" && "[$dump_section getCurrentValue]" == "true" }
-format decimal_angle
-high_bound 6.283180459
-low_bound 0
-decimals 4
-max_length 16
-null false
-low_bound 0.0
-default 0.0
-tip "Enter the dump increment for successive sections."
}
}
}
}
}
GuidoPanel previewPanel {
-layout BorderLayout
GuidoButton preview_button {
-position East
-caption "Preview"
-width 6.9
-action valueChanged {[preview $left $right $top $bottom $spacing $series $sequence $prefix $suffix $start_name $name_increment $start_offset $end_offset $dump $dump_section $offset_type $angle_across_line $use_number $number $reference_plane $corner_rule $corner_tolerance $increment_angle $angle_increment $increment_dump $dump_increment]}
}
}
$plan setDependency {"[$dump_section getCurrentValue]" == "true"}
}
