Draft WorkingPlaneProxy: Difference between revisions

From FreeCAD Documentation
No edit summary
(Button text.)
 
(99 intermediate revisions by 7 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
<translate>
<translate>

<!--T:19-->
{{Docnav
|[[Draft_ToggleDisplayMode|ToggleDisplayMode]]
|[[Draft_ApplyStyle|ApplyStyle]]
|[[Draft_Workbench|Draft]]
|IconL=Draft_ToggleDisplayMode.svg
|IconR=Draft_ApplyStyle.svg
|IconC=Workbench_Draft.svg
}}


<!--T:1-->
<!--T:1-->
{{GuiCommand
{{GuiCommand|Name=Draft SetWorkingPlaneProxy|Workbenches=[[Draft Module|Draft]], [[Arch Module|Arch]]|MenuLocation=Draft → Utilities → Create WP Proxy|SeeAlso=[[Draft SelectPlane]]}}
|Name=Draft WorkingPlaneProxy
|MenuLocation=Utilities → Create working plane proxy
|Workbenches=[[Draft_Workbench|Draft]], [[Arch_Workbench|Arch]]
|SeeAlso=[[Draft_SelectPlane|Draft SelectPlane]]
}}

==Description== <!--T:22-->

<!--T:2-->
The [[Image:Draft_WorkingPlaneProxy.svg|24px]] '''Draft WorkingPlaneProxy''' command creates a working plane proxy to save the current [[Draft_SelectPlane|Draft working plane]]. A working plane proxy can be used to quickly restore a working plane. The camera position and visibility of the objects in the [[3D_view|3D view]] are also saved in the working plane proxy and can, [[#Properties|optionally]], be restored as well.


</translate>
</translate>
[[Image:Draft WPProxy example.png|400px]]
[[Image:Draft WPProxy example.png|400px]]
<translate>
<translate>
==Description== <!--T:2-->
<!--T:10-->
{{Caption|Three working plane proxies showing different orientations and offsets}}
This command will place a Proxy object in the document, placed and aligned to the current [[Draft SelectPlane|Working Plane]]. When using the [[Draft SelectPlane]] command with such a Proxy object selected, or by double-clicking it in the tree view, the working plane will be positioned and aligned back with the proxy object. The camera position and hidden/shown state of objects are also stored in the Proxy object, and can be restored if the corresponding properties are enabled (see below).


==How to use== <!--T:3-->
==Usage== <!--T:23-->
# Make sure the [[Draft SelectPlane|Working Plane]] is set as you want.
# Press Draft -> Utilities -> {{KEY|[[Image:Draft SetWorkingPlaneProxy.png|16px]] [[Draft SetWorkingPlaneProxy|Create WP Proxy]]}}


==Options== <!--T:4-->
<!--T:3-->
# Optionally change the [[Draft_SelectPlane|working plane]].
* WP proxies can be manipulated (moved and rotated) like any other FreeCAD object
# Optionally change the [[3D_view|3D view]].
* The size and appearance of the proxy object can be set in the View properties
# Optionally change the visibility state of objects in the document.
* The position of the camera is stored in the Proxy object upon creation. That position can be changed anytime by right-clicking the Proxy object, then select the "Write camera position" option to store the current camera position.
# There are several ways to invoke the command:
* The hidden/shown state of all the objects currently in the document is also stored in the Proxy object upon creation. That state can be updated anytime by right-clicking the Proxy object, then select the "Write objects state" option.
#* Press the {{Button|[[Image:Draft_WorkingPlaneProxy.svg|16px]] [[Draft_WorkingPlaneProxy|Create working plane proxy]]}} button.
* The Working Plane stored in the Proxy object can be restored by double-clicking the Proxy object in the tree view, or by using the [[Draft SelectPlane]] tool with the Proxy object selected.
#* Select the {{MenuCommand|Utilities → [[Image:Draft_WorkingPlaneProxy.svg|16px]] Create working plane proxy}} option from the menu.
* If the '''RestoreView''' property is set to True, the camera position will also be restored to the saved position on double-clicking the Proxy object or using [[Draft SelectPlane]]
# A working plane proxy is created.
* If the '''RestoreState''' property is set to True, the objects hidden/shown state will also be restored to the saved position on double-clicking the Proxy object or using [[Draft SelectPlane]]. If new objects have been added to the document after the state was stored in the Proxy object, the visibility of these new objects will be unchanged
# To align the [[Draft_SelectPlane|working plane]] with a working plane proxy, double-click the working plane proxy in the [[Tree_view|Tree view]] or use it with the [[Draft_SelectPlane|Draft SelectPlane]] command.

== Context menu == <!--T:24-->

<!--T:25-->
For a Draft WorkingPlaneProxy these additional options are available in the [[Tree_view|Tree view]] context menu:

<!--T:26-->
* {{MenuCommand|[[Image:Draft_SelectPlane.svg|16px]] Write camera position}}: updates the {{PropertyView|View Data}} property of the working plane proxy with the current [[3D_view|3D view]] camera settings.
* {{MenuCommand|[[Image:Draft_SelectPlane.svg|16px]] Write objects state}}: updates the {{PropertyView|Visibility Map}} property of the working plane proxy with the current visibility state of objects in the document.

==Notes== <!--T:27-->

<!--T:11-->
* Working plane proxies can be [[Draft_Move|moved]] and [[Draft_Rotate|rotated]] like any other object. Use [[Image:Draft_Snap_Center.svg|16px]] [[Draft_Snap_Center|Draft Snap Center]] to snap to their {{PropertyData|Placement}} point.


==Properties== <!--T:7-->
==Properties== <!--T:7-->

<!--T:28-->
See also: [[Property_editor|Property editor]].

<!--T:29-->
A Draft WorkingPlaneProxy object is derived from an [[App_FeaturePython|App FeaturePython]] object and inherits all its properties. It also has the following additional properties:

=== Data === <!--T:30-->

<!--T:31-->
{{TitleProperty|Base}}


<!--T:8-->
<!--T:8-->
* {{PropertyData|Placement}}: Stores the position of this Proxy and the corresponding Working Plane
* {{PropertyData|Placement|Placement}}: specifies the position of the working plane proxy in the [[3D_view|3D view]]. See [[Placement|Placement]].
* {{PropertyView|Display Size}}: The size of the Proxy object in the 3D view
* {{PropertyData|Shape|Shape|Hidden}}: specifies the shape of the working plane proxy.

* {{PropertyView|Arrow Size}}: The size of the arrows on the 3 axes
=== View === <!--T:32-->
* {{PropertyView|Restore View}}: If true, the camera position will be restored on activating (by double-click or [[Draft SelectPlane]]) this object

* {{PropertyView|Restore State}}: If true, the visibility state of all objects in the current document will be restored on activating (by double-click or [[Draft SelectPlane]]) this object
<!--T:34-->
{{TitleProperty|Base}}

<!--T:35-->
* {{PropertyView|Line Color|Color}}: specifies the color of all elements of the working plane proxy.
* {{PropertyView|Line Width|Float}}: specifies the line width of the axes and arrow symbols.
* {{PropertyView|Restore State|Bool}}: specifies if the {{PropertyView|Visibility Map}} is restored when the [[Draft_SelectPlane|working plane]] is aligned with the working plane proxy.
* {{PropertyView|Restore View|Bool}}: specifies if the {{PropertyView|View Data}} is restored when the [[Draft_SelectPlane|working plane]] is aligned with the working plane proxy.
* {{PropertyView|Transparency|Percent}}: specifies the transparency of the face of the working plane proxy.
* {{PropertyView|View Data|FloatList}}: specifies the camera position and settings.
* {{PropertyView|Visibility Map|Map|Hidden}}: specifies the visibility state of objects.

<!--T:36-->
{{TitleProperty|Draft}}

<!--T:12-->
* {{PropertyView|Arrow Size|Length}}: specifies the size of the arrow symbols displayed at the tip of the three axes.
* {{PropertyView|Display Size|Length}}: specifies the length and width of the working plane proxy.


==Scripting== <!--T:5-->
==Scripting== <!--T:5-->
Working plane proxy objects can easily be created in scripts and [[macros]]:


<!--T:6-->
<!--T:13-->
See also: [https://freecad.github.io/SourceDoc/ Autogenerated API documentation] and [[FreeCAD_Scripting_Basics|FreeCAD Scripting Basics]].
Example:

<!--T:14-->
To create a Draft WorkingPlaneProxy use the {{incode|make_workingplaneproxy}} method of the Draft module.

<!--T:15-->
If the [[Draft_Workbench|Draft Workbench]] is active the FreeCAD application object has a {{incode|DraftWorkingPlane}} property which stores the current working plane. The {{Incode|Placement}} from the {{Incode|getPlacement}} method of the {{incode|DraftWorkingPlane}} object can be used to create an aligned working plane proxy. The {{Incode|Placement}} of a working plane proxy in turn can be used to realign the working plane.

</translate>
</translate>
{{Code|code=
{{Code|code=
# This code only works if the Draft Workbench is active!
import FreeCAD,Draft

currentWP = FreeCAD.DraftWorkingPlane
import FreeCAD as App
Draft.makeWorkingPlaneProxy(currentWP.getPlacement())
import FreeCADGui as Gui
import Draft

doc = App.newDocument()

workplane = App.DraftWorkingPlane
place = workplane.getPlacement()

proxy = Draft.make_workingplaneproxy(place)
proxy.ViewObject.DisplaySize = 3000
proxy.ViewObject.ArrowSize = 200

axis2 = App.Vector(1, 1, 1)
point2 = App.Vector(3000, 0, 0)
place2 = App.Placement(point2, App.Rotation(axis2, 90))

proxy2 = Draft.make_workingplaneproxy(place2)
proxy2.ViewObject.DisplaySize = 3000
proxy2.ViewObject.ArrowSize = 200

workplane.setFromPlacement(proxy2.Placement, rebase=True)
Gui.Snapper.setGrid()

doc.recompute()
}}
}}
<translate>



{{clear}}
<!--T:18-->
{{Docnav
|[[Draft_ToggleDisplayMode|ToggleDisplayMode]]
|[[Draft_ApplyStyle|ApplyStyle]]
|[[Draft_Workbench|Draft]]
|IconL=Draft_ToggleDisplayMode.svg
|IconR=Draft_ApplyStyle.svg
|IconC=Workbench_Draft.svg
}}

</translate>
{{Draft Tools navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}

Latest revision as of 17:30, 3 December 2023

Draft WorkingPlaneProxy

Menu location
Utilities → Create working plane proxy
Workbenches
Draft, Arch
Default shortcut
None
Introduced in version
-
See also
Draft SelectPlane

Description

The Draft WorkingPlaneProxy command creates a working plane proxy to save the current Draft working plane. A working plane proxy can be used to quickly restore a working plane. The camera position and visibility of the objects in the 3D view are also saved in the working plane proxy and can, optionally, be restored as well.

Three working plane proxies showing different orientations and offsets

Usage

  1. Optionally change the working plane.
  2. Optionally change the 3D view.
  3. Optionally change the visibility state of objects in the document.
  4. There are several ways to invoke the command:
  5. A working plane proxy is created.
  6. To align the working plane with a working plane proxy, double-click the working plane proxy in the Tree view or use it with the Draft SelectPlane command.

Context menu

For a Draft WorkingPlaneProxy these additional options are available in the Tree view context menu:

  • Write camera position: updates the ViewView Data property of the working plane proxy with the current 3D view camera settings.
  • Write objects state: updates the ViewVisibility Map property of the working plane proxy with the current visibility state of objects in the document.

Notes

Properties

See also: Property editor.

A Draft WorkingPlaneProxy object is derived from an App FeaturePython object and inherits all its properties. It also has the following additional properties:

Data

Base

  • DataPlacement (Placement): specifies the position of the working plane proxy in the 3D view. See Placement.
  • Data (Hidden)Shape (Shape): specifies the shape of the working plane proxy.

View

Base

  • ViewLine Color (Color): specifies the color of all elements of the working plane proxy.
  • ViewLine Width (Float): specifies the line width of the axes and arrow symbols.
  • ViewRestore State (Bool): specifies if the ViewVisibility Map is restored when the working plane is aligned with the working plane proxy.
  • ViewRestore View (Bool): specifies if the ViewView Data is restored when the working plane is aligned with the working plane proxy.
  • ViewTransparency (Percent): specifies the transparency of the face of the working plane proxy.
  • ViewView Data (FloatList): specifies the camera position and settings.
  • View (Hidden)Visibility Map (Map): specifies the visibility state of objects.

Draft

  • ViewArrow Size (Length): specifies the size of the arrow symbols displayed at the tip of the three axes.
  • ViewDisplay Size (Length): specifies the length and width of the working plane proxy.

Scripting

See also: Autogenerated API documentation and FreeCAD Scripting Basics.

To create a Draft WorkingPlaneProxy use the make_workingplaneproxy method of the Draft module.

If the Draft Workbench is active the FreeCAD application object has a DraftWorkingPlane property which stores the current working plane. The Placement from the getPlacement method of the DraftWorkingPlane object can be used to create an aligned working plane proxy. The Placement of a working plane proxy in turn can be used to realign the working plane.

# This code only works if the Draft Workbench is active!

import FreeCAD as App
import FreeCADGui as Gui
import Draft

doc = App.newDocument()

workplane = App.DraftWorkingPlane
place = workplane.getPlacement()

proxy = Draft.make_workingplaneproxy(place)
proxy.ViewObject.DisplaySize = 3000
proxy.ViewObject.ArrowSize = 200

axis2 = App.Vector(1, 1, 1)
point2 = App.Vector(3000, 0, 0)
place2 = App.Placement(point2, App.Rotation(axis2, 90))

proxy2 = Draft.make_workingplaneproxy(place2)
proxy2.ViewObject.DisplaySize = 3000
proxy2.ViewObject.ArrowSize = 200

workplane.setFromPlacement(proxy2.Placement, rebase=True)
Gui.Snapper.setGrid()

doc.recompute()