From 599d82488d4de8c6544812812c847de867034356 Mon Sep 17 00:00:00 2001 From: captain0xff Date: Wed, 3 Sep 2025 00:27:17 +0530 Subject: [PATCH 1/2] PartDesign: fix the draggers for pad type and hole --- src/Mod/PartDesign/Gui/TaskExtrudeParameters.cpp | 10 ++++++++-- src/Mod/PartDesign/Gui/TaskHoleParameters.cpp | 2 ++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Mod/PartDesign/Gui/TaskExtrudeParameters.cpp b/src/Mod/PartDesign/Gui/TaskExtrudeParameters.cpp index ed5804c569..00a407a201 100644 --- a/src/Mod/PartDesign/Gui/TaskExtrudeParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskExtrudeParameters.cpp @@ -334,11 +334,13 @@ void TaskExtrudeParameters::connectSlots() void TaskExtrudeParameters::onModeChanged_Side1(int index) { onModeChanged(index, Side::First); + setGizmoPositions(); } void TaskExtrudeParameters::onModeChanged_Side2(int index) { onModeChanged(index, Side::Second); + setGizmoPositions(); } void TaskExtrudeParameters::onSelectShapeFacesToggle(bool checked, Side side) @@ -1391,17 +1393,21 @@ void TaskExtrudeParameters::setGizmoPositions() PartDesign::TopoShape shape = extrude->getProfileShape(); Base::Vector3d center = getMidPointFromProfile(shape); std::string sideType = std::string(extrude->SideType.getValueAsString()); + std::string extrudeType = std::string(extrude->Type.getValueAsString()); + std::string extrudeType2 = std::string(extrude->Type2.getValueAsString()); double dir = extrude->Reversed.getValue()? -1 : 1; lengthGizmo1->Gizmo::setDraggerPlacement(center, extrude->Direction.getValue() * dir); + lengthGizmo1->setVisibility(extrudeType == "Length"); taperAngleGizmo1->placeOverLinearGizmo(lengthGizmo1); + taperAngleGizmo1->setVisibility(extrudeType == "Length"); lengthGizmo2->Gizmo::setDraggerPlacement(center, -extrude->Direction.getValue() * dir); lengthGizmo2->setVisibility( - sideType == "Two sides" + sideType == "Two sides" && extrudeType2 == "Length" ); taperAngleGizmo2->placeOverLinearGizmo(lengthGizmo2); taperAngleGizmo2->setVisibility( - sideType == "Two sides" + sideType == "Two sides" && extrudeType2 == "Length" ); Base::Vector3d padDir = extrude->Direction.getValue().Normalized(); diff --git a/src/Mod/PartDesign/Gui/TaskHoleParameters.cpp b/src/Mod/PartDesign/Gui/TaskHoleParameters.cpp index 0fb44a8267..1093cabe0e 100644 --- a/src/Mod/PartDesign/Gui/TaskHoleParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskHoleParameters.cpp @@ -1250,6 +1250,8 @@ void TaskHoleParameters::setGizmoPositions() holeDepthGizmo->setVisibility( std::string(hole->DepthType.getValueAsString()) == "Dimension" ); + + holeDepthGizmo->setDragLength(ui->Depth->rawValue()); } From 6057e4a7adc4c31ef1ddaeed2b8f054a30bceee5 Mon Sep 17 00:00:00 2001 From: captain0xff Date: Wed, 3 Sep 2025 01:00:46 +0530 Subject: [PATCH 2/2] Gui: remove duplicated checkbox --- src/Mod/Part/Gui/DlgSettingsGeneral.ui | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/src/Mod/Part/Gui/DlgSettingsGeneral.ui b/src/Mod/Part/Gui/DlgSettingsGeneral.ui index 90d019a585..06eb6e6cbf 100644 --- a/src/Mod/Part/Gui/DlgSettingsGeneral.ui +++ b/src/Mod/Part/Gui/DlgSettingsGeneral.ui @@ -7,7 +7,7 @@ 0 0 550 - 552 + 586 @@ -270,23 +270,10 @@ - - - - Allow multiple solids in Part Design bodies by default - - - AllowCompoundDefault - - - Mod/PartDesign - - - - Show interactive draggers during Part Design tasks + Show interactive draggers when editing features true