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

Mechanism flexible wire tray issue, similar to a chain


Mechanism flexible wire tray issue, similar to a chain

Hello all,  I have been a Creo user since proENGINEER 2001.  I have never run into an issue where I needed to accomplish this task and I have exhausted every work around I can think of and am looking for some advice on how you all would attack this problem.  Moderators, if this belongs in a different category, please feel free to move as you feel suitable.  See the attached pictures for a better understanding.

Basically I have a linear actuator attached to a beam. This linear actuator moves with a stroke length of 1500mm driving a drill head.  I have some snap together flexible wire tray that I want to show in the model and have mechanism correctly reposition it as the carriage moves.  The bottom side is stationary as you will see in the photos.  The other end is attached to the carriage (some detail is missing but the end bracket is constrained to the carriage).  I have attempted to make the connection multiple ways.

I have assembled the links with all pin connections which works, sort of.  The carriage can move but the tray acts incorrectly and dips below the bracketry with collision detection off.  With detection on it causes the carriage to bind up.

After giving up on this approach I decided to use a sketch that dynamically updates using a perimeter dimension and relations so that the path is correctly displayed.  I then attempted to use a series of pin joints on one side of each link with a slot on the second, rinse, repeat.  This causes the mechanism to fail however as the sketch becomes part of the ground body and wont allow the carriage to move.

I then decided, if I cant get the mechanism to work, maybe I can just get it to display and update position on regen.  At least I could take snapshots and animate this way.... I used Leo Greene's approach found here‌.  This also worked.... sort of.  It also causes the mechanism to fail and I no longer can move the carriage.  This lead me to try using a second sketch parametrically updated with relations by the first one (requiring 2 regens) but this still causes odd performance.

Any help or recommendations would be greatly appreciated! I have wasted way too much time on such a simple, insignificant issue but now I am determined to make it work.

PS, I am using Creo 3.0, Build M060.  I do have AAX.


Losing hair by the minute, Chris


Accepted Solutions

Re: Mechanism flexible wire tray issue, similar to a chain

It was about time someone made this available...

Again, this is my way, and certainly not the only way.  Linking each link with 2 sets of constraints is a real pain.  Repeat and temporary assembly references don't seem to work when you have two separate constraints.

One of the gotcha's is the ground body reference.  When installing the chain to the mechanism, be sure to only constrain it with only the end piece references.

Obviously the point on curve I referred to earlier is a slot constraint.  Each link therefore has a slot constraint and a pin constraint.  The slot path does not require the shift|select... it is one of the few that you can pick multiple curves.

Video Link : 6677

Creo 2.0 commercial version attached

If someone cam make this work with patterned links... POST UP!


Re: Mechanism flexible wire tray issue, similar to a chain

I like the Leo Greene method for quick and dirty; but it doesn't accurately represent the polygon shape of fixed length links going around a sprocket. The big problem is the chain straight path isn't tangent to the polygons. A minor problem is the sag should be a catenary, not an arc.

I'm not sure there are good solutions in the Creo toolbox without a lot of programming, either with relations or by driving it externally via trail/training file.

Perhaps if PTC adopts the Bullet Physics engine?

Real-Time Physics Simulation

Bullet (software) - Wikipedia, the free encyclopedia

Re: Mechanism flexible wire tray issue, similar to a chain

Hi David.  Thank you for the response.  The concerns you have raised don't really apply to this issue.  I'm not too concerned with 100% accurate depiction of the physics related to the "chain path".  I am only concerned with making the mechanism connections that do not fail upon regen.  Even if I use the Leo approach which is sufficient for displaying the chain, I have to suppress that entire subassembly before I can dynamically move the carriage again.  This becomes a problem when attempting to generate an animation for the customer.  I can't use snapshots with this method as it causes the mechanism to fail and Creo wont let me even take snaps...

As far as PTC adopting another physics engine.... dont hold your breath.  I remember some years ago there was a bunch of hype about them adopting a new photorendering package.  I haven't seen any improvement in photorendering since WF3.  I will say however that I spent the last year working with Autodesk Inventor and boy am I glad to be back with Creo.  Although the photorealism stuff in inventor is way better than Creo, the way it handles modeling data, sketches, and assemblies will make you want to puke.

