draftobjects.pointarray Namespace Reference

Classes

class  PointArray
 

Functions

def build_copies (base_object, pt_list=None, placement=App.Placement())
 
def get_point_list (point_object)
 

Variables

 Part = lz.LazyLoader("Part", globals(), "Part")
 

Function Documentation

◆ build_copies()

def draftobjects.pointarray.build_copies (   base_object,
  pt_list = None,
  placement = App.Placement() 
)
Build a compound of copies from the base object and list of points.

Returns
-------
Part::TopoShape
    The compound shape created by `Part.makeCompound`.

Referenced by draftobjects.pointarray.PointArray.execute().

◆ get_point_list()

def draftobjects.pointarray.get_point_list (   point_object)
Extract a list of points from a point object.

Parameters
----------
point_object: Part::Feature
    Either a `Draft Block`, a `Part::Compound`,
    or a `Sketcher::SketchObject` containing points.

Returns
-------
list, int
    A list of points that have `X`, `Y`, `Z` coordinates;
    the second element is the number of elements.
    If the list is empty, the second element is zero.

To Do
-----
- This function currently extracts the points inside a `Draft Block`,
  a `Part::Compound`, or a `Sketch`. To make this more general,
  this function could be augmented to extract a list of points
  from the vertices of any object with a `Part::TopoShape` (2D or 3D).

- If the input is a `Part::Compound`, it should handle all valid types
  of objects simultaneously, that is, `Draft Points`, `Part::Vertexes`,
  `Sketches` with points, and possibly any other object with
  a `Part::TopoShape` as in the previous point.
  It should recursively call itself to extract
  points contained in nested compounds.

Referenced by draftobjects.pointarray.PointArray.execute().

Variable Documentation

◆ Part

draftobjects.pointarray.Part = lz.LazyLoader("Part", globals(), "Part")