Using Derived Component to Drive Adaptivity (Avatech Tricks Tutorial)29 Feb, 2008 By: Greg Shaffer
When the Adaptivity tool alone will not work, a derived component can save time and effort.
Adaptivity in Autodesk Inventor can be a time-saving tool when a component's size and/or shape will be controlled by another part. However, sometimes Adaptivity alone will not work, such as when you want to drive a hole pattern and hole count. In these cases, you can use a derived component to achieve the desired results.
In this column, I'll describe using a derived component to control the hole pattern and hole count from one part to another, and I'll discuss why the Adaptivity tool will not work in this example.
For this demonstration, I have elected to use the example of an engine block as the base component of my driven assembly. This simplified lower portion of an I-4 engine design will drive the shape, size, and hole patterns of both the oil pan and the oil pan gasket. In the real world any changes to the block would require changes to the other two components, therefore an adaptive design would result in significant time savings as changes to the block design occurred.
Complete engine block assembly.
As far as the size and shape are concerned, the Adaptivity feature works just fine. However, problems arise when you try to create the bolt hole pattern using this method. As long as the hole pattern or count does not change much, the Adaptivity tool will work. But if the number of holes changes significantly enough to force one bolt hole to move past the previous location of another bolt hole, the process breaks down and the hole pattern does not update properly. In this case, a combination of the Adaptivity tool and a derived component will work best to achieve the desired result.
To start, I created the engine block part. I also moved the End of Part (EOP) up above the hole pattern. Of course, I could wait to create the bolt hole pattern in the block until after the gasket has been created. Remember that you must create the new component without the hole pattern being present.
I placed this component into an assembly. Next, I created a new component (the gasket) in the context of the assembly. I started the new component on the appropriate face of the block, making sure that the edges of the face are projected onto my sketch.
Starting new sketch on face of the engine block.
I then closed the sketch and extruded the face to create my gasket. I would repeat the same process to start the oil pan component from the gasket. However, I'll just concentrate on the gasket for this lesson.
Return End of Part to the bottom.
Since I had moved the EOP up in order to create the gasket part, I will now return the EOP to the bottom in order to access the hole pattern.
In the interest of time, I have already created the hole pattern. However, let's look at a couple of things that were done to enable the derived component method to work properly. First of all, the dimension name Parameter for the thickness of the block wall was changed to FaceWidth. Naming the dimensions allows me to select them from a drop-down list of parameters to drive other dimensions as well as to export them for use in derived components.
Next, notice that the position of the Center Point (which will become the first hole of the Hole Pattern) has been named HoleStartPosition. The distance from the edge of the Block has been renamed HolePtrnOffset, and this dimension references the FaceWidth parameter, which locates the position and keeps it parametric.
A sketch has been added that includes a circle and an offset edge. The circle is used to maintain a parametric relationship to the hole as well as to provide a point from which to create a coincident constraint to control the location of the offset edge. The offset edge will be the curve used to guide the pattern.
Offset edge and sketched circle.
In the Pattern Tool dialog box, I have selected Curve Length for the direction and determined that 36 holes will be required. Under the More section, I chose the Start position and selected the existing hole. This is necessary in this instance to ensure that the pattern will follow the path correctly.
Rectangular Pattern dialog box settings.
Finally, a sketch was added that is parametrically related to the first instance of the hole created with the Hole tool. This parameter was renamed HoleDiameter, and it will reflect any changes made to the hole through the Hole tool, such as a larger or smaller fastener being specified.
The next step is to go into the Parameters section and rename all the necessary parameters. Notice that the hole count from the Pattern tool has been renamed NumberOfHoles. Also, notice that there is a Reference Parameter called HoleDiameter. This is the dimension of the sketched circle I added that is related to the bolt hole size. Now I need to check the boxes of the parameters that I want exported. When I hit Done, the selected parameters are made available to any part I want to derive from this component.
Parameters dialog box.
In the gasket part, I am ready to create the hole and hole pattern that will match the block component. I will use the Derived Component tool to accomplish this. First, I will select Derived Component, then choose the Engine Block file from which I will pull the required parameters that I just exported.
Three different buttons with icons represent what is being imported and what is not. A gray button with a slash indicates that nothing from that area has been selected for import. A gold plus sign indicates that this has been selected for import, and a half gold/half gray icon indicates some, but not all of the items in the tree below that have been selected for import.
Derived Component dialog box icons.
In this case, I have selected the following parameters under Parameters/Model Parameters: HolePtrnOffset, HoleStartPosition, NumberOfHoles, and FaceWidth. Under Reference Parameters, I selected HoleDiameter. (You can also import solids, but for this exercise I only need parameters.) These block parameters will drive the gasket hole positions, size, and pattern.
Now, if you look at the parameters of the gasket component, you see that the imported parameters are all listed at the bottom of the dialog box. These are now available to use as references for this component.
I'll start a new sketch and add a hole center. Then I'll dimension it using parameters imported from the engine block file. For the first dimension, I'll use the HoleStartPosition parameter. For the second dimension I'll use the HolePtrnOffset parameter.
Selecting HolePtrnOffset parameter.
Now I'll exit the sketch and start the Hole tool. For the diameter, I'll use the HoleDiameter parameter.
I'll create the same sketch on the gasket as I did on the engine block. The hole is automatically projected, and I'll use the Offset tool to offset the edge. A coincident constraint will locate the offset edge at the center of the hole.
Using the Pattern tool, I select the hole to pattern, then choose the offset edge as Direction 1. I change Spacing to Curve, select the start point, and change Number to the NumberOfHoles parameter.
Rectangular Pattern dialog box settings.
Now if you look back at the assembly, you'll see that the gasket and the block hole patterns match. And if you were to make a change to the hole pattern in the block component, the gasket will update to match.
This is just one example of how you can use a derived component to achieve the desired results.