Skip to content

Feature PopulateCopies

DeepSOIC edited this page Apr 3, 2016 · 4 revisions

Feature (document object)

PopulateCopies feature is used to build arrays of shapes from arrays of placements. It puts a copy of an object at every placement in an array. The resulting copies are packed into a compound.

The feature can also be used with single placements. Also, it can be set up in a manner to move object from one placement to another, which can be used to make assemblies by attaching objects with mating ports defined as Lattice Placements.

inputs

(list order follows selection order)

  • 'Object': a shape, or a placement/array
  • 'PlacementsFrom'(optional): a placement/array
  • 'PlacementsTo': a placement/array

output

'Shape': If 'Object' is a shape, output is a compound of copies of 'Object' (or moved copy of shape - if PlacementTo is a single placement).
If 'Object' is placement/array, the output is also a placement/array.

Properties

Object

Link to object which is to be moved/copied.

Object types supported so far are geometric objects that have shape (but not meshes - only OCC geometry), and Lattice Placements/arrays of placements.

OutputCompounding

This property was introduced for backward compatibility. It sets, if the feature should wrap an object being copied/moved into a compound, if there's only one copy to create.

  • (autosettle): temporary value, that should switch to automatically guessed value upon recompute.
  • always: always wraps output shape into a compound
  • only if many: output shape is of the same type as 'Object', if there is only one placement in 'PlacementsTo'. Otherwise, the output is a compound of copies.

This property is only active if 'Object' is a shape. If 'Object' is a placement/array, this property is ignored.

PlacementsFrom

Link to a placement or to array of placements, that are to be used as origins of the object. Speaking otherwise, they are the placements to move FROM, with PlacementsTo specifying the placements to move to.

The link must point either to a single placement, or to an array of size matching to 'PlacementsTo'.

This property is only in action, when 'Referencing' property is set to Use PlacementsFrom.

PlacementsTo

Link to a placement or to array of placements, that specify where to put copies of 'Object'.

Referencing

'Referencing' property sets, how to override the origin.

  • Origin: no modifications. Transform the Object by placements in the array ('PlacementsTo'). This is equivalent to supplying a trivial placement (the global origin) as PlacementFrom.
  • First item: the first placement of the array ('PlacementsTo') is treated as the origin of the object. As a result, the first copy is placed exactly where the original 'Object' is. This setting is a natural way of building an array (pattern) based on array of placements.
  • Last item: like First item, but the last placement of the array is used as the origin.
  • Use PlacementsFrom: reference placements (origins) are explicitly specified by 'PlacementsFrom' link. The result is an object being moved by the same movement that will get PlacementFrom coincide with PlacementTo.

Another way of thinking of PlacementsFrom-PlacmentsTo is as follows. Consider we have defined an attachment point for some object as a placement (let's say, it is a tip of a shaft). And we have defined an attachment point of another object (let it be a shaft hole of a wheel). Now if we want to move the wheel to put it onto the shaft, we need to specify the wheel's attachment point as PlacementFrom (aka reference, aka origin), and shaft's tip point as PlacementTo.

(click the title)

GUI Command (toolbar button)

feat-linarray.files/LinearArrayToolbar.png

There are three commands for creating PopulateCopies feature. The commands differ in that they set different values to 'Referencing' property, and accept different sets of selected objects.

"Populate with copies"

Select an object to be copied, and a placement/array of placements. The object is copied to a new location. The new location is so that, from the point of view of the copied object, the placement is exactly where, from the point of view of the object, the global origin is. See 'Referencing' property documentation for more explanation. 'Referencing' is set to Origin by this command.

Object can also be an array of placements. The order of selection is what is used to differentiate them in this case: the thing selected first is the object to be copied, and the thing selected second - where to put the copies.

"Populate with copies: build array"

Select an object to be copied, and an array of placements. The copies of the object are arranged to follow the pattern of placements; the array of shapes made will always include the original object, and the corresponding placement of the array is the first one. See 'Referencing' property documentation for more explanation. 'Referencing' is set to First item by this command.

Object can also be an array of placements. The order of selection is what is used to differentiate them in this case: the thing selected first is the object to be copied, and the thing selected second - where to put the copies.

Array of placement can be a single placement; however, since the first (and in this case, the only) placement is treated as reference, the result will be just the object where it used to be, not moved anywhere.

"Moved object"

Select an object to be moved, a placement/array of placements to move FROM, and a placement/array to move TO (order of selection matters). The object is moved by the same move that makes the placement FROM match the placement TO. See 'Referencing' property documentation for more explanation. 'Referencing' is set to Use PlacementsFrom by this command.

Placements FROM must be either a single placement, or an array of a size equal to that of TO.

Clone this wiki locally