Mechanical Desktop Copies and Arrays31 Mar, 1999 By: John E. Wilson
Mechanical Desktop operations that have names similar to AutoCAD operations can be perplexing to those experienced with AutoCAD commands. They either work in a different way or produce different-sometimes subtly different-results. Let's explore a couple of those operations this month. First, let's see how making copies of 3D features in Mechanical Desktop is different from making copies in AutoCAD, and then how array operations differ in the two programs.
Copying 3D Features
Making copies of 3D features can be especially confusing to Mechanical Desktop users who are accustomed to AutoCAD's COPY command. First of all, there are no prompts for base and destination points after you select the feature to be copied. Instead, an image of the feature appears on the screen and some options having rather cryptic names, such as Parameters and Flip, appear on the command line. Although you do select a location for the copy, you cannot precisely locate it as you can with AutoCAD copies. Moreover, once the copy is in place, it might or might not change when the original feature is changed.
The Mechanical Desktop command for making copies of 3D features is AMCOPYFEAT. As it turns out, the command is quite versatile-you can control the relationship between the copy and its parent, and you can even make mirror image copies. But the command does have restrictions, as shown in Table 1.
Table 1. Restrictions to Mechanical Desktop's AMCOPYFEAT Command
Only one feature can be selected with each use of the command, and only one copy can be made.
Base features cannot be copied. (Copies of a base feature can be made with another command,though.)
|Lofted features cannot be copied.|
Features having profile sketches that are closed by a feature edge cannot be copied.
|Features having To Plane, To Face or From-To terminations cannot be copied.|
Sketched features dependent to the selected feature are not included in the copy.
|Placed features (holes, fillets, chamfers and so forth) on the selected feature are copied, providedthey are entirely dependent on the selected feature. For instance, fillets on the selected featureare included in the copy, but fillets on edges between the selected feature and another feature are not copied.|
|Except for hole features, placed features cannot be copied.|
The location of the copied feature will always be on the current sketch plane. You will not be able to precisely locate the copy. Therefore, once you make the copy, use the Sketch option of the AMDEDITFEAT command to dimension and constrain the sketch to neighboring 3D geometry. In fact, sometimes you'll need to deliberately place the copy out of position so that you can better see and select objects as you add dimensions and constraints. All internal dimensions and constraints of the original feature will be part of the copied feature.
When you invoke AMCOPYFEAT and specify the feature that is to be copied, a command-line prompt asks you to select a location for the copy, and an image of the feature will appear with its geometric center located on the point you specify. It is a trial location, so you can try any number of other locations until you press the Enter key. Each time you pick a trial location, a command-line prompt gives you options to Flip the copy or to Rotate it. The Rotate option rotates the copy 90 degrees, while the Flip option turns the copy into a mirror image of the original, as shown in Figure 1.
Figure 1. These four views show typical stages in copying a 3D feature. The first view shows the feature that is to be copied, the second shows the copy in a temporary location on the current sketch plane and the third shows the copy after it has been flipped or mirrored. The last view shows the copied part after it has been constrained to the base feature.
The mirror plane is always perpendicular to the current sketch plane. The Rotate and Flip options will not be offered if the feature being copied is a hole (made with the AMHOLE command).
The orientation of the z axis of the sketch plane is important. Notice in Figure 1 that the sketch plane for the original feature and the one for the copy both have their z axis pointing into the base feature. If the one for the copy were pointing out, the copied feature would be inside the base feature-and for all practical purposes not even exist.
A command-line option called Parameters is also offered as you pick trial locations for the copy. If you select this option, you are given the choice of Independent or Dependent parameters. These options control the relationship between the internal dimensions of the copied feature and the original feature. They are probably best explained by an example. Suppose you make a copy of a sketched feature whose sketch is a square. The sides of the square are constrained to have the same length, and the length is dimensioned to be 13.5 units. Furthermore, the dimension name that Mechanical Desktop assigns to that dimension is d16. If you select the Independent parameter as you copy that feature, the dimension of the square in the copy is set to 13.5-the value of the comparable dimension in the original feature. On the other hand, if you select the Dependent parameter, the dimension would be set to d16-the name, rather than the value, of the dimension in the original feature.<
When the dimensions of the copied feature are tied to those of the original feature through the Dependent option of AMCOPYFEAT, they are automatically changed anytime the matching dimensions on the original feature are changed. Regardless of which option you choose, though, you can later edit the dimensions through the AMEDITFEAT command to set them equal to any value, dimension name or variable you choose.
You can make copies of sketches, rather than features, with the AMCOPYSKETCH command. This command has an option called Feature that allows you to even copy sketches that have been consumed during the creation of a 3D feature. You cannot, however, copy profile sketches that use feature edges to close the sketch. Similar to copies of features, the sketch copy is always placed on the current sketch plane and only internal constraints and dimensions are kept by the copy. After you make the copy, constrain it to existing 3D features. No Rotate, Flip or Parameters options are offered by AMCOPYSKETCH.
Arrays of 3D Features
Arrays (copies) of a 3D feature are actually a little more straightforward to make than individual ones. Also, the restrictions on making copies of features having profile sketches that are closed with a feature edge, or that have To Plane and To Face terminations do not apply to arrays. Similar to AutoCAD, the array pattern can be a matrix of rows and columns (a rectangular array) or it can be circular (a polar array). Unlike AutoCAD arrays, though, the array members are not completely independent of each other. The relationships between the original member and the dependent members of an array (or, as Mechanical Desktop calls them, the instances of the array) are shown in Table 2.
Table 2. Relationships Between Members of an Array
Features that are dependent to the original member are included in the dependent members of the array. Thus, a fillet on the edge of a round hole is included in an array based on the round hole.
|Modifications made to the size and shape of the original array member, such as changes to its profile sketch or to the radius of a fillet, are made in all members of the array. You cannot, however, edit the size and shape of dependent members of the array. Hence, if a fillet is included in an array, you cannot change the radius of that fillet on a dependent member of the array.|
|Geometry changes or additions to members of an array, either the original or the dependent members, do not affect other members of the array. For instance, if you array a round hole and then chamfer the edge of the hole, the dependent members of the array are not chamfered.|
|Deletions of features on the original member of an array do not affect the dependent members of an array. You can, for example, delete the fillet on the edge of a round hole, and the depend- ent members of the array retain their fillets. You cannot, however, delete features of array- dependent members. Thus, you cannot delete the fillet of a round hole on a single dependent array member.|
|If the original member of an array is deleted, all dependent members of the array are deleted as well. If you delete a single dependent member of an array, the other dependent members are also deleted, but the original member of the array is not affected.|
The command that creates arrays, AMARRAY, displays a dialog box for you to enter the data for the array. The dialog box has one tab for rectangular arrays and another for polar arrays. When you are setting up a rectangular array, you will enter the number of columns and rows, plus the spacing between columns (in the x direction) and rows (in the y direction). You can enter numbers, variables and the names of dimensions for both quantity and spacing. Directions are always relative to the x and y axes of the current sketch plane. To help you visualize the directions, Mechanical Desktop displays arrows with direction labels in the center of the feature you selected for the array, as shown in Figure 2.
Figure 2. When you select a feature to be arrayed, Mechanical Desktop displays arrows in its center that indicate the directions of rows and columns for rectangular arrays and the positive angle direction for polar arrays.
The selected feature counts as an array member, so an entry of 1 for a row or column makes no copies in that direction. Unlike AutoCAD, you can have an array with just one member. No copies are created, but later you can edit the array and add members to it.
When setting up a polar array, enter the number of members in the array-again, with the selected feature counting as a member-and the angular range of the array. You can specify the range in one of three ways:
Full Circle. You can specify that the array copies will be evenly spaced through a full 360 degrees.
Included Angle. The array members will be evenly spaced through a specified angle that is less than 360 degrees.
Incremental Angle. The array members will be spaced at a specified angle from each other.
The polar array shown in Figure 3 is a Full Circle array.
Figure 3. This figure shows a typical polar array. The base feature and the feature to be arrayed are shown on the left, while a full circle array of the feature is shown on the right.
Similar to what you can do in AutoCAD, with Mechanical Desktop you can have the array copies rotated so that their orientation to the center of the array is the same as that of the original array member, or you can have them maintain the x and y axis orientation of the original member.
After you have set the parameters for a polar array and have exited the dialog box, Mechanical Desktop issues a command-line prompt for you to select a work point, a work axis or a cylindrical surface to serve as the axis of the array. Since the array rotation must be in a plane parallel to the current sketch plane, the work axis or cylinder you select must be perpendicular to the current sketch plane. When a work point is used as a center, it is consumed when the array is created. The normal rotation direction of the array is counterclockwise when you are looking down toward the sketch plane. You can, though, reverse this direction by entering a negative number for the array's angle. Each array is considered to be a feature, and therefore is listed in the Desktop Browser with a name such as RectArray3 or PolarArray1. If you delete an array, its original member remains.
The real power of parametric solid modelers, such as Mechanical Desktop, is not so much in the creation of features as it is in the ability to modify them after they are created. This enables you to not only easily fix flaws in designs, but to adapt designs for other circumstances and uses. As you would expect, there is a full set of tools for editing arrays.
Arrays are edited through the AMEDITFEAT command. All of the dimensions related to the array are displayed adjacent to the array in the graphics window, as shown in Figure 4.
Figure 4. When you edit a rectangular array, the spacing between instances (the elements in the array) are displayed as dimensions, and the number of rows and columns is shown in equation form with names consisting of a number preceded by the letter c.
The spacing between members of a rectangular array are displayed as linear dimensions. If you have dimensions displayed as equations or parameters, the dimension names are a number preceded by a lowercase letter d. The number of array elements is always displayed in equation form, with their dimension names beginning with a lowercase letter c. You can change the values of both the spacing dimensions and the row/column quantities.
The number of elements in a polar array are also displayed in equation form with a name beginning with a lowercase letter c. The angular range of the array is displayed as an angle dimension (unless the array is a Full Circle array). You can change the angle used for Included and Incremental Angle arrays, but you cannot change the method used for defining the angle. As is true with all editing operations on 3D features, you must invoke the AMUPDATE command to initiate the changes.
The AMEDITFEAT command also has an option-named Independent array instance-which will release an array member from the array. The option asks you to select one array instance. You cannot select the original member of the array. After you have selected an array instance, nothing appears to have happened. Nevertheless, the selected instance is a 3D feature of its own, and it is listed in the Desktop Browser. The internal dimensions and constraints of the original member of the array are incorporated in the sketch of the new feature, but you must manually add constraints and dimensions to tie the feature to external objects. If the array is based on a hole feature that was positioned on a work point, a new work point is automatically created for the new feature. This option does not work with arrays in which the sketch for the original member of the array was closed by a 3D feature.
Copy and array operations are just two examples of how Mechanical Desktop methods are basically different from those of AutoCAD. At first you may find some of Mechanical Desktop's methods to be awkward and confusing, but once you master them you will appreciate their power and flexibility.