Draft: Introduce 1-axis mode for ortho array (#21602)

* Draft: Introduce 1-axis mode for ortho array

As the title says - the 1 axis mode allows to switch between all of the
axises mode and allows to modify only 1 axis at the time that user can
select with the checkbox.

* Draft: Rename to Linear Mode and remove redundant comments

* Draft: Display only one interval for the selected axis

* Draft: Cache selected variables in user.cfg - axis mode, intervals, etc...

* Draft: Make sure the checkboxes in OrthoArray are exclusively selected

* Draft: Apply review comments

Changed a couple of things according to review:
* linear mode is now being used as default during first startup (it
  wasn't before)
* applied Roy's comments about coding style, etc.
* grouped everything into separate QGroupBox which is dedicated for
  Linear Mode and has it's own labels, although spinboxes are shared so
  during mode switch we reparent them now
* removed Orthogonal Array's icon
* in the QGroup applied naming suggested in the review, X Intervals ->
  interval, etc.
* changed to radio buttons since we want exclusivity in selection
This commit is contained in:
tetektoza
2025-06-09 17:33:51 +02:00
committed by GitHub
parent a38689b6fb
commit 29ca81b64f
3 changed files with 293 additions and 16 deletions

View File

@@ -506,6 +506,18 @@ def _get_param_dictionary():
"Wall": ("bool", False),
}
start_val = App.Units.Quantity(100.0, App.Units.Length).Value
param_dict["Mod/Draft/OrthoArrayLinearMode"] = {
"LinearModeOn": ("bool", True),
"AxisSelected": ("string", "X"),
"XInterval": ("float", start_val),
"YInterval": ("float", start_val),
"ZInterval": ("float", start_val),
"XNumOfElements": ("int", 2),
"YNumOfElements": ("int", 2),
"ZNumOfElements": ("int", 2)
}
# Arch parameters that are not in the preferences:
param_dict["Mod/Arch"] = {
"applyConstructionStyle": ("bool", True),