Solid modeling often involves the repetition of features or objects arranged in a regular or irregular manner (copied and transformed), which may be referred to as
patterns (refer to Figure 4-1). Examples of patterns include the radial arrangement of holes in a shower head, the linear grating of ventilation holes on a computer monitor, or the treads on a tire. Implementing such patterns can become unnecessarily burdensome, especially when the number of repetitive elements grows large.
|
|
|
|
Figure 4-1. Pattern of Grooves
|
|
The
ACIS patterns functionality is intended to reduce this burden by giving programmers tools that facilitate pattern creation and modification. These tools include the
pattern class and several functions and methods for working with patterns.
|
|
A pattern object is created and applied to an entity or feature. An entity to which a pattern is applied is called a
seed entity. A pattern object defines the transformations needed to generate the way multiple copies of the seed entity are to be arranged and scaled in a model. The transformations may be given as a simple list, to be merely wrapped by the pattern object. However, the transformations for regular patterns can be expressed more efficiently in terms of
ACIS laws.
|
|
By using the
ACIS pattern tools, a developer can expect to realize the following advantages:
|
|
|
It is simpler to create any of a large class of patterned solids
|
|
Features generated by repetitive Boolean operations can be generated with a single such operation, enhancing performance
|
|
SAT files can be substantially compressed, especially with large, regular patterns
|
|
With the
ACIS patterns functionality, an application can:
|
|
|
Create a variety of pre-built geometric patterns in one, two, or three dimensions (linear, hexagonal, circular, elliptical, polar, cylindrical, spherical)
|
|
Create patterns that follow curves and surfaces, both in position and in orientation
|
|
Create patterns based on lists of positions or transformations
|
|
Create scaling patterns (i.e., patterns that scale elements in a regular fashion)
|
|
Create patterned filters to remove or retain elements in a regular fashion
|
|
Move, rotate, scale, or remove individual elements within an existing pattern
|
|
Apply random rotations or translations to pattern elements to create partially randomized patterns
|
|
Compose patterns with one another (e.g., a circular pattern of linear arrays)
|
|
Concatenate patterns with one another (e.g., a circular pattern linked to the end of a linear array)
|
|
Reflect and mirror patterns
|