Showing results for 
Search instead for 
Did you mean: 
Showing results for 
Search instead for 
Did you mean: 

The PTC Community email address has changed to Learn more.

Showing motion, previous solidworks user


Showing motion, previous solidworks user

Showing motion has been a challenge....Those that are familiar with solidworks probably know configurations and using constraints to demenstrate positions of cylinders and such.  From what I can understand there are what seems to be the equivalant of advanced constraints that allow motion.  My issue is for whatever reason it seems like certain constaints or patterns of components fully constrain my model.  Things that I guess I am use to using in solidworks and inventor that would not.  The other issue I am having is for whatever reason my subassembies seem to allow me to click and drag cylinders.  Then the next day or next time I reopen them they do not.  This is extremely frusturating.


We are using creo 4


Accepted Solutions

So I switched my units to in/lbs/s and ended up getting an error in the gripper body that was not there before.  I suppressed those features.  That appeared to fix it.  

View solution in original post


Two things that typically cause the model to "lock up":

  • Allowing Assumptions - Creo will assume the orientation of a part constrained by a cylindrical surface or axis and a perpendicular surface constraint.  This make hardware quicker to install.  You can turn this off by unchecking the box in the placement menu while defining placement.
  • Referencing multiple components - Creating constraints to multiple components in the same Set when placing a part can "lock up" a mechanism.  Creating a New Set for each additional part that you need to reference will usually prevent this.

Not sure why cylinders stop moving the next time you open them.

There is always more to learn in Creo.

I have the allowing assumptions unchecked.


I have noticed mating to multiple parts are causing issues whether it locks up or behaves not completely constrained.  I've been constraining to the datum planes now.  Other features I'm noticing that's causing this is using patterns of components.


Is this fixed in the newer versions of Creo?  I can't believe how inefficient this program is.



Well, one will be usually inefficient when using an unknown tool.  You'll get good support from this forum because Creo is not easy to "get to know" all by yourself.


I recall that in Solidworks, one easily specifies the constraints (mates?) between components and it "finds" the kinematic configuration of the assembly.  Well, this is not how things work in Creo, and you have to be very explicit when creating kinematic connections.   What's more frustrating is that they system does not give you good tools to fix the problem.


Actually, I still don't quite understand how it all works - I took the cylinder example provided elsewhere in this thread and tried to make it lock up by having the rod's constraints be "shared" between different models, but it still works.  I include it to touch on the "regeneration value" aspect of a kinematic connection - maybe those are responsible for your cylinders "resetting" themselves.


After regenerating, this cylinder will always return to a position where its rod end is 0.563" beyond the bracket's edge.After regenerating, this cylinder will always return to a position where its rod end is 0.563" beyond the bracket's edge.



BTW, note that you can hold CTRL+ALT and then left click on a component to drag it around subject to its constraints.  Also, I assume you know how to use the "Drag Components and Mechanism snapshots" tool to capture different motion states so that you can then show them on your drawing (as different explode states - yeah, kind of a hack).

Motion can be a little tough to get the hang of in Creo but there are some tips that can help make the learning curve less steep. Here are a few:


  • Separate things that move from things that don't move. I typically separate with subassemblies.
  • Be careful with constraints. If you attach something that doesn't move to something that does, you'll lock down your motion. If a component needs to move, make sure all of its constraints are referencing your moving stuff. If a component doesn't move, make sure all of its constraints are referencing your stationary stuff. Don't span moving and non-moving with placement constraints (cylinders are the exception here).
  • If something isn't moving that used to, you likely botched a constraint. Drag the insert bar up the model tree until it moves again. Then resume components until you find the thing locking down your motion and fix the constraint.
  • Datum setup is everything. Keep things simple, organized and labeled. Use skeletons to your advantage.
  • Opinion: avoid motion skeletons unless you have complex motions that require them. We teach our users to use motion skeletons as a last resort. We often make complex 3-axis motions without motion skeletons. If you've never heard of a motion skeleton, ignore this point.
  • Use the out of the box mechanism constraints like pin and slider. They help keep things organized and are easier to understand than general constraints. I've seen some nasty general constraint messes.
  • In Creo, it's more robust to fully constrain motion. Avoid using lack of constraint to show motion. I don't like to allow assumptions. I like to tell Creo what to do.

