Draft Point: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
Line 39: Line 39:
#* Press the {{Button|[[Image:Draft_Point.svg|16px]] [[Draft_Point|Draft Point]]}} button.
#* Press the {{Button|[[Image:Draft_Point.svg|16px]] [[Draft_Point|Draft Point]]}} button.
#* Select the {{MenuCommand|Drafting → [[Image:Draft_Point.svg|16px]] Point}} option from the menu.
#* Select the {{MenuCommand|Drafting → [[Image:Draft_Point.svg|16px]] Point}} option from the menu.
# Click a point on the 3D view, or type a [[Draft_Coordinates|coordinate]] and press the {{Button|[[Image:Draft_AddPoint.svg|16px]] Enter point}} button.
# Click a point in the [[3D_view|3D view]], or type [[Draft_Coordinates|coordinates]] and press the {{Button|[[Image:Draft_AddPoint.svg|16px]] Enter point}} button.


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


<!--T:8-->
<!--T:8-->
* To enter coordinates manually, simply enter the numbers, then press {{KEY|Enter}} between each X, Y and Z component. You can press the {{Button|[[Image:Draft_AddPoint.svg|16px]] [[Draft_AddPoint|add point]]}} button when you have the desired values to insert the point.
* To enter coordinates manually, simply enter the numbers, then press {{KEY|Enter}} between each X, Y and Z component. You can press the {{Button|[[Image:Draft_AddPoint.svg|16px]] Enter point}} button when you have the desired values to insert the point.
* Press {{KEY|T}} or click the checkbox to toggle ''continue'' mode. If continue mode is on, the point tool will restart after you place a point, allowing you to place another one without pressing the tool button again.
* Press {{KEY|T}} or click the checkbox to toggle ''continue'' mode. If continue mode is on, the point tool will restart after you place a point, allowing you to place another one without pressing the tool button again.
* Press {{KEY|Esc}} or the {{Button|Close}} button to abort the current command.
* Press {{KEY|Esc}} or the {{Button|Close}} button to abort the current command.
Line 58: Line 58:


