Suggested Technique for Using a Layout for Automatic
Configuration of an Assembly
Tables in Layout mode can be used to easily configure an assembly. By defining parameters in layout mode and then declaring all components in the assembly to the layout, the layout can control both the dimensions of assembly components and which instance of a component is used in an assembly. In the following example, a pipe has been assembled to the exhaust port of a large chamber. Only a short section of the pipe and the top plate of the chamber are shown. There are a number of variable elements in the manufacture of this assembly. First, the inside diameter of the pipe and the diameter of the hole in the plate are variable and are independent. This requires the addition of a reducer between the plate and the pipe. Secondly, the number of bolt holes along the top flange and bottom flange of the reducer are variable and can be different. Finally, the pipe can be straight with a variable length or it can be bent with a variable bend radius and bend angle. Rather than attempting to create a number of complex relations between the components in the top level assembly, a clear and simple table will be created in layout mode and then the layout parameters will be used in the individual components. Shown below in Figures 1 and 2 are one possible configuration for the assembly and the corresponding layout table values.
Figure 1
Figure 2
Procedure Download Example Files for this Example 1. The first step in the creation of the assembly is to build each component. The first component created was the Plate. A large hole is placed in the middle of the Plate with a pattern of small holes around it. Later, relations will be created to keep the holes evenly spaced. In addition, the diameter of the center hole and the number of holes in the bolt hole pattern will later be controlled by the layout parameters. The Plate is shown below in Figure 3.
2
Figure 3
2. The next component to be created is the Pipe. First, the flange is created and the radial bolt holes are placed through it. A Relation will be created later to keep them evenly spaced around the flange. Next, the straight pipe section is extruded off of the flange and the bent pipe section is revolved off of the flange with a variable angle. Later, the size of the center hole, the number of flange bolt holes, the length of the straight section of pipe and the bend angle and bend radius of the curved section of pipe will be controlled by layout parameters. The next step for the Pipe is to create the instances for the straight pipe and the bent pipe. Create two instances, "Straight" and "Angle", one with the straight extrusion but not the bent revolution and the other with the revolution but not the extrusion. The full pipe and the two instances can be seen below in Figures 4, 5 and 6. For more information on using Family Tables in assemblies, see Creating Family Table Driven Assemblies.
Figure 4
3 Figure 5
Figure 6
3. The final component to be created is the Reducer. This component is necessary if the hole in the Plate and the inner diameter of the Pipe are different. First, the two flanges are created a set distance apart. As in the Pipe, a relation will be created to keep the bolt holes evenly spaced around the flanges. Finally, a revolved protrusion is created with a spliner section for the reducer section. The diameter of both center holes, as well as the number of bolt holes in each flange, will be controlled by layout parameters. The completed Reducer is shown below in Figure 7.
Figure 7
4. The next step after creating the components is to begin creating the assemblies. The first assembly to be created in the Reducer assembly called reducer.asm. After placing the Reducer into the assembly as the first component, the Pipe is assembled to it. To assemble the components, the center axis of both components are aligned, the underside of the Pipe flange is mated to the top of the Reducer flange. To complete the assembly, a bolt and nut are placed in the first bolt hole of the Pipe and reference patterned through all of the bolt holes. The Reducer assembly is shown below in Figure 8. The instance of the Pipe to be used in this assembly will later be controlled by an assembly program based upon the values of the layout parameters.
4
Figure 8
5. The next step is to create the top level assembly called top.asm. The first component to be placed in this assembly is the Plate. Next, the Reducer assembly is assembled onto the Plate. This is done by aligning the center axis of the Reducer and the Plate, and mating the bottom flange of the Reducer to the top of the Plate. Next, place a bolt and nut in the first bolt hole on the Plate and reference pattern these components to all bolt holes. It is important to be sure that the bolts reference only the Plate, not the Reducer. Since the Reducer will not be present in all configurations of the assembly, the bolts may fail if they have any references to it. Suppress the Reducer assembly and assemble a Pipe into the same location and in the same manner. After assembling the Pipe, resume the Reducer assembly. This assembly is shown below in Figure 9. Based upon the layout parameters, an assembly program will add either the Reducer assembly or the Pipe but not both. If the Pipe inner diameter and the Plate hole are the same size the Pipe will be used. Otherwise, the Reducer assembly will be added. The program will also control which instance of the Pipe is used if necessary.
Figure 9
6. After building the parts and assemblies, the layout is created. Click File >New >Layout and create a layout called top_lay.lay. Now, create a table by clicking Table > Insert >Table. The table for this example has two columns and 10 rows. The first column will contain a description of the value in the second column and the second column will contain the parameters for controlling the assembly. Create the parameters listed in Figure 10 by clicking Tools>Parameters and enter values specified in Figure 2. After creating the parameters place them into the second column of the table with an ampersand (&) in front of them. This will cause the value of the parameter to be shown. Later, the configuration of the assembly can be changed by simply modifying a value (by double clicking on the cell) from the table. The table created for the Exhaust Port assembly (top.asm) is shown below in Figure 10. Note that the PIPE_STRAIGHT parameter must be a Yes No parameter type while the others are Real Number type.
5
Figure 10
7. The next step is to declare the components to the layout and create the necessary part relations. To declare a component to the layout, retrieve the component and click File > Declare. Next, select Declare Lay from the DECLARE menu and select the name of the layout with the table. This will allow all layout parameters to be used at the part level. After declaring each part and assembly to the layout, the following relations need to be created. The name of each component is listed, followed by the relations for that component. The left side of the equations should be replaced with a dimension symbol.
Pipe Diameter of Center Hole in Flange =PIPE_HOLE_DIA Number of Bolt Holes in Flange =PIPE_BOLT_HOLES Length of Straight Extrusion =PIPE_STRAIGHT_LENGTH Bent Pipe Bend Radius =PIPE_BEND_RADIUS Bent Pipe Bend Angle =PIPE_BEND_ANGLE Hole Pattern Dimension Increment =360/PIPE_BOLT_HOLES
Reducer Diameter of Center Hole in Top Flange =PIPE_HOLE_DIA Number of Bolt Holes in Top Flange =PIPE_BOLT_HOLES Diameter of Center Hole in Bottom Flange =PLATE_HOLE_DIA Number of Bolt Holes in Bottom Flange =PLATE_BOLT_HOLES Bottom Flange Hole Pattern Dimension Increment =360/PLATE_BOLT_HOLES Top Flange Hole Pattern Dimension Increment =360/PIPE_BOLT_HOLES
Plate Diameter of Center Hole in Plate =PLATE_HOLE_DIA Number of Bolt Holes in Plate =PLATE_BOLT_HOLES Hole Pattern Dimension Increment =360/PLATE_BOLT_HOLES
Note: Parameter names correspond to the names created in the layout.
8. After declaring all components to the layout and creating the relations, the components in the assembly will update their dimensions correctly. The only remaining step is the creation of the assembly and sub-assembly level programs to control which components are placed into the assemblies. In the Reducer assembly, create a program which determines the proper Pipe instance to assemble and then adds that instance. In the relations section of the reducer assembly program, add the following lines: IF PIPE_STRAIGHT PIPE_TYPE ="STRAIGHT" ELSE PIPE_TYPE ="ANGLE" ENDIF
where PIPE_STRAIGHT is a true/false parameter from the layout. Next, find the location in the program where the pipe is added to the assembly and change the first line of the section from ADD PART PIPE to ADD PART (PIPE_TYPE). These two changes will cause the correct instance of the pipe to be placed into Reducer assembly.
9. Finally, the program needs to be created for the top level assembly. This program will determine if the Reducer is needed and then add either the Reducer assembly or the Pipe but not both. If the Pipe is added, the program will determine which instance is needed and assemble the appropriate one as in the Reducer assembly. In addtion, if the plate hole diameter and the pipe hole diameter are the same(i.e the reducer is not present), the bolt holes in both the plate and pipe need to line up. Add the following lines into the relations section of the program: IF PIPE_HOLE_DIA==PLATE_HOLE_DIA d10:0=d2:6 ENDIF IF PIPE_STRAIGHT PIPE_TYPE ="STRAIGHT" ELSE PIPE_TYPE ="ANGLE" ENDIF
Note: d10 is the bolt hole circle radius for the hole pattern in the plate, and d2 is the bolt holecircle radius for the hole pattern in the pipe
After adding this section, change the line which reads ADD PART PIPE to ADD PART (PIPE_TYPE). Also, place an if statement around the add pipe section so that the Pipe is only added if the Reducer is not required. The finished section should read as follows: 6 IF PIPE_HOLE_DIA ==PLATE_HOLE_DIA ADD PART (PIPE_TYPE) INTERNAL COMPONENT ID 95 PARENTS =39(#5) END ADD END IF
Note the use of the double equals sign when used in an if statement. A single equals sign will attempt to set the two parameters to each other rather then check to see if they are equal. Finally, place an IF statement around the section which adds the Reducer assembly. The Reducer section should look as follows: IF PIPE_HOLE_DIA !=PLATE_HOLE_DIA ADD SUBASSEMBLY REDUCER INTERNAL COMPONENT ID 40 PARENTS =39(#5) END ADD END IF
Keep in mind that the internal component ID's and parent information may change for different assemblies and components.
10. The Exhaust Port assembly top.asm can now be configured by simply modifying the values in the layout table. The purpose in using the layout is to eliminate external references between components and to provide a single place from which all of the parameters which control the assembly can be easily viewed, selected and modified. Shown below in Figures 11-16 are three possible sets of values in the layout table and the corresponding assembly. By simply modifying the layout table (double click in a cell to modify the value) and regenerating the assembly, the entire assembly configuration is changed without the need to manually replace any components or retrieve individual components to modify dimension values. It is important to note that the value of some parameters may be irrelevant in certain cases. For instance, if the straight pipe is used, the bend angle and bend radius for the pipe have mo meaning.
Figure 11
Figure 12
7 Figure 13
Figure 14
Figure 15
Figure 16 8
Description ----------------- This technique discusses how draft entities can be copied from one sheet of a layout to another. The same technique can be used in drawings.
Alternate Technique ----------------- See Resolution below.
Resolution ----------------- The draft entities can not be directly copied from one sheet to another but a symbol can be created using the draft entities and then the symbol can be placed on other sheets. Select #Detail, #Create, #Symbol, #Definition, #Define and enter in a name for the symbol. Select #CopyDrawing, #PickMany and drag the box around all the entities that will be copied. Note that the entities now appear in the symbol window. Finish the creation of the symbol by selecting #Done, #Free from the Allowed Placement Type and select an origin point. Select #OK and #Done. The message window should verify that the symbol has been created.
The symbol can now be placed on other sheets. Select #Detail, #Create, #Symbol and a dialog box will then appear. The symbol can be placed and treated as a symbol in the layout by just selecting #PlaceInst and selecting a location on the screen. If the functionality of the draft entities is desired, such as the ability to move the individual segments of the sketch, then select #Explode from the pull-down menu instead of #UseDefinition before placing the symbol with #PlaceInst. Note that the symbol menu can not be used on the sketch because it is now considered to be draft entities.