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 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()); }