Re: Mechanism flexible wire tray issue, similar to a chain

It is possible to do this.  I've needed this in a few instances already.

You want to use paths to drag the chain along, however you make the chain assembly.

Behind the scene, you need to make the path "skeleton" (rotated U-shaped curve) move with one end of the chain fixed in the assembly.  This will push and pull the floating end.  Done properly, you can fix the moving end to your moving body and all will stay connected.

Make snapshots for quick resets.  Be patient... this is fairly CPU intensive.

Re: Mechanism flexible wire tray issue, similar to a chain

Antonius, Thank you for your reply.  I think what you are describing is one of the methods I attempted.  Would it be possible for you to elaborate on this a bit? I am quite patient with Creo.  I have a pretty stout system but over the years I have learned that sometimes its best to hit regen, get up and get a drink and come back.

Re: Mechanism flexible wire tray issue, similar to a chain


The image above shows my sketch constraints.  The "moving" end of the sketch is constrained to a reference on the moving table.  Perimeter is controlled via the overall length of the chain of links.  The other dimensions are locked or references used in relations elsewhere.  The bottom length dimension is the one that varies with the position of the carriage.  The sketch updates correctly and the path is right after moving the table and regenerating. However as soon as I assemble anything to that path it freezes the mechanism.

Re: Mechanism flexible wire tray issue, similar to a chain

What is true with Creo is what is logical may not be the best way to skin the cat.

In this case, the skeleton... or path is much longer than the moving end.  The links will control themselves as far as position goes.

In the chain assembly, assembly an end fixed.

Next, assemble the rotated-U-shaped curve model.  This can be a mechanism constraint that allows the skeleton to move in one direction up until the 1st link with whatever factor this chain requires.  In the end, this skeleton is free to move back and forth; optionally locking the max endpoints.

Next, begin adding links that use the fixed link as a hinge and the following constraints will be to tie a point of the link to the full chain of the skeleton curves.  When the link comes upon the arc of the "U", it should follow it as you drag the skeleton.

You keep building until you finish the chain.  You leave the assembly unresolved.  In the using assembly, you tie the fixed link to the fixed part of the assembly.  On the moving side, tie the end link to the moving object in your assembly.  Now the chain is fully dynamic where the U-shaped skeleton just floats due to the link constraints.  Hence the reason for the extra required length on both legs.  This is what circumvents sketch or part regeneration during a mechanism run at the higher level assembly.  The whole assembly is passive yet highly constrained.

I've come to rely on snapshots using complex mechanism assemblies that spans many levels.  If it is not working, you are not holding your mouth right.  Just use the default "snapshot1" name as it seems to work.  You just have to continually update them when you change your model.  They also become useful for animations using mechanism profiles.

Re: Mechanism flexible wire tray issue, similar to a chain

...tip: use angle limits on the hinge constraint.  This keeps links from flipping over on themselves.

Re: Mechanism flexible wire tray issue, similar to a chain

Thanks again Antonius!  I was definitely using the angle limits on the hinge constraint.  Just to clarify in the above post when you speak about the U-shaped curve model, are you saying to create a model, be it skeleton or solid, and in that use a DATUM CURVE instead of a sketched curve?  I just want to be sure I fully understand what you are stating.

The way I read this is that I would have a straight curve at the top that extends horizontally from the limit of travel left, past the limit of travel right.  At the bottom I would have a similar straight curve independent of the top one.  Then the U-Shape curve would also be an independent feature  which moves similar to a slider along those two paths.  Please correct me if I am misinterpreting this.  I really do appreciate your help and input!

Re: Mechanism flexible wire tray issue, similar to a chain

What I mean by skeleton is simply a part with the sketch required to make the path along which the chain can ride.

In a normal chain, you can do this path sketch within the assembly, but in this case, it has to float, bound between constraints not requiring regeneration to move.

You might assign an intent curve if you can.  Remember that by default, the point on curve constrain picks the single segment... and you have to make sure it picks the chain of curves, or shift|select the remainder.

No matter what, this is a tedious task.  There are several ways you can bind the links to the skeleton.  In general, it is very robust using the hinge and point on curve constraints.