Draft SelectPlane/sv: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
Line 23: Line 23:


{{Version|0.22}}: For each 3D view a separate working plane is stored.
{{Version|0.22}}: For each 3D view a separate working plane is stored.

The {{Button|[[Image:Draft_SelectPlane.svg|16px]] [[Draft_SelectPlane|Draft SelectPlane]]}} button in the [[Draft_Tray|Draft Tray]] changes depending on the current working plane. {{Version|0.22}}: If the working plane is not set to {{MenuCommand|Auto}} an asterisk ({{MenuCommand|*}}) is appended to the button label if the origin of the working plane does not match the global origin.


[[Image:WorkingPlane_example.png|400px]]
[[Image:WorkingPlane_example.png|400px]]
Line 45: Line 47:
#** An edge and a vertex, or two edges. The combined vertices must define a plane. ({{Version|0.22}})
#** An edge and a vertex, or two edges. The combined vertices must define a plane. ({{Version|0.22}})
# There are several ways to invoke the command:
# There are several ways to invoke the command:
#* Press the {{Button|[[Image:Draft_SelectPlane.svg|16px]] [[Draft_SelectPlane|Draft SelectPlane]]}} button in the [[Draft_Tray|Draft Tray]]. Depending on the current working plane this button can look different.
#* Press the {{Button|[[Image:Draft_SelectPlane.svg|16px]] [[Draft_SelectPlane|Draft SelectPlane]]}} button in the [[Draft_Tray|Draft Tray]].
#* Select the {{MenuCommand|Utilities → [[Image:Draft_SelectPlane.svg|16px]] Select Plane}} option from the menu.
#* Select the {{MenuCommand|Utilities → [[Image:Draft_SelectPlane.svg|16px]] Select Plane}} option from the menu.
#* Use the keyboard shortcut: {{KEY|W}} then {{KEY|P}}.
#* Use the keyboard shortcut: {{KEY|W}} then {{KEY|P}}.
Line 53: Line 55:


# There are several ways to invoke the command:
# There are several ways to invoke the command:
#* Press the {{Button|[[Image:Draft_SelectPlane.svg|16px]] [[Draft_SelectPlane|Draft SelectPlane]]}} button in the [[Draft_Tray|Draft Tray]]. Depending on the current working plane this button can look different.
#* Press the {{Button|[[Image:Draft_SelectPlane.svg|16px]] [[Draft_SelectPlane|Draft SelectPlane]]}} button in the [[Draft_Tray|Draft Tray]].
#* Select the {{MenuCommand|Utilities → [[Image:Draft_SelectPlane.svg|16px]] Select Plane}} option from the menu.
#* Select the {{MenuCommand|Utilities → [[Image:Draft_SelectPlane.svg|16px]] Select Plane}} option from the menu.
#* Use the keyboard shortcut: {{KEY|W}} then {{KEY|P}}.
#* Use the keyboard shortcut: {{KEY|W}} then {{KEY|P}}.
# The {{MenuCommand|Working plane setup}} task panel opens. See [[#Options|Options]] for more information.
# The {{MenuCommand|Working plane setup}} task panel opens. See [[#Options|Options]] for more information.
# Do one of the following:
# Do one of the following:
#* Select a single object. See the [[#Usage_with_pre-selection|previous paragraph]] for the supported objects.
#* Select a single object. See the [[#Usage_with_pre-selection|previous paragraph]].
#* Select one or more subelements. You can select:
#* Select one or more subelements. See the [[#Usage_with_pre-selection|previous paragraph]].
#** A flat face.
#** Three vertices.
# Click anywhere in the [[3D_view|3D view]] to confirm the selection and finish the command.
# Click anywhere in the [[3D_view|3D view]] to confirm the selection and finish the command.
# The working plane and the button in the [[Draft_Tray|Draft Tray]] are updated.
# The working plane and the button in the [[Draft_Tray|Draft Tray]] are updated.
Line 68: Line 68:


