-
Notifications
You must be signed in to change notification settings - Fork 9
Shape driven arrays
under construction!
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.
- So you have a path for an array, say it's a sketch.
- Create a single Lattice2 placement at the origin (Single Placement: Custom -> OK).
- 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, - 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,
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.
- 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.
- 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, 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.
- 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.
Introduction to Lattice workbench
Boolean operations on arrays, Compound structure
Shape-driven arrays, Draft arrays in Lattice2
"Subsequencing" (sublink iteration, TopoSeries)
- (common pieces)
-- Common properties of placement features
-- Common properties of array generators
- (features)
-- Single Placement
-- Attached Placement
-- Array an attached Placement
-- Linear Array
-- Polar Array
-- Array From Shape
-- Invert placements
-- Join Arrays
-- Array Filter
-- Project Array
-- Resample Array
-- Populate With Copies
-- Populate With Children
-- Mirror
-- PartDesign Pattern
-- Downgrade
-- SubLink
-- Subsequence
-- Make Compound
-- Compound Filter
-- Fuse Compound
-- Bounding Box
-- Shape String
-- ParaSeries
-- TopoSeries
-- Shape info feature
- (tools)
-- Explode Array
-- Explode Compound
-- Inspect tool
-- Substitute Object
-- Expose links to subelements
-- Recompute controlling tools