Thursday, 10 March 2016

Precise Move Components

Is there a way to select components in an assembly and move them all an exact relative distance?

Sometimes we just need to move a group of components in a certain direction all at once and if they are constrained together then it is just a matter of editing the constraint value but what if they are not constrained one to another or what if the parts are not constrained at all.

Some of foreign models we receive are translated as assemblies with parts but as you know those are not constrained but rather placed together and they are free to move around.

If the whole imported assembly needs moving that’s easy, right? Just constrain it and then edit the dimension value but what if you need to reposition some of the parts inside the assembly?

My blogs seem to be related to one another and while this is not entirely intentional I think you will remember them better, just like in school when we were told the same thing over again till we got it.

The way to move several components (parts/assemblies) at once is to demote them to a temporary assembly, move/constrain them, and then promote them again. Because constraints work with faces, axes, planes, they will follow the members (parts/assemblies) no matter how you move them in the tree structure, in other words Promote/Demote will not mess up the constraints.

For example, say you have 4 chairs constrained to the floor and you need to move them together an exact, relative distance. When you demote the chairs the assembly containing them will have 4 constraints to the floor and after you move the assembly around and you promote the chairs you will see that each is constrained to the floor.

If the components need to move along the origin axis then you are better/faster to edit the value in the iproperties / Occurrence tab / “Current Offset from Parent Assembly Origin”.

Select your components you choose to move and press TAB key or use right click Component / Demote command. Don’t worry about giving a proper name or save location, we will never save this assembly on disk. It will stay in memory just till we finish with moving.

Demote components

TIP: In browser you can use SHIFT, CTRL select but in the graphical window you can use window selection.

Click OK in the Create In-Place Component window and then right click the newly created assembly and choose iproperties.

Precise move.

Head over to Occurrences tab and change the value in the X,Y,Z direction as you need.

You can use the origin indicator to help with choosing dimension. Remember that a negative value will move it against the axis direction (check the arrow indication) while a positive value will move in the direction of the axis.

Find the assembly in the browser and promote all of it’s components back again. You will notice that they have kept the new position.

Promote components

Delete the temporary assembly and choose No in the save dialog window.

Delete temp assembly.

It might not be that often that you will use it but it’s good info to have when dealing with large imports.

Short animation.


photo credit: mic (license)