<!--T:11-->
<!--T:11-->
See also: [[Draft API|Draft API]] and [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]].
See also: [https://www.freecadweb.org/api Autogenerated API documentation] and [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]].


<!--T:12-->
<!--T:12-->
To create a Draft Point use the {{incode|make_point}} method of the Draft module:
The Point tool can be used in [[macros|macros]] and from the [[Python|]Python] console by using the following function:

</translate>
</translate>
{{Code|code=
{{Code|code=
Point = makePoint(X=0, Y=0, Z=0, color=None, name="Point", point_size=5)
point = make_point(X=0, Y=0, Z=0, color=None, name="Point", point_size=5)
Point = makePoint(point, Y=0, Z=0, color=None, name="Point", point_size=5)
point = make_point(point, Y=0, Z=0, color=None, name="Point", point_size=5)
}}
}}
<translate>
<translate>


<!--T:13-->
<!--T:13-->
* Creates a {{incode|Point}} object in the specified {{incode|X}}, {{incode|Y}} and {{incode|Z}} coordinates, with units in millimeters. If no coordinates are given the point is created at the origin (0,0,0).
* Creates a {{incode|point}} object in the specified {{incode|X}}, {{incode|Y}} and {{incode|Z}} coordinates, with units in millimeters. If no coordinates are given the point is created at the origin (0,0,0).
** If {{incode|X}} is a {{incode|point}} defined by a {{incode|FreeCAD.Vector}}, it is used.
** If {{incode|X}} is a {{incode|point}} defined by a {{incode|FreeCAD.Vector}}, it is used.
* {{incode|color}} is a tuple {{incode|(R, G, B)}} that indicates the color of the point in the RGB scale; each value in the tuple should be in the range from {{incode|0}} to {{incode|1}}.
* {{incode|color}} is a tuple {{incode|(R, G, B)}} that indicates the color of the point in the RGB scale; each value in the tuple should be in the range from {{incode|0}} to {{incode|1}}.
Line 78: Line 79:
<!--T:19-->
<!--T:19-->
Example:
Example:

</translate>
</translate>
{{Code|code=
{{Code|code=
import FreeCAD
import FreeCAD as App
import Draft
import Draft


Point1 = Draft.makePoint(1600, 1400, 0)
point1 = Draft.make_point(1600, 1400, 0)


p2 = FreeCAD.Vector(-3200, 1800, 0)
p2 = App.Vector(-3200, 1800, 0)
Point2 = Draft.makePoint(p2, color=(0.5, 0.3, 0.6), point_size=10)
point2 = Draft.make_point(p2, color=(0.5, 0.3, 0.6), point_size=10)

FreeCAD.ActiveDocument.recompute()
App.ActiveDocument.recompute()
}}
}}
<translate>
<translate>

<!--T:14-->
<!--T:14-->
Example:
Example:


<!--T:20-->
<!--T:20-->
This code creates {{incode|N}} random points within a square of side {{incode|2L}}. It makes a loop creating {{incode|N}} points, that may appear anywhere from {{incode|-L}} to {{incode|+L}} on both X and Y; it also chooses a random color and size for each point. Change {{incode|N}} to change the number of points, and change {{incode|L}} to change the area covered by the points.
This code creates {{incode|N}} random points within a square of side {{incode|2L}}. It makes a loop creating {{incode|N}} points, that may appear anywhere from {{incode|-L}} to {{incode|+L}} on both X and Y. It also chooses a random color and size for each point. Change {{incode|N}} to change the number of points, and change {{incode|L}} to change the area covered by the points.


</translate>
</translate>
{{Code|code=
{{Code|code=
import random
import random
import FreeCAD
import FreeCAD as App
import Draft
import Draft


L = 1000
L = 1000
centered = FreeCAD.Placement(FreeCAD.Vector(-L, -L, 0), FreeCAD.Rotation())
centered = App.Placement(App.Vector(-L, -L, 0), App.Rotation())
Rectangle = Draft.makeRectangle(2*L, 2*L, placement=centered)
rectangle = Draft.make_rectangle(2*L, 2*L, placement=centered)
N = 10


N = 10
for i in range(N):
for i in range(N):
x = 2*L*random.random() - L
x = 2*L*random.random() - L
Line 115: Line 119:
b = random.random()
b = random.random()
size = 15*random.random() + 5
size = 15*random.random() + 5
Draft.makePoint(x, y, z, color=(r, g, b), point_size=size)
Draft.make_point(x, y, z, color=(r, g, b), point_size=size)


FreeCAD.ActiveDocument.recompute()
App.ActiveDocument.recompute()
}}
}}
<translate>
<translate>

Revision as of 14:12, 17 March 2021

This documentation is a work in progress. Please don't mark it as translatable since it will change in the next hours and days.

Draft Point

Menu location
Drafting → Point
Workbenches
Draft, Arch
Default shortcut
None
Introduced in version
0.7
See also
Draft AddPoint, Draft Line, Draft Wire

Description

The Draft Point command creates a simple point in the current working plane, useful as a reference for placing lines, wires, or other objects. It uses the Draft Linestyle (only the color) set on the Draft Tray.

A single point placed on the working plane

Usage

  1. There are several ways to invoke the command:
    • Press the Draft Point button.
    • Select the Drafting → Point option from the menu.
  2. Click a point in the 3D view, or type coordinates and press the Enter point button.

Options

  • To enter coordinates manually, simply enter the numbers, then press Enter between each X, Y and Z component. You can press the Enter point button when you have the desired values to insert the point.
  • Press T or click the checkbox to toggle continue mode. If continue mode is on, the point tool will restart after you place a point, allowing you to place another one without pressing the tool button again.
  • Press Esc or the Close button to abort the current command.

Properties

  • DataX: the X coordinate of the point.
  • DataY: the Y coordinate of the point.
  • DataZ: the Z coordinate of the point.

Scripting

See also: Autogenerated API documentation and FreeCAD Scripting Basics.

To create a Draft Point use the make_point method of the Draft module:

point = make_point(X=0, Y=0, Z=0, color=None, name="Point", point_size=5)
point = make_point(point, Y=0, Z=0, color=None, name="Point", point_size=5)
  • Creates a point object in the specified X, Y and Z coordinates, with units in millimeters. If no coordinates are given the point is created at the origin (0,0,0).
    • If X is a point defined by a FreeCAD.Vector, it is used.
  • color is a tuple (R, G, B) that indicates the color of the point in the RGB scale; each value in the tuple should be in the range from 0 to 1.
  • name is the name of the object.
  • point_size is the size of the object in pixels, if the graphical user interface is loaded.

Example:

import FreeCAD as App
import Draft

point1 = Draft.make_point(1600, 1400, 0)

p2 = App.Vector(-3200, 1800, 0)
point2 = Draft.make_point(p2, color=(0.5, 0.3, 0.6), point_size=10)

App.ActiveDocument.recompute()

Example:

This code creates N random points within a square of side 2L. It makes a loop creating N points, that may appear anywhere from -L to +L on both X and Y. It also chooses a random color and size for each point. Change N to change the number of points, and change L to change the area covered by the points.

import random
import FreeCAD as App
import Draft

L = 1000
centered = App.Placement(App.Vector(-L, -L, 0), App.Rotation())
rectangle = Draft.make_rectangle(2*L, 2*L, placement=centered)

N = 10
for i in range(N):
    x = 2*L*random.random() - L
    y = 2*L*random.random() - L
    z = 0
    r = random.random()
    g = random.random()
    b = random.random()
    size = 15*random.random() + 5
    Draft.make_point(x, y, z, color=(r, g, b), point_size=size)

App.ActiveDocument.recompute()