Multi-level assemblies with motion

OK, for any advanced users of Inventor, I have a question about assemblies.

First off, I am a user of ProE/Creo in my day job, so my expectations and biases come from that perspective.

In inventor, I am having trouble with multi-level assemblies and degree of freedom motion. If I create an assembly of parts with a range of motion (like a pneumatic actuator), I can easily drag the mobile portion of the assembly to show the range of motion. However, If I then use that part as a component of another assembly (piston attached to rotating arm), the range of motion appears to be fixed to the last state of the lower level assembly.

Is there a way to actually move parts in a sub assembly from a top level assembly, or is this action not possible in inventor? I’m accustomed to creating moveable assemblies in ProE, then joining several of those to view the complex motions created by joining multiple pieces.

The only work around I’ve been able to come up with is to have all parts in one giant assembly, so there are no sub-assemblies. This seem ridiculous to me, so I’m hoping there’s some awesome trick I’m missing to allow motion of subassemblies in Inventor.

Thanks for your help!

IIRC, you can right click on sub assemblies and check “Adaptive”
That unlocks parts in the sub assembly to move.

Hopefully that works for you.

You need to right click on the part you want to gain DOF motion for and select “Flexible”.

Fair warning, Inventor doesn’t handle motion all that well, especially multi-level assemblies. Several constraints inside the assembly tend to break for no apparent reason. Clicking on the design doctor and just acknowledging the error seems to correct it.

Do you know of this works in SolidWorks too? I used to be an Inventor user, but our CAD mentor had us switch over to SW last year…

For what it’s worth, I usually plan on putting everything I want to move at once in one assembly. Either that or (to test a few configurations, not motion) moving one subassembly, then saving it, and then going into the main assembly and hitting update

I often move the components I want to move out of the assembly (right click, component, promote), and I group things that move together into assemblies. For me, inventor doesn’t handle large assemblies very well, and it seems that solidworks is a little bit more stable when it comes to things like this.

There are some practices that make large assemblies behave better in Inventor. Make sure there aren’t any warnings in your sketches so that constraints don’t fail; constrain to work planes and axes when possible since you know those aren’t going away; turn off adaptivity; don’t apply redundant constraints. The way one chooses constraints in sketches and in assemblies is going to have a lot to do with how often the model does weird things or crashes. Also, if the model is built in a funny way and then a modification breaks some relationships or causes constraints to conflict, that’s going to make the model act weird. I can think of some things make a model resistant to problems like that, and if anybody has a guide like that it would be a useful resource. The OP probably already has a good feel for that from using Creo.

Also, if you demote some parts and then make the new subassembly flexible, you can see problems in some cases, because certain constraints will get broken depending on how you had it constrained before demoting the parts. That is easy enough to fix by going into the subassembly and adding new constraints.

Thanks everyone. Turning parts to “flexible” did the trick. I’m not a big fan of demoting assembly parts into sub assemblies. I prefer the Bottom-Up approach to assemblies because the same parts/sub assemblies occassionally get used in several locations around the robot.

That being said, I’ve found the Top-Down approach for part modeling really helps if you’re constructing an assembly, because as Nemo said, you want to constrain to axes and planes for better stability.

Nice subassembly organization to save time and keep things clean isn’t conducive to handling motion the way you do. I used to do it this way, until someone on chief tipped me off to the solution.

-Right click on a subassembly in the feature tree, and go to “component properties”.
-Near the bottom right, there is “Solve as”. Set this to flexible.

Enjoy cleaning organization and all the movement you want!

I find keeping every movable part movable annoying, so I often set things back to rigid when I’m done analyzing motion.

A bit further off topic, sometimes when a design is closer to done, I’ll mate the systems into all their possible positions and have each as a configuration at the top level. So you have a “load”, “shoot”, etc… configuration that shows all systems in their appropriate location.

Alright, what you need to do is make sure that everything that needs to be constrained is constrained first. Once that is accomplished, you can right click on all of you sub-assemblies and make the option “flexible” checked. Also, if an assembly is grounded, it will not be able to move.

P.S. Inventor is also very finicky, so it might not always work out the way you want it too…