Draft Point

From FreeCAD Documentation
This page is a translated version of the page Draft Point and the translation is 7% complete.
Outdated translations are marked like this.

Draft Point

Menyplacering
Draft -> Point
Arbetsbänkar
Draft, Arch
Standard genväg
P T
Introducerad i version
-
Se även
Ingen

Beskrivning

The Draft Point command creates a simple point. Draft points can be useful as a reference for placing lines, wires or other objects.

Bruk

See also: Draft Tray, Draft Snap and Draft Constrain.

  1. There are several ways to invoke the command:
    • Press the Point button.
    • Select the Drafting → Point option from the menu.
  2. The Point task panel opens. See Options for more information.
  3. Pick a point in the 3D view, or type coordinates and press the Enter point button.

Options

The single character keyboard shortcuts available in the task panel can be changed. See Draft Preferences. The shortcuts mentioned here are the default shortcuts (for version 0.22).

  • To manually enter coordinates enter the X, Y and Z component, and press Enter after each. Or you can press the Enter point button when you have the desired values. It is advisable to move the pointer out of the 3D view before entering coordinates.
  • Press G or click the Global checkbox to toggle global mode. If global mode is on, coordinates are relative to the global coordinate system, else they are relative to the working plane coordinate system. introduced in version 0.20
  • Press N or click the Continue checkbox to toggle continue mode. If continue mode is on, the command will restart after finishing, allowing you to continue creating points.
  • Press S to switch Draft snapping on or off.
  • Press Esc or the Close button to abort the command.

Notes

Properties

See also: Property editor.

A Draft Point object is derived from a Part Feature object and inherits all its properties. It also has the following additional properties:

Data

Draft

  • DataX (Distance): specifies the X coordinate of the point.
  • DataY (Distance): specifies the Y coordinate of the point.
  • DataZ (Distance): specifies the Z coordinate of the point.

View

Draft

  • VyPattern (Enumeration): not used.
  • VyPattern Size (Float): not used.

Scripting

Skript

To create a Draft Point use the make_point method (introduced in version 0.19) of the Draft module. This method replaces the deprecated makePoint method.

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

doc = App.newDocument()

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)

doc.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

doc = App.newDocument()

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)

doc.recompute()