diff --git a/src/Mod/Draft/Resources/Draft.qrc b/src/Mod/Draft/Resources/Draft.qrc
index ec7219db5c..fc9da4a2e6 100644
--- a/src/Mod/Draft/Resources/Draft.qrc
+++ b/src/Mod/Draft/Resources/Draft.qrc
@@ -55,6 +55,7 @@
icons/Draft_Offset.svg
icons/Draft_PathArray.svg
icons/Draft_PathLinkArray.svg
+ icons/Draft_PlaneProxy.svg
icons/Draft_Point.svg
icons/Draft_PointArray.svg
icons/Draft_PolarArray.svg
diff --git a/src/Mod/Draft/Resources/icons/Draft_PlaneProxy.svg b/src/Mod/Draft/Resources/icons/Draft_PlaneProxy.svg
new file mode 100644
index 0000000000..129e3a3658
--- /dev/null
+++ b/src/Mod/Draft/Resources/icons/Draft_PlaneProxy.svg
@@ -0,0 +1,436 @@
+
+
diff --git a/src/Mod/Draft/draftguitools/gui_selectplane.py b/src/Mod/Draft/draftguitools/gui_selectplane.py
index ccd7f122b2..fb9ca62319 100644
--- a/src/Mod/Draft/draftguitools/gui_selectplane.py
+++ b/src/Mod/Draft/draftguitools/gui_selectplane.py
@@ -494,14 +494,18 @@ class Draft_SelectPlane:
FreeCADGui.doCommandGui("FreeCADGui.Snapper.setGrid()")
-class Draft_SetWorkingPlaneProxy:
- """The Draft_SetWorkingPlaneProxy FreeCAD command definition."""
+class Draft_WorkingPlaneProxy:
+ """The Draft_WorkingPlaneProxy command definition."""
def GetResources(self):
"""Set icon, menu and tooltip."""
- _menu = "Create Working Plane Proxy"
- _tip = "Creates a proxy object from the current working plane"
- d = {'Pixmap': 'Draft_SelectPlane',
+ _menu = "Create working plane proxy"
+ _tip = ("Creates a proxy object from the current working plane.\n"
+ "Once the object is created double click it in the tree view "
+ "to restore the camera position and objects' visibilities.\n"
+ "Then you can use it to save a different camera position "
+ "and objects' states any time you need.")
+ d = {'Pixmap': 'Draft_PlaneProxy',
'MenuText': QT_TRANSLATE_NOOP("Draft_SetWorkingPlaneProxy",
_menu),
'ToolTip': QT_TRANSLATE_NOOP("Draft_SetWorkingPlaneProxy",
@@ -524,10 +528,10 @@ class Draft_SetWorkingPlaneProxy:
_cmd += "FreeCAD.DraftWorkingPlane.getPlacement()"
_cmd += ")"
FreeCADGui.doCommand(_cmd)
- FreeCAD.ActiveDocument.recompute()
FreeCAD.ActiveDocument.commitTransaction()
+ FreeCAD.ActiveDocument.recompute()
FreeCADGui.addCommand('Draft_SelectPlane', Draft_SelectPlane())
-FreeCADGui.addCommand('Draft_SetWorkingPlaneProxy',
- Draft_SetWorkingPlaneProxy())
+FreeCADGui.addCommand('Draft_WorkingPlaneProxy',
+ Draft_WorkingPlaneProxy())
diff --git a/src/Mod/Draft/draftutils/init_tools.py b/src/Mod/Draft/draftutils/init_tools.py
index 44c5cc1b08..d9e71c7578 100644
--- a/src/Mod/Draft/draftutils/init_tools.py
+++ b/src/Mod/Draft/draftutils/init_tools.py
@@ -74,7 +74,8 @@ def get_draft_modification_commands():
"Separator",
"Draft_WireToBSpline", "Draft_Draft2Sketch",
"Separator",
- "Draft_Shape2DView", "Draft_Drawing"]
+ "Draft_Shape2DView", "Draft_Drawing",
+ "Draft_WorkingPlaneProxy"]
return lst
@@ -97,7 +98,7 @@ def get_draft_utility_commands():
return ["Draft_Layer", "Draft_Heal", "Draft_FlipDimension",
"Draft_ToggleConstructionMode",
"Draft_ToggleContinueMode", "Draft_Edit",
- "Draft_Slope", "Draft_SetWorkingPlaneProxy",
+ "Draft_Slope", "Draft_WorkingPlaneProxy",
"Draft_AddConstruction"]