# There are several ways to invoke the command:
# There are several ways to invoke the command:
#* Press the {{Button|[[Image:Draft_SelectPlane.svg|16px]] [[Draft_SelectPlane|Draft SelectPlane]]}} button in the [[Draft_Tray|Draft Tray]]. Depending on the current working plane this button can look different.
#* Press the {{Button|[[Image:Draft_SelectPlane.svg|16px]] [[Draft_SelectPlane|Draft SelectPlane]]}} button in the [[Draft_Tray|Draft Tray]].
#* Select the {{MenuCommand|Utilities → [[Image:Draft_SelectPlane.svg|16px]] Select Plane}} option from the menu.
#* Select the {{MenuCommand|Utilities → [[Image:Draft_SelectPlane.svg|16px]] Select Plane}} option from the menu.
#* Use the keyboard shortcut: {{KEY|W}} then {{KEY|P}}.
#* Use the keyboard shortcut: {{KEY|W}} then {{KEY|P}}.
Line 80: Line 80:
* Press the {{Button|[[Image:View-front.svg|16px]] Front (XZ)}} button to align the working plane with the XZ plane of the global coordinate system.
* Press the {{Button|[[Image:View-front.svg|16px]] Front (XZ)}} button to align the working plane with the XZ plane of the global coordinate system.
* Press the {{Button|[[Image:View-right.svg|16px]] Side (YZ)}} button to align the working plane with the YZ plane of the global coordinate system.
* Press the {{Button|[[Image:View-right.svg|16px]] Side (YZ)}} button to align the working plane with the YZ plane of the global coordinate system.
* Press the {{Button|[[Image:View-isometric.svg|16px]] Align to view}} button to align the working plane with the current [[3D_view|3D view]]. If the {{MenuCommand|Center plane on view}} checkbox is unchecked the working plane origin will match the origin of the global coordinate system, else it will match the center of the current [[3D_view|3D view]].
* Press the {{Button|[[Image:View-isometric.svg|16px]] Align to view}} button to align the working plane with the current [[3D_view|3D view]]. If the {{MenuCommand|Center plane on view}} checkbox is not checked the working plane origin will match the origin of the global coordinate system, else it will match the center of the current [[3D_view|3D view]].
* Press the {{Button|[[Image:View-axonometric.svg|16px]] Automatic}} button to automatically align the working plane with the current [[3D_view|3D view]] whenever a Draft or [[Arch_Workbench|Arch]] command requiring point input is started. This is equivalent to pressing the {{Button|[[Image:View-isometric.svg|16px]] Align to view}} button before using the command.
* Press the {{Button|[[Image:View-axonometric.svg|16px]] Automatic}} button to set the working plane to {{MenuCommand|Auto}}. A working plane set to {{MenuCommand|Auto}} will automatically align with the current [[3D_view|3D view]] whenever a Draft or [[Arch_Workbench|Arch]] command requiring point input is started. This is equivalent to pressing the {{Button|[[Image:View-isometric.svg|16px]] Align to view}} button before using the command. Additionally the working plane will align to planar faces that have been selected before starting the command, or when points on planar faces are picked during the command.
* The {{MenuCommand|Offset}} defines the perpendicular distance between the calculated plane and the actual working plane.
* The {{MenuCommand|Offset}} defines the perpendicular distance between the calculated plane and the actual working plane.
* Check the {{MenuCommand|Center plane on view}} checkbox to put the origin of the working plane in the center of to the current [[3D_view|3D view]]. This option really only makes sense if the {{Button|[[Image:View-isometric.svg|16px]] Align to view}} button is used.
* Check the {{MenuCommand|Center plane on view}} checkbox to put the origin of the working plane in the center of to the current [[3D_view|3D view]]. This option can be useful in combination with the {{Button|[[Image:View-isometric.svg|16px]] Align to view}} button.
* Select a vertex in the [[3D_view|3D view]] and press the {{Button|[[Image:Draft_Move.svg|16px]] Move working plane}} button to move the working plane so that its origin matches the position of the selected vertex.
* Select a vertex in the [[3D_view|3D view]] and press the {{Button|[[Image:Draft_Move.svg|16px]] Move working plane}} button to move the working plane so that its origin matches the position of the selected vertex.
* The {{MenuCommand|Grid spacing}} defines the distance between grid lines.
* The {{MenuCommand|Grid spacing}} defines the distance between grid lines.
Line 89: Line 89:
* The {{MenuCommand|Grid extension}} value determines the number of grid lines in the X and Y direction of the grid.
* The {{MenuCommand|Grid extension}} value determines the number of grid lines in the X and Y direction of the grid.
* The {{MenuCommand|Snapping radius}} is the maximum distance at which [[Draft_Snap_Grid|Draft Snap Grid]] detects the intersections of grid lines.
* The {{MenuCommand|Snapping radius}} is the maximum distance at which [[Draft_Snap_Grid|Draft Snap Grid]] detects the intersections of grid lines.
* Press the {{Button|[[Image:view-fullscreen.svg|16px]] Center view}} button to use the origin of the current working plane as the center of the [[3D_view|3D view]].
* Press the {{Button|[[Image:view-fullscreen.svg|16px]] Center view}} button to align the [[3D_view|3D view]] with the current working plane.
* Press the {{Button|[[Image:sel-back.svg|16px]] Previous}} button to reset the working plane to its previous position.
* Press the {{Button|[[Image:sel-back.svg|16px]] Previous}} button to reset the working plane to its previous position.
* Press the {{Button|Next [[Image:sel-forward.svg|16px]]}} button to reset the working plane to its next position. {{Version|0.22}}
* Press the {{Button|Next [[Image:sel-forward.svg|16px]]}} button to reset the working plane to its next position. {{Version|0.22}}
Line 105: Line 105:


