Rysunek Roboczy: Punkt

From FreeCAD Documentation
Revision as of 11:33, 9 December 2021 by FuzzyBot (talk | contribs) (Updating to match new version of source page)

Draft Point

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

Description

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

Usage

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

  1. There are several ways to invoke the command:
    • Press the Draft 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.

  • 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.
  • The Relative checkbox, displayed in FreeCAD version 0.19 and earlier, has no purpose for this command.
  • 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 T 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

Preferences

See also: Preferences Editor and Draft Preferences.

  • To change the number of decimals used for the input of coordinates: Edit → Preferences... → General → Units → Units settings → Number of decimals.

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

  • DANEX (Distance): specifies the X coordinate of the point.
  • DANEY (Distance): specifies the Y coordinate of the point.
  • DANEZ (Distance): specifies the Z coordinate of the point.

View

Draft

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

Scripting

See also: Autogenerated API documentation and FreeCAD Scripting Basics.

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