no image

Best practices in Assembly Design

April 5, 2006 Tips and Tricks

Assembly design:

Two or more catparts combined together/assembled under Assembly Workbench. Later the catparts are given constraints like offset, angle or
surface constraints etc between each other. This conventional method will be suitable if we know the position of the components upfront.
But just in case, If we need to decide the position of the component during assembly design – like designing a layout for a component, or
designing routing for wiring etc, we might need to do the following:
1) We need to assemble the component with base part,
2) Need to assembly in the layout assembly to see how much it clashes or clears the adjacent part or component.
3) Need to calculate the clearances between other available components in the layout.


Under above mentioned condition, we need to check out assembly and keep changing out component/part position to find out the optimum position in the layout. If we keep changing the part position more times in the complex assembly, we will loose
track of the constraints for the positions which we give every time.
Since we are going to decide the best position , we will always want to compare new position with old position and choose the best- hence we will retain old constraints and start giving new constraints for new position and at one point of time we will find lots of position constraints given to our Layout assembly.
To avoid such confusions in position constraints, let us adopt a best practice to solve this.

Conventional assembly method in simple terms:

Position 1 Product

Position 1 Product


Part 1 is given with position constraints and assembly with Base part.

This process is for position1. Now we want to try to move this part1 to another place in Base part to decide its best position and also to see its interference/best clearance with other components. For example: We use 2 position constraints to assemble with base part.

Position 2 Product

Position 1 Product

Part 1 is given with new position constraints and assembly with Base part in different place.

Since we got to decide the best position, we will not delete the previously created constraints. Rather we will deactivate the old constraints and give new constraints to this new position2.
Suppose we are working on complex assembly and deciding best position, I need to try out 2 or 3 best position. In such case, at one point of time, we can find lots of constraints created by us.

For example: we use 2 additional position constraints to assemble with base part and deactivating the previously created constraints


Instead of giving constraints every time for new position, let us adopt the best practice of creating separate catpart for various positions and using them in assembly as shown below:

Let us use 2 position constraints to assembly with base part as we do in conventional method.

Part 2 – will contain the position details (location points) for position 1. Similarly, we will be creating the location points which we want to try out in our layout , as separate catparts as part 3, part 4 etc.

Each time when we need to change the position of my part1 to check clearance/clash with Base part, we will replace the old position catpart – Part2 with new position catpart – say part3. we need not change the constraints given to the assembly. This method gives the flexibility to try out more number of position, also we can get back to the position we wish to have finally, without disturbing the constraints given in the assembly

Demonstration : A Simple situation is explained here

Situation is like, we need to decide the best mounting position for L-Brkt. We got to mount this brkt to frame and check the
clearance etc.
We have frame and has two components already available at fixed position. Now we got to optimize our L brkt position in the
assembly. Under conventional assembly method, we will give constraints to mount the L brkt in one position, then deactivate these
constraints and give new position constraints to try out and see its correctness as per clearance. Similarly if we need to try out
different position, we will keep on creating constraints.

Created a catpart containing details for the Position of L-Brkt as shown in tree. This part will contain the
position points which we like to try out for first case. Using these points , the L-brkt is assembly by giving
position constraints as shown.


Created one more catpart contains location points , for the Lbrkt which we like to try out for case 2 as shown below:


Now, select the catpart which contains the location details for case1 and go to components > Replace Component.
Browse and select the catpart which contains the location details for case2 and say OK.


Once we replace the catpart with new position catpart, the constraints will automatically map with the new location points and will try to update the same existing constraints which we given earlier. Say OK to this

Once if we update, we can find the Lbrkt automatically updates itself in new position.

Simple case is explained here, If we work on complex assemblies or when we need to try out more
possible positions and select the best, we can adopt this method, which saves time and can avoid lots of
positional constraints.


Incase of Complex assemblies or cases were we need to try out more assembly options for the parts, then we can go for this method,

as this method:
1) Eliminates the necessity of giving constraints for every option
2) Helps in keeping track of constraints we given.
3) Saves time
4) Can compare and choose the best option for assembly.


Can handle huge complex assemblies with ease. Can
control the use the unnecessary constraints.
This approach can be used in projects were:
1) We got to take decisions in positioning the catparts in huge assembly
2) Can be used in assemblies which involves many constraints. By applying this method, we can minimise the no. of constraints used.