The final method was chosen as the best method construction for this part. It requires the least number of independent variables. It also uses the fewest commands (five) of any of the methods. The next step in modeling was to consider the part origin, orientation, construction plane (cplane), and layer. The cplane used determines how the global axis is oriented with respect to the drawing views. When the top cplane is being used, the X and Y axis are in the plane of the top view, and the Z axis is directed upwards, out of the screen. It was determined that the part should be constructed such that the origin of one of the mounting holes be located at the global origin, with the axis of the hole along the Z axis and the second hole on the positive X axis. This was chosen to follow Raytheon standard practices. The top cplane was used to create this part, since the circle for the drive sweep needed to be in the XY plane. The model was built on layer 1, since Raytheon standard practice dictates that no entities be created on layer 0.
The process by which the lines for the path curve are inserted is important. The series of lines was inserted with its first point at the origin. The second point was located at a Delta-Z offset referenced from the origin, which is a distance along the Z axis from a given point, in this case the global origin of the part. The next point was at a Delta-X offset corresponding to the center-to-center distance between the mounting holes. The final point was at a Delta-Z offset which located it on the X axis. There are only four parameters describing this set of lines. The first is the start point, which is fixed at the origin. The other three parameters are controlled by constraint variables. These lines were joined to create a single open curve and fillets were added to the two corners.
The circle was added by specifying the diameter and origin. The origin is fixed at the global origin and the diameter is controlled by the family variable corresponding to the material diameter. The next step was to add the drive sweep, using the circle as the section curve and the lines and fillets as the path curve. This operation creates a solid by moving a closed curve, the section curve, along a continuous path, the path curve. The solid contains all points contained inside the section curve as it is moved along the path curve. A circle swept along a straight line would create a cylinder. A rectangle swept along the same line would create a box. Finally, two conical-bottomed screw holes were added using a feature from the standard library. These were positioned with the origin at the end of the lines, using the bottom cplane. This added six more parameters to the model. Two of the parameters are the angle of the conical bottom, and were left at their defaults. The next two are the diameters of the holes. The final two parameters are the depths of the two holes. The depths of the two holes and the diameters of the two holes are the same, and each pair is controlled by the same variable, thus they are always equal. They are separate parameters because the feature used can only insert one hole at a time. (See Figure 4.5.)
Figure 4.5: Isometric View of CADDS5 Model Showing the Variables Used
Once the geometry was complete, the constraint variables were added. This part uses seven variables, as shown in Figure 4.5. Five of these are Family of Parts controlled variables, and the other two are computed variables. The five Control Variables are the depth of the screw hole (D), the height of the handle (H), the center-to-center length of the handle (L), the material diameter (OD), and the hole diameter (Hole). The two additional variables are the fillet radius (Fillet), and the height of the second line in the path curve (Height), which is also the length of the first and third lines. Fillet is set to 1.5 times the material diameter, since the inside radius of the handle curve is equal to the material diameter. Height is the given height (H), minus one-half the material diameter, which gives the centerline of the center part of the handle.
These variables were then assigned to control the model parameters. Height was attached to the Delta-Z parameters of the first and third lines, L to the Delta-X parameter, Fillet to the fillet radius, OD to the diameter of the circle, and Hole to the diameter of the mounting holes.
The final step in creating the master part was to specify which of the variables would become family variables. This step created the _tbl file in the directory of the part, marking it as a master part. Once the model was complete, all that remained was inserting all the appropriate information in the _tbl file. This is the original _tbl file as created by CADDS5:
############### # Family Table: ############### Member_name D H L OD Hole Master 0.0625 1.0000 0.7500 0.1250 0.0625
This lists the 5 control parameters, and the member name associated with each set of parameters. Since CADDS5 ignores any columns that have variable names not listed in the master part as control parameters, several other columns were added to aid in the creation of the file and later retrieval of the information. The file was loaded into Microsoft Excel v5.0 for processing. The file with the new information is shown below:
###############
# Family Table: Base Dir:fpts.handle-round
###############
Member_name D H L OD Hole \
Base_No Thread Amatom_A_No Amatom_B_No Amatom_SS_No \
Full_File_Name
Master 0.0625 1.0000 0.7500 0.1250 0.0625\
10000 0000
The company that manufactures the handles uses part numbers that are made up of a five digit sequence number, a code for the material type, and the thread size. It was decided that the vendor number not be used as the Member_name. These part numbers are subject to change at the vendor's discretion. Also, multiple part numbers map to the same model since the material has no effect on the model. The decision was made to use a separate sequence number, and to list the vendor part number in the spreadsheet. When this was first decided, it was thought that the thread size would also have no effect on the model, since that data was not available. However, this turned out to be an incorrect assumption, since the depth of the mounting hole changes with thread size. Therefore, the thread size was added to the sequence number. The vendor's four digit thread codes were used for this purpose. Each model has an eight character name, in the form ddd-dddd. Each of these names has three different vendor part numbers associated with it, and these are listed in the table under Amatom_A_No, Amatom_B_No and Amatom_SS_No for aluminum, brass and stainless steel handles respectively.
To facilitate entry of all the data into the file, which has 795 entries, the Base_No and Thread Code were listed in separate columns, and then assembled using formulae to form the three vendor codes. This made building the database easier because the vendor codes were generated automatically.
The final column contains the full part name, which is formed by taking the name of the master part, and appending ``-family.'' followed by the part name. This was added to make locating the proper part name easier, especially if the designer already had the Amatom part number and wanted to find the part name. A UNIX utility for searching for a given string in a text file, such as grep, could be used to find the part number in the file, and this would provide the full part name.
Once the spreadsheet was complete, a copy was saved as a space delimited text file, and was put in place of the original _tbl. The columns had to be sufficiently wide such that the data would appear properly in the text file. If the columns were too narrow, the columns would run together, or the data would not appear at all. The font of the spreadsheet was changed to a fixed-width font, and the ``Auto-fit column width'' feature of Excel was used adjust the column widths. Because left-justified text would run into any right-justified numbers in the preceding column, a column with a width of one character was inserted between the text and numerical columns.
Last Modified: Wed Aug 28 14:41:29 EDT 1996
Gregory Marr <gregm@alum.wpi.edu>