Draft PointArray: Difference between revisions

From FreeCAD Documentation
m (Blank line)
(Position [0,0,0])
Line 16: Line 16:


<!--T:5-->
<!--T:5-->
# Create a shape object you wish to distribute. You will get the best results if your object is '''centred around the origin''', even if the path starts somewhere else.
# Create a shape object you wish to distribute. You will get the best results if your object is '''centred around the origin''', that is, if its {{PropertyData|position}} is [0, 0, 0].
# Place points using [[Draft Point]]
# Place points using [[Draft Point]].
# Select the points and create a compound of them using [[Draft Upgrade]]
# Select the points and create a compound of them using [[Draft Upgrade]].
# First select your shape, then the new point compound, and then press the {{KEY|[[Image:Draft_PointArray.svg|16px]] [[Draft PointArray]]}} button.
# First select your shape, then the new point compound, and then press the {{KEY|[[Image:Draft_PointArray.svg|16px]] [[Draft PointArray]]}} button.



Revision as of 04:52, 5 November 2018

Draft PointArray

Menu location
Draft → PointArray
Workbenches
Draft, Arch
Default shortcut
None
Introduced in version
0.18
See also
Draft Array, Draft PathArray

Description

The PointArray tool places copies of a selected shape along various selected points.

How to use

  1. Create a shape object you wish to distribute. You will get the best results if your object is centred around the origin, that is, if its Dataposition is [0, 0, 0].
  2. Place points using Draft Point.
  3. Select the points and create a compound of them using Draft Upgrade.
  4. First select your shape, then the new point compound, and then press the Draft PointArray button.

Options

  • The array starts with shape copies which are not aligned to the path, nor translated to a new position by default. You can then change the alignment and/or translation vector in the properties.

Properties

  • DataBase: The shape object
  • DataCount: The number of times to copy the shape (read only)
  • DataPointList: a compound of points

Scripting

The PointArray tool can be used in macros and from the Python console by using the following function:

makePointArray(base, ptlst)
  • base is the shape to copy, and ptlst is an object with Geometry, Links, or Components that define the position of the copies.

Example:

import FreeCAD, Draft

poly = Draft.makePolygon(3, radius=500.0)
p1 = Draft.makePoint(FreeCAD.Vector(1500, 0, 0))
p2 = Draft.makePoint(FreeCAD.Vector(2500, 0, 0))
p3 = Draft.makePoint(FreeCAD.Vector(2000, 1000, 0))

upg = Draft.upgrade([p1, p2, p3], delete=True)
compound = upg[0][0]  # Extract the compound from the list

array = Draft.makePointArray(poly, compound)

Usage Notes

  • in progress

Limitations

  • This tool is not available before version 0.18