Draft SelectPlane: Difference between revisions

From FreeCAD Documentation
(Corrected link in the word "note".)
(Marked this version for translation)
(44 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<languages/>
<translate>
<translate>
<!--T:24-->
{{Docnav
|[[Draft_Stretch|Stretch]]
|[[Draft_FinishLine|Finish line]]
|[[Draft_Module|Draft]]
|IconL=Draft_Stretch.svg
|IconC=Workbench_Draft.svg
|IconR=Draft_FinishLine.svg
}}

<!--T:1-->
<!--T:1-->
{{GuiCommand
{{GuiCommand|Name=Draft SelectPlane|Workbenches=[[Draft Module|Draft]], [[Arch Module|Arch]]|MenuLocation=Draft → Utilities → Select Plane|Shortcut=W P|SeeAlso=[[Draft SetWorkingPlaneProxy]]}}
|Name=Draft SelectPlane
|MenuLocation=Draft → Utilities → Select Plane
|Workbenches=[[Draft Module|Draft]], [[Arch Module|Arch]]
|Shortcut={{KEY|W}} {{KEY|P}}
|SeeAlso=[[Draft SetWorkingPlaneProxy|Draft SetWorkingPlaneProxy]], [[Draft ToggleGrid|Draft ToggleGrid]]
}}

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


==Description== <!--T:2-->
<!--T:2-->
The Draft module features a working plane system, that allows you to specify a custom plane in the 3D space on which next Draft command will occur. There are several methods to define the working plane:
The [[Image:Workbench_Draft.svg|24px]] [[Draft Module|Draft Workbench]] features a working plane system. A plane in the [[3D view]] indicates where a Draft shape will be built. There are several methods to define the working plane:
* From a selected face
* From a selected face.
* From 3 selected vertices
* From three selected vertices.
* From the current view
* From the current view.
* From a preset: top, frontal or lateral
* From a preset: top, front, or side.
* None, in which case the working plane is adapted automatically to the current view when you start a command, or to a face if you start drawing on an existing face.
* None, in which case the working plane is adapted automatically to the current view when you start a command, or to a face if you start drawing on an existing face.


</translate>
<!--T:3-->
[[Image:Workingplane_example.jpg|400px]]
[[Image:WorkingPlane_example.png|400px]]
<translate>
<!--T:12-->
{{Caption|Different working planes can be set on which to draw shapes}}


==How to use== <!--T:4-->
==Usage== <!--T:4-->
# Press the {{KEY|[[Image:Draft SelectPlane.png|16px]] [[Draft SelectPlane|SelectPlane]]}} button. If your button doesn't look like this, see this [[Basic_modeling_tutorial#Note_on_Draft_Working_Plane_Button|note]].


==Options== <!--T:5-->
<!--T:13-->
The {{Button|[[Image:Draft SelectPlane.svg|16px]] [[Draft SelectPlane|SelectPlane]]}} button is present in the [[Draft Tray|Draft Tray]] toolbar, which only appears in the [[Draft Module|Draft]] and [[Arch Module|Arch]] workbenches.
* To set the workplane to existing geometry: select a face of an existing object in the 3D view, or, {{Version|0.17}}, with CTRL pressed, 3 vertices on any object(s). Then press the {{KEY|[[Image:Draft SelectPlane.png|16px]] [[Draft SelectPlane|SelectPlane]]}} button

* Pressing the {{KEY|'''VIEW'''}} button will set the working plane as the view plane, perpendicular to the camera axis and passing through the (0,0,0) origin point.
=== Without element selected === <!--T:14-->
* Pressing the {{KEY|'''AUTO'''}} will unset any current working plane. The next 2D operations will be view-dependent.

* You can also specify an offset value, which will set your working plane at a certain distance from the plane you select.
<!--T:15-->
* You can hide and show the grid with the shortcut {{KEY|'''G'''}}{{KEY|'''R'''}}
# Press the {{Button|[[Image:Draft_SelectPlane.svg|16px]] [[Draft SelectPlane|SelectPlane]]}} button, or use {{KEY|Draft}} → {{KEY|Utilities}} → {{KEY|[[Image:Draft_SelectPlane.svg|16px]] [[Draft SelectPlane|SelectPlane]]}} from the top menu, or the keyboard shortcut {{KEY|W}} then {{KEY|P}}
# Select the offset, the grid spacing, and the main lines
# Select one of the presets: {{Button|[[Image:View-top.svg|16px]] XY (top)}}, {{Button|[[Image:View-front.svg|16px]] XZ (front)}}, {{Button|[[Image:View-right.svg|16px]] YZ (side)}}, {{Button|[[Image:View-isometric.svg|16px]] View}}, or {{Button|[[Image:View-axonometric.svg|16px]] Auto}}.

<!--T:16-->
Once the plane is set, the button will change to indicate the active plane {{Button|[[Image:Draft_SelectPlane.svg|16px]] Top}}, {{Button|[[Image:Draft SelectPlane.svg|16px]] Front}}, {{Button|[[Image:Draft SelectPlane.svg|16px]] Side}}, {{Button|[[Image:Draft_SelectPlane.svg|16px]] Auto}}, {{Button|[[Image:Draft SelectPlane.svg|16px]] d(0.0,-1.0,0.0)}}.

<!--T:17-->
You can show and hide the grid with the shortcut {{KEY|G}} {{KEY|R}}.

=== With element selected === <!--T:18-->

<!--T:19-->
# Select a face of an existing object in the [[3D view]], or hold {{KEY|Ctrl}} and select three vertices of any object. {{Version|0.17}}
# Press the {{Button|[[Image:Draft SelectPlane.svg|16px]] [[Draft SelectPlane|SelectPlane]]}} button, or right click and select {{MenuCommand|Utilities → [[Image:Draft SelectPlane.svg|16px]] [[Draft SelectPlane|SelectPlane]]}}.

<!--T:20-->
The plane will be created aligned to the face of the object, or to the plane defined by the three vertices.

==Options== <!--T:28-->

<!--T:5-->
* Press the {{Button|[[Image:View-top.svg|16px]] XY (top)}} button to set the working plane on the XY plane. To easily draw on this plane, you should set the view to the top or bottom (the normal is in the positive or negative Z direction). Press {{KEY|2}} or {{KEY|5}} to quickly switch to these views.
* Press the {{Button|[[Image:View-front.svg|16px]] XZ (front)}} button to set the working plane on the XZ plane. To easily draw on this plane, you should set the view to the front or rear (the normal is in the negative or positive Y direction). Press {{KEY|1}} or {{KEY|4}} to quickly switch to these views.
* Press the {{Button|[[Image:View-right.svg|16px]] YZ (side)}} button to set the working plane on the YZ plane. To easily draw on this plane, you should set the view to the left or right side (the normal is in the positive or negative X direction). Press {{KEY|3}} or {{KEY|6}} to quickly switch to these views.
* Press the {{Button|[[Image:View-isometric.svg|16px]] View}} button to set the working plane to the current 3D view, perpendicular to the camera axis and passing through the origin (0,0,0).
* Press the {{Button|[[Image:View-axonometric.svg|16px]] Auto}} button to unset any current working plane, and automatically set a working plane when a tool is used. When a drawing tool is selected the grid will be automatically updated to the current view; then, if the view is rotated, and another tool is selected, the grid redraws in the new view. This is equivalent of pressing {{Button|[[Image:View-isometric.svg|16px]] View}} automatically before using a tool.
* Set the "Offset" value to set the working plane at a certain perpendicular distance from the plane you selected.
* Set the "Grid spacing" value to define the space between each line in the grid.
* Set the "Main line every" value to draw a slightly thicker line in the grid at the set value. For example, if the grid spacing is 0.5 m, and there is a main line every 20 lines, there will be slightly thicker line every 10 m.
* Click on the "Center plane on view" checkbox to draw the plane and grid closer to the camera view in the 3D view.
* Press {{KEY|Esc}} or the {{button|Close}} button to abort the current command.


==Scripting== <!--T:6-->
==Scripting== <!--T:6-->
{{emphasis|See also:}} [[Draft API|Draft API]] and [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]]. See the [http://www.freecadweb.org/api/DraftWorkingPlane.html WorkingPlane API].
Working plane objects can easily be created and manipulated in scripts and [[macros]]. You can create your own, and use them independently of the current Draft working plane.

<!--T:21-->
Working plane objects can easily be created and manipulated in [[macros|macros]] and from the [[Python|Python]] console.

<!--T:8-->
You can access the current Draft working plane, and apply transformations to it:


<!--T:7-->
Example:
</translate>
</translate>
{{Code|code=
{{Code|code=
import WorkingPlane
import FreeCAD as App
import FreeCADGui as Gui
myPlane = WorkingPlane.plane()

workplane = App.DraftWorkingPlane

v1 = App.Vector(0, 0, 0)
v2 = App.Vector(1, 1, 1).normalize()

workplane.alignToPointAndAxis(v1, v2, 17)
Gui.Snapper.toggleGrid()
Gui.Snapper.toggleGrid()
}}
}}
<translate>
<translate>


<!--T:8-->
<!--T:22-->
A Draft command must be issued after changing the working plane to update the visible grid, for example, [[Draft_Line|Line]], or just [[Draft_ToggleGrid|ToggleGrid]].
You can also access the current Draft working plane:

<!--T:7-->
You can create your own planes, and use them independently of the current working plane. This is useful if you need to make calculations or projections in these other planes.

</translate>
</translate>
{{Code|code=
{{Code|code=
import FreeCAD
import WorkingPlane

draftPlane = FreeCAD.DraftWorkingPlane
my_plane = WorkingPlane.plane()

v1 = App.Vector(0, 0, 0)
v2 = App.Vector(1, 1, 1).normalize()
my_plane.alignToPointAndAxis(v1, v2, 17)

projection = my_plane.projectPoint(App.Vector(10, 15, 2))
print(projection)
}}
}}
<translate>
<translate>


<!--T:9-->
<!--T:29-->
To display a new grid use a new tracker object. First set up the normal working plane as you need, then create a new tracker object, then set it to the current plane, and then you can turn it on or off.
To move or rotate the Draft working plane (see the [http://www.freecadweb.org/api/DraftWorkingPlane.html WorkingPlane API] page for available methods):
</translate>
</translate>
{{Code|code=
{{Code|code=
import FreeCAD
import FreeCAD as App
from FreeCAD import Vector
import DraftTrackers

FreeCAD.DraftWorkingPlane.alignToPointAndAxis(Vector(0,0,0), Vector(1,1,1).normalize(), 17)
App.DraftWorkingPlane.alignToPointAndAxis(App.Vector(0, 0, 0),
App.Vector(1, 0, 0),
0)

my_grid = DraftTrackers.gridTracker()
my_grid.set()
my_grid.on()
my_grid.off()
}}
}}
<translate>
<translate>
<!--T:11-->
(note: a Draft command must have been issued to make grid adopt changes)


<!--T:10-->
<!--T:30-->
This grid is merely a visual aid and doesn't allow snapping.
The working plane has a complete [http://www.freecadweb.org/api/DraftWorkingPlane.html scripting API] on its own, with convenience functions to position it and convert to/from placements.

<!--T:31-->
To have the possibility of switching quickly to different grids, in different positions, you should create a {{Button|[[File:Draft_SetWorkingPlaneProxy.svg|16px]] [[Draft_SetWorkingPlaneProxy|Working plane proxy]]}}.

<!--T:23-->
{{Docnav
|[[Draft_Stretch|Stretch]]
|[[Draft_FinishLine|Finish line]]
|[[Draft_Module|Draft]]
|IconL=Draft_Stretch.svg
|IconC=Workbench_Draft.svg
|IconR=Draft_FinishLine.svg
}}


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

Revision as of 22:37, 18 March 2020

Draft SelectPlane

Menu location
Draft → Utilities → Select Plane
Workbenches
Draft, Arch
Default shortcut
W P
Introduced in version
-
See also
Draft SetWorkingPlaneProxy, Draft ToggleGrid

Description

The Draft Workbench features a working plane system. A plane in the 3D view indicates where a Draft shape will be built. There are several methods to define the working plane:

  • From a selected face.
  • From three selected vertices.
  • From the current view.
  • From a preset: top, front, or side.
  • None, in which case the working plane is adapted automatically to the current view when you start a command, or to a face if you start drawing on an existing face.

Different working planes can be set on which to draw shapes

Usage

The SelectPlane button is present in the Draft Tray toolbar, which only appears in the Draft and Arch workbenches.

Without element selected

  1. Press the SelectPlane button, or use DraftUtilities SelectPlane from the top menu, or the keyboard shortcut W then P
  2. Select the offset, the grid spacing, and the main lines
  3. Select one of the presets: XY (top), XZ (front), YZ (side), View, or Auto.

Once the plane is set, the button will change to indicate the active plane Top, Front, Side, Auto, d(0.0,-1.0,0.0).

You can show and hide the grid with the shortcut G R.

With element selected

  1. Select a face of an existing object in the 3D view, or hold Ctrl and select three vertices of any object. introduced in version 0.17
  2. Press the SelectPlane button, or right click and select Utilities → SelectPlane.

The plane will be created aligned to the face of the object, or to the plane defined by the three vertices.

Options

  • Press the XY (top) button to set the working plane on the XY plane. To easily draw on this plane, you should set the view to the top or bottom (the normal is in the positive or negative Z direction). Press 2 or 5 to quickly switch to these views.
  • Press the XZ (front) button to set the working plane on the XZ plane. To easily draw on this plane, you should set the view to the front or rear (the normal is in the negative or positive Y direction). Press 1 or 4 to quickly switch to these views.
  • Press the YZ (side) button to set the working plane on the YZ plane. To easily draw on this plane, you should set the view to the left or right side (the normal is in the positive or negative X direction). Press 3 or 6 to quickly switch to these views.
  • Press the View button to set the working plane to the current 3D view, perpendicular to the camera axis and passing through the origin (0,0,0).
  • Press the Auto button to unset any current working plane, and automatically set a working plane when a tool is used. When a drawing tool is selected the grid will be automatically updated to the current view; then, if the view is rotated, and another tool is selected, the grid redraws in the new view. This is equivalent of pressing View automatically before using a tool.
  • Set the "Offset" value to set the working plane at a certain perpendicular distance from the plane you selected.
  • Set the "Grid spacing" value to define the space between each line in the grid.
  • Set the "Main line every" value to draw a slightly thicker line in the grid at the set value. For example, if the grid spacing is 0.5 m, and there is a main line every 20 lines, there will be slightly thicker line every 10 m.
  • Click on the "Center plane on view" checkbox to draw the plane and grid closer to the camera view in the 3D view.
  • Press Esc or the Close button to abort the current command.

Scripting

See also: Draft API and FreeCAD Scripting Basics. See the WorkingPlane API.

Working plane objects can easily be created and manipulated in macros and from the Python console.

You can access the current Draft working plane, and apply transformations to it:

import FreeCAD as App
import FreeCADGui as Gui

workplane = App.DraftWorkingPlane

v1 = App.Vector(0, 0, 0)
v2 = App.Vector(1, 1, 1).normalize()

workplane.alignToPointAndAxis(v1, v2, 17)
Gui.Snapper.toggleGrid()
Gui.Snapper.toggleGrid()

A Draft command must be issued after changing the working plane to update the visible grid, for example, Line, or just ToggleGrid.

You can create your own planes, and use them independently of the current working plane. This is useful if you need to make calculations or projections in these other planes.

import WorkingPlane

my_plane = WorkingPlane.plane()

v1 = App.Vector(0, 0, 0)
v2 = App.Vector(1, 1, 1).normalize()
my_plane.alignToPointAndAxis(v1, v2, 17)

projection = my_plane.projectPoint(App.Vector(10, 15, 2))
print(projection)

To display a new grid use a new tracker object. First set up the normal working plane as you need, then create a new tracker object, then set it to the current plane, and then you can turn it on or off.

import FreeCAD as App
import DraftTrackers

App.DraftWorkingPlane.alignToPointAndAxis(App.Vector(0, 0, 0),
                                          App.Vector(1, 0, 0),
                                          0)

my_grid = DraftTrackers.gridTracker()
my_grid.set()
my_grid.on()
my_grid.off()

This grid is merely a visual aid and doesn't allow snapping.

To have the possibility of switching quickly to different grids, in different positions, you should create a Working plane proxy.