Skip to content

Shape driven arrays

DeepSOIC edited this page Jun 30, 2022 · 6 revisions

under construction!

Using Draft Array to generate a Lattice2 array

Lattice2 has a number of tools to harness arrays generated by something else.

For example, let's make a Lattice2 path array using Draft PathArray tool.

  1. So you have a path for an array, say it's a sketch.
  2. Create a single Lattice2 placement at the origin (Single Placement: Custom -> OK).
  3. Use Draft PathArray on the placement "Custom".
    It may seem like the PathArray can be directly used to populate shapes, but no. Lattice2 will think PathArray is just a shape, and refuse to populate shape onto shape. To make Lattice2 recognize the array again,
  4. Apply Lattice2 Array From Shape: internal placements to PathArray.
    This creates a Lattice2 array of placements using internal placements of shapes stored in the compound.

This works at picking up Draft Arrays, and potentially other arrays (unless the other array tool bakes placements into the actual shape instead of defining transformations for compound children, such as PartDesign Patterns).

If you are dealing with a more difficult situations,

extracting arrays from complete shapes

Let's say you have a solid with a bunch of holes. You can extract the placements of these holes to do some operation on all of them, for example adding a countersink.

  1. Use some tool to make a compound of subshapes representing the features.

For example, if it's a part with circular holes, select the circular edges and use Lattice2 Sublink tool to extract them and pack into a compound. Or if you need it to be more parametric, or there are a little to many to select manually, you can use a Lattice2 downgrade operation, followed by a Compound Filter.

  1. Build an array of placements from it.

Lattice2 Array From Shape: inertial axis system is a good starting point. This will compute tensors of inertia for each child of the compound, and build coordinate systems based on principal axes (a CS where the tensor is diagonal).

If that is not good enough, Array an attached placement with Array an attached placement can provide a more granular way of generating the array. The basic way is to make a placement attached to the first extracted element, and Array an attached placement will repeat it over all the elements. See Subsequencing for more details on that.

  1. Use the array to your advantage

For example, populate it with cylinders and do a boolean cut, to make a countersink.

A nice example of this technique is placing objects on faces of geodesic domes. The workflow is something like Downgrade to Faces -> Compound Filter -> attached placement -> array an attached placement -> populate.

Clone this wiki locally