- Panelize Tool - add a new option for the panels of type Geometry named Path Optimiztion. If the checkbox is checked then all the LineStrings that are overlapped in the resulting multigeo Geometry panel object will keep only one of the paths thus minimizing the tool cuts.
This commit is contained in:
@@ -437,6 +437,7 @@ class PreferencesUIManager:
|
||||
"tools_panelize_spacing_rows": self.ui.tools_defaults_form.tools_panelize_group.pspacing_rows,
|
||||
"tools_panelize_columns": self.ui.tools_defaults_form.tools_panelize_group.pcolumns,
|
||||
"tools_panelize_rows": self.ui.tools_defaults_form.tools_panelize_group.prows,
|
||||
"tools_panelize_optimization": self.ui.tools_defaults_form.tools_panelize_group.poptimization_cb,
|
||||
"tools_panelize_constrain": self.ui.tools_defaults_form.tools_panelize_group.pconstrain_cb,
|
||||
"tools_panelize_constrainx": self.ui.tools_defaults_form.tools_panelize_group.px_width_entry,
|
||||
"tools_panelize_constrainy": self.ui.tools_defaults_form.tools_panelize_group.py_height_entry,
|
||||
|
||||
@@ -106,6 +106,16 @@ class ToolsPanelizePrefGroupUI(OptionsGroupUI):
|
||||
grid0.addWidget(self.panel_type_label, 4, 0)
|
||||
grid0.addWidget(self.panel_type_radio, 4, 1)
|
||||
|
||||
# Path optimization
|
||||
self.poptimization_cb = FCCheckBox('%s' % _("Path Optimization"))
|
||||
self.poptimization_cb.setToolTip(
|
||||
_("Active only for Geometry panel type.\n"
|
||||
"When checked the application will find\n"
|
||||
"any two overlapping Line elements in the panel\n"
|
||||
"and remove the overlapping parts, keeping only one of them.")
|
||||
)
|
||||
grid0.addWidget(self.poptimization_cb, 5, 0, 1, 2)
|
||||
|
||||
# ## Constrains
|
||||
self.pconstrain_cb = FCCheckBox('%s:' % _("Constrain within"))
|
||||
self.pconstrain_cb.setToolTip(
|
||||
@@ -115,7 +125,7 @@ class ToolsPanelizePrefGroupUI(OptionsGroupUI):
|
||||
"the final panel will have as many columns and rows as\n"
|
||||
"they fit completely within selected area.")
|
||||
)
|
||||
grid0.addWidget(self.pconstrain_cb, 5, 0, 1, 2)
|
||||
grid0.addWidget(self.pconstrain_cb, 10, 0, 1, 2)
|
||||
|
||||
self.px_width_entry = FCDoubleSpinner()
|
||||
self.px_width_entry.set_range(0.000001, 9999.9999)
|
||||
@@ -127,8 +137,8 @@ class ToolsPanelizePrefGroupUI(OptionsGroupUI):
|
||||
_("The width (DX) within which the panel must fit.\n"
|
||||
"In current units.")
|
||||
)
|
||||
grid0.addWidget(self.x_width_lbl, 6, 0)
|
||||
grid0.addWidget(self.px_width_entry, 6, 1)
|
||||
grid0.addWidget(self.x_width_lbl, 12, 0)
|
||||
grid0.addWidget(self.px_width_entry, 12, 1)
|
||||
|
||||
self.py_height_entry = FCDoubleSpinner()
|
||||
self.py_height_entry.set_range(0.000001, 9999.9999)
|
||||
@@ -140,7 +150,7 @@ class ToolsPanelizePrefGroupUI(OptionsGroupUI):
|
||||
_("The height (DY)within which the panel must fit.\n"
|
||||
"In current units.")
|
||||
)
|
||||
grid0.addWidget(self.y_height_lbl, 7, 0)
|
||||
grid0.addWidget(self.py_height_entry, 7, 1)
|
||||
grid0.addWidget(self.y_height_lbl, 17, 0)
|
||||
grid0.addWidget(self.py_height_entry, 17, 1)
|
||||
|
||||
self.layout.addStretch()
|
||||
|
||||
Reference in New Issue
Block a user