* The grid settings in the task panel as well as several other grid settings are available as preferences: {{MenuCommand|Edit → Preferences... → Draft → Grid and snapping → Grid}}.
* The grid settings in the task panel as well as several other grid settings are available as preferences: {{MenuCommand|Edit → Preferences... → Draft → Grid and snapping → Grid}}.
* To use the grid the {{MenuCommand|Edit → Preferences... → Draft → Grid and snapping → Grid → Use grid}} option must be selected. After changing this preference you must restart FreeCAD.
* The Snapping radius can also be changed on-the-fly (see [[Draft_Snap#Preferences|Draft Snap]]) or by changing: {{MenuCommand|Tools → Edit parameters... → BaseApp → Preferences → Mod → Draft → snapRange}}.
* The Snapping radius can also be changed on-the-fly (see [[Draft_Snap#Preferences|Draft Snap]]) or by changing: {{MenuCommand|Tools → Edit parameters... → BaseApp → Preferences → Mod → Draft → snapRange}}.


Line 112: Line 111:
See also: [https://freecad.github.io/SourceDoc/ Autogenerated API documentation] and [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]].
See also: [https://freecad.github.io/SourceDoc/ Autogenerated API documentation] and [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]].


{{Version|0.22}}:
If the [[Draft_Workbench|Draft Workbench]] is active the FreeCAD application object has a {{incode|DraftWorkingPlane}} property which stores the current Draft working plane. You can access this property and apply transformations to it:


The WorkingPlane module offers two classes to create working plane objects: the {{incode|PlaneBase}} class and the {{incode|PlaneGui}} class. The second class inherits from the first. Objects of the {{incode|PlaneGui}} class interact with the GUI (the [[Draft_Tray|Draft Tray]] button), the [[3D_view|3D view]] and the [[Draft_Snap_Grid|grid]]. {{incode|PlaneBase}} objects do not.
{{Code|code=
# This code only works if the Draft Workbench is active!


Use the {{incode|get_working_plane()}} method of the WorkingPlane module to get an instance of the {{incode|PlaneGui}} class linked to the current 3D view. The method either returns the existing working plane linked to the view or creates a new working plane if required.

{{Code|code=
import FreeCAD as App
import FreeCAD as App
import FreeCADGui as Gui
import WorkingPlane


wp = WorkingPlane.get_working_plane()
workplane = App.DraftWorkingPlane


v1 = App.Vector(0, 0, 0)
origin = App.Vector(0, 0, 0)
v2 = App.Vector(1, 1, 1).normalize()
normal = App.Vector(1, 1, 1).normalize()
offset = 17
wp.align_to_point_and_axis(origin, normal, offset)


point = App.Vector(10, 15, 2)
workplane.alignToPointAndAxis(v1, v2, 17)
projection = wp.project_point(point)
Gui.Snapper.toggleGrid()
print(projection)
Gui.Snapper.toggleGrid()
}}
}}


The {{incode|PlaneBase}} class can be used to create working planes independent of the GUI:
It is also possible to create planes independently of the Draft working plane. This can be useful for calculations and projections:


{{Code|code=
{{Code|code=
import WorkingPlane
import WorkingPlane


my_plane = WorkingPlane.plane()
wp = WorkingPlane.PlaneBase()

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



Revision as of 21:44, 11 November 2023

Draft_Workingplane

Menyplacering
Drafting → SelectPlane
Arbetsbänkar
Skiss
Standard genväg
Ingen
Introducerad i version
-
Se även
Ingen

Description

Beskrivning

Detta verktyg väntar på att användaren ska markera en existerande yta i 3D vyn eller att välja ett av de förinställda planen. Arbetsplanet kommer då att ställas in till det planet, och alla efterföljande 2D operationer kommer endast att hända på detta plan.

introduced in version 0.22: For each 3D view a separate working plane is stored.

The Draft SelectPlane button in the Draft Tray changes depending on the current working plane. introduced in version 0.22: If the working plane is not set to Auto an asterisk (*) is appended to the button label if the origin of the working plane does not match the global origin.

Shapes created on different working planes

Usage with pre-selection

  1. Do one of the following:
  2. There are several ways to invoke the command:
    • Press the Draft SelectPlane button in the Draft Tray.
    • Select the Utilities → Select Plane option from the menu.
    • Use the keyboard shortcut: W then P.
  3. The working plane and the button in the Draft Tray are updated.

Usage with post-selection

  1. There are several ways to invoke the command:
    • Press the Draft SelectPlane button in the Draft Tray.
    • Select the Utilities → Select Plane option from the menu.
    • Use the keyboard shortcut: W then P.
  2. The Working plane setup task panel opens. See Options for more information.
  3. Do one of the following:
  4. Click anywhere in the 3D view to confirm the selection and finish the command.
  5. The working plane and the button in the Draft Tray are updated.

Usage with presets

  1. There are several ways to invoke the command:
    • Press the Draft SelectPlane button in the Draft Tray.
    • Select the Utilities → Select Plane option from the menu.
    • Use the keyboard shortcut: W then P.
  2. The Working plane setup task panel opens. See Options for more information.
  3. Press any of the buttons to finish the command.
  4. The working plane and the button in the Draft Tray are updated.

Options

  • Press the Top (XY) button to align the working plane with the XY plane of the global coordinate system.
  • Press the Front (XZ) button to align the working plane with the XZ plane of the global coordinate system.
  • Press the Side (YZ) button to align the working plane with the YZ plane of the global coordinate system.
  • Press the Align to view button to align the working plane with the current 3D view. If the Center plane on view checkbox is not checked the working plane origin will match the origin of the global coordinate system, else it will match the center of the current 3D view.
  • Press the Automatic button to set the working plane to Auto. A working plane set to Auto will automatically align with the current 3D view whenever a Draft or Arch command requiring point input is started. This is equivalent to pressing the Align to view button before using the command. Additionally the working plane will align to planar faces that have been selected before starting the command, or when points on planar faces are picked during the command.
  • The Offset defines the perpendicular distance between the calculated plane and the actual working plane.
  • Check the Center plane on view checkbox to put the origin of the working plane in the center of to the current 3D view. This option can be useful in combination with the Align to view button.
  • Select a vertex in the 3D view and press the Move working plane button to move the working plane so that its origin matches the position of the selected vertex.
  • The Grid spacing defines the distance between grid lines.
  • The Main line every value determines where main grid lines are drawn. Main grid lines are slightly thicker than normal grid lines. For example if the grid spacing is 0.5 m and there is a main line every 10 lines, such a line will occur every 5 m.
  • The Grid extension value determines the number of grid lines in the X and Y direction of the grid.
  • The Snapping radius is the maximum distance at which Draft Snap Grid detects the intersections of grid lines.
  • Press the Center view button to align the 3D view with the current working plane.
  • Press the Previous button to reset the working plane to its previous position.
  • Press the Next button to reset the working plane to its next position. introduced in version 0.22
  • Press Esc or the Close button to abort the command.

Notes

  • It can be useful to align the 3D view with the selected Draft working plane. For example after switching the working plane to Front you may want to switch to the Front view as well.
  • The grid can be toggled with the Draft ToggleGrid command.
  • By double-clicking Draft WorkingPlaneProxies in the Tree view you can quickly switch between working planes.

Preferences

See also: Preferences Editor and Draft Preferences.

  • The grid settings in the task panel as well as several other grid settings are available as preferences: Edit → Preferences... → Draft → Grid and snapping → Grid.
  • The Snapping radius can also be changed on-the-fly (see Draft Snap) or by changing: Tools → Edit parameters... → BaseApp → Preferences → Mod → Draft → snapRange.

Scripting

See also: Autogenerated API documentation and FreeCAD Scripting Basics.

introduced in version 0.22:

The WorkingPlane module offers two classes to create working plane objects: the PlaneBase class and the PlaneGui class. The second class inherits from the first. Objects of the PlaneGui class interact with the GUI (the Draft Tray button), the 3D view and the grid. PlaneBase objects do not.

Use the get_working_plane() method of the WorkingPlane module to get an instance of the PlaneGui class linked to the current 3D view. The method either returns the existing working plane linked to the view or creates a new working plane if required.

import FreeCAD as App
import WorkingPlane

wp = WorkingPlane.get_working_plane()

origin = App.Vector(0, 0, 0)
normal = App.Vector(1, 1, 1).normalize()
offset = 17
wp.align_to_point_and_axis(origin, normal, offset)

point = App.Vector(10, 15, 2)
projection = wp.project_point(point)
print(projection)

The PlaneBase class can be used to create working planes independent of the GUI:

import WorkingPlane

wp = WorkingPlane.PlaneBase()