I've attached a very simple reference assembly for you to look at (Creo 4.0). Notice that I have moving and non-moving separated, self-contained, and referencing a common skeleton. The cylinder spans both (body can't move but rod needs to). In this case, I use two constraint sets. One to position the cylinder in the assembly and another to link the rod to the moving body. The cylinder itself needs to be mechanized to do this so take a look at how that is set up as well. 





There are a bunch of different ways to do this but we teach two basic schools of thought:

  • Mechanize the cylinder and tie the stuff that needs to move to the end of the rod.
  • Mechanize the assemblies and use constraints to allow the cylinder to span moving and non-moving. 

The second option is preferred in my opinion because the mechanism constraints are stored at the upper assembly level and will allow you to reuse the cylinder anywhere you want. Especially if you have different working strokes for each application of a cylinder. If you use the same datum setup or skeleton, I think this method is the easier of the two.


We have both Creo and SolidWorks running in Windchill. The rules that we follow for motion vary slightly due to software differences but are pretty much CAD-agnostic.


I hope this helps!




Ok so here is a good example of what I'm talking about.  I have this gripper, using the slider (I believe) constraint system.  The Coincident and angular offset are both planes of the gripper finger to the planes of the first component.  I do this with both fingers.  I use the gear mechanisms to synchronize movement.  Works perfectly as just an assembly.  I throw it into my main assembly and they loose synchronization.






Without seeing your model up close, i can't tell what went wrong.  There can be so many things with this software.

One thing I can comment is I don't use general constraints if a simpler one can work.  For your case, if your gripper fingers are sliding, why not use sliding joints?

I include the CREO4 example with a gripper.


Switched to the slider constraints and same issue.

How are you constraining the gripper in the upper level? You can't constrain the gripper assembly via the gripper fingers if they are mechanized. Your motion would get locked down. 

I am using the subassembly of the grippers 3 datum planes to the datum planes of my EOAT Plate.  

If you can, please post a representative model.  it's not feasible to pinpoint your issue otherwise.



This is the gripper.  I ended up supressing the attached fingers, deleting all the constraints but a fixed constraint and am still having this issue.  It will work fine as an assembly, it only has issues when its a sub assembly in my top level.

I assembled your gripper assembly into a new assembly and the mechanism still functions. This leads me to believe that the issue is being caused by the way the gripper is assembled or the way other things are assembled to the gripper. The gripper fingers seem like a good place to start looking. If they are assembled to the gripper assembly but cut to part data (the thing getting gripped) this would lead to issues with the mechanism. Try isolating the gripper in the upper level. Another thing to look at is whether or not the upper level is mechanized in another level up. If that's the case, you might want to switch the gripper placement constraint set to rigid in its upper level. 

Thanks for sharing - I was not familiar with the way you made the gear connection there.  You see how in my example I had a dummy link.


Anyway, my notes:

when I placed your gripper into the motion_example in this thread, then the gripper did move, but in a very strange way.  Basically, the 1:1 ratio was lost and one gripper would move very slowly compared to the other.


then I noticed that the gripper is in mm, while the motion_example assembly is in inches.  I switched motion example to be in mm and the proper motion was restored.



Interesting that my dummy-linked version can be set to inches and still works...


So I'm thinking that there is some funny business with units going on.  Definitely not an unheard-of-issue in Creo modeling.


How is the unit consistency in your actual models?


You could definitely be on to something. Looking at the file history of the gripper, it looks like native CAD was downloaded from the supplier's site. We discourage this and tell our users to download neutral files. The native models likely came in as millimeters.

So I switched my units to in/lbs/s and ended up getting an error in the gripper body that was not there before.  I suppressed those features.  That appeared to fix it.