Problems with revolute joint

Problems with revolute joint

lemelman
Collaborator Collaborator
2,557 Views
17 Replies
Message 1 of 18

Problems with revolute joint

lemelman
Collaborator
Collaborator

In the Screencast, the two curved blue pipes are identical - one is a copy of the other. Both have been assembled into their respective connectors via revolute joints. The connectors are copies of each other. As shown in the Screencast, I can revolve one pipe, but not the other. If I swap them, the same one cannot be rotated. Despite looking carefully, I cannot find why one revolves and not the other.

Please help.

0 Likes
Accepted solutions (2)
2,558 Views
17 Replies
Replies (17)
Message 2 of 18

GRSnyder
Collaborator
Collaborator

Screencast management can be a bit finnicky, but at the moment I don't see a screencast here. 

0 Likes
Message 3 of 18

lemelman
Collaborator
Collaborator

 I really don't know what happened, so I'm uploading it again.Screencast will be displayed here after you click Post.

df151f65-8ca2-431a-a59f-925544799b63

 

0 Likes
Message 4 of 18

lemelman
Collaborator
Collaborator

What's going on here? One more try.

 

 

0 Likes
Message 5 of 18

TrippyLighting
Consultant
Consultant

I thought we have firmly established in the other thread that revolute joints should not be used for such an assembly ?

 

I'll create a screencast on how to fix this later today using your components, but with explicit joint origins and an assemble-as-you-go method.


EESignature

Message 6 of 18

TrippyLighting
Consultant
Consultant

No screencast but I fixed your design.

Go carefully through the Timeline and ask if you don't know how I used your model to create this.

Hint: I created a group per component and then dragged that group to the point in the timeline where it was first needed for assembly. Keeps things neat and tidy.

 

Of course not a single revolute joint.

 

Screen Shot 2018-11-02 at 6.40.55 AM.png


EESignature

Message 7 of 18

chrisplyler
Mentor
Mentor

@TrippyLighting wrote:

I thought we have firmly established in the other thread that revolute joints should not be used for such an assembly ?

 

I'll create a screencast on how to fix this later today using your components, but with explicit joint origins and an assemble-as-you-go method.


 

Weird. I thought we firmly established that it isn't the best idea, but that within the context of a relatively simple assembly it's tolerable.

 

 

0 Likes
Message 8 of 18

TrippyLighting
Consultant
Consultant
Accepted solution

It is tolerable if you can get away with it. However he isn't. So time to change course 😉

 

Also, it's generally better to start with a solid foundation of how to do things correctly and then based on that foundation to start experimenting what one can get way with. In that case you can always fas back to the more robust solution if things break.


EESignature

0 Likes
Message 9 of 18

chrisplyler
Mentor
Mentor

@TrippyLighting wrote:

It is tolerable if you can get away with it. However he isn't. So time to change course 😉


 

Don't make me send my Mexican hit squad after you and your I-talians. His being inept isn't a logical reason to generally dissuade against the method. There are some, as you've pointed out, but that isn't one of them.

 

Man, my wife has been right all along: I really do like to argue over pointless crap!

 

 

0 Likes
Message 10 of 18

lemelman
Collaborator
Collaborator

I apologise for the long delay, but I've been away for a few days.

First, thank you for taking the considerable trouble to put me and my model right. I used your method of rigid joints, which of course worked well. I now feel much more confident about joints, especially rigid ones, which I didn't realise could line up the way they do.

I investigated trying to group sections of the time-line, but with no success. Your method is clearly superior, but I could certainly do with some better documentation - nothing that I could find was actually much help.

Despite no longer using the revolute joint I am still curious as to why that particular curved pipe could not be rotated in it's socket. It's still a mystery.

 

Finally, I resent being described as inept simply because I didn't know how something worked. The dictionary definition is as follows...

1lacking in fitness or aptitude: unfit

2 : lacking sense or reason foolish

3: not suitable to the time, place, or occasion : inappropriate often to an absurd degree 

4 : generally incompetent : bungling

Maybe being a nonagenarian has slowed me down a bit, but I can still get there in the end.

0 Likes
Message 11 of 18

chrisplyler
Mentor
Mentor

 

You were already told how to assemble pipes and fittings in another thread. Here you are asking all over again. So I now see my misjudgement. You certainly are NOT inept. I take it back. You're just respectably aged.

 

 

 

 

0 Likes
Message 12 of 18

TrippyLighting
Consultant
Consultant

There are a number of things you did right in the design, which made grouping a lot easier or even possible.

All your fittings were designed properly in a component  and then they were also designed consecutively, so all timeline features belonging to one component were listed consecutively in the timeline.

Then when you turn on component color cycling you can see exactly what belongs to one component. Then you can select all these features, including the leading "new component" feature  and can create a group for that component.

This would be a nice timeline re-organization feature ( I've got ides for a umber of them ). Consolidate component features and group.

 

Once you have the components grouped, it makes it a lot easier to change their order in the timeline.


EESignature

Message 13 of 18

jeff_strater
Community Manager
Community Manager
Accepted solution

@lemelman, you are correct.  It should be possible to construct almost all of this assembly with revolute joints.  Whether this is the best method to construct it or not doesn't matter to me.  It should be possible to use Revolve, and if there is a bug in Joints, it's worth looking into.

 

I think that there is something wrong with how the joints in the model that you shared were created, and, as I went through the exercise I think I figured out what the problem is.  Sometimes, when I open that model, and Compute All, I get lots of failures and the assembly goes all wonky:

Screen Shot 2018-11-08 at 7.41.58 PM.png

 

So, I deleted all the joints and Capture Position features, and re-assembled it using Revolute joints.  First, I positioned the components relatively near where they should be.  I do this as a practice, because I've found that it is easier to create the joints this way, and also because I've found that the solver is more tolerant if the components are close to their final positions.  I have no idea if this is a real thing or not, but I do it anyway:

Screen Shot 2018-11-08 at 8.01.20 PM.png

 

Then, I created the Revolve joints, taking great care to pick consistent geometry on the pipes and connectors.  I used the inner edge of the connector, and the outer edge of the pipe.  Again, I've found that if you are consistent, it helps:

Screen Shot 2018-11-08 at 8.02.53 PM.png

 

When constructing the base, I found that creating the last Revolute caused an error:

Screen Shot 2018-11-08 at 8.13.57 PM.png

 

I now understand why this is - all those Revolute joints cannot be free to rotate in a closed loop like this.  In fact, now that I think about it, I suspect that is the root of the problem in your original model.  Though it seemed (even to me) that it should be possible, once I started thinking about it from the solver point of view, I understand why this is hard.  The solver wants all those pipes to be free to rotate, but that last one in the loop will make it so that none of them can really rotate.  So, for that joint, I would use an As-Built Rigid joint.

 

Then, I added the revolve joints for the "curve" components, and now it all functions well.  I attached the model, just for your reference.

 

Hope this helps, and I apologize for the overly-long answer - I kind of wrote it as I was doing the experiment, so I discovered things along the way.

 

Jeff


Jeff Strater
Engineering Director
Message 14 of 18

lemelman
Collaborator
Collaborator

Thank you Jeff for taking the trouble to investigate my query, and to Peter for your very pertinent suggestions and directions. It's support like this that makes all the difference to beginners like me. I'm not new to CAD (I've been a proficient user of TurboCAD for a number of years) but the transition to Fusion, which has a totally different paradigm, is rather challenging. Although I'm in my second year of using Fusion, the few models I've created so far have never required assemblies. This is a very different ball-game to me, since TCAD has nothing remotely similar. The lack of good documentation doesn't help.

 

Peter and others have repeatedly stated that revolute joints are not suitable for this type of assembly; I accept this - and have changed my approach accordingly, but I don't understand the reason.  Excessive use of compute time has been cited as the principle reason, but surely that would only be the case when the joint was made, not afterwards when it would never be exercised again. Where have I gone wrong?

0 Likes
Message 15 of 18

jeff_strater
Community Manager
Community Manager

My opinion on the question of why revolute joints are not ideal for this is really just that you should use the simplest joint possible for the job.  The question of whether a revolute uses significantly more CPU power than a rigid joint is probably debatable, especially in a smaller assembly such as yours.  But, there is an effect in larger designs.  In the case of that base frame, the result of 8 revolute joints is a rigid frame, so it makes some sense to use rigid joints to achieve that.  It's interesting to me, from a solver point of view, that Fusion can't actually build that set of revolute joints, but I do see why this would confuse the solver.

 

Another thing I have seen in the past is a newer user will try to use a cylindrical joint for a bolt/nut/threaded hole relationship (including even adding Motion Links between the rotation and translation axes of that joint), because that is the real-life physical relationship between those two components.  But, if you think about it, the whole point of the bolt is to eventually create a rigid relationship, so the cylindrical joint is overkill.

 

Your frame is kind of a similar situation:  Yes, as you are assembling such a frame out of tubing and elbow pieces, unless you glue/solder/weld the pieces in place, they are really free to turn until that final connection is made, but in the end, the goal is rigidity, so it's worth going there straightaway.

 

There is often no right/wrong way to do things in a CAD tool, and a lot of ways to achieve the same goal.  You happened to hit one of the cases where one way to that goal actually causes a solver problem, and the alternative (in this case also more efficient) way would avoid this.


Jeff Strater
Engineering Director
Message 16 of 18

GRSnyder
Collaborator
Collaborator

@jeff_strater wrote: I now understand why this is - all those Revolute joints cannot be free to rotate in a closed loop like this...The solver wants all those pipes to be free to rotate, but that last one in the loop will make it so that none of them can really rotate.

 

Why is that a problem, Jeff? Circular dependencies and constraint sets that have only a single, fixed solution are common in F360 models. For example, why is a loop of revolute joints any different in concept from this set of 2D constraints?

 

Screen Shot 2018-11-09 at 1.13.38 PM.png

 

F360 handles this sketch just fine. I know I'm conflating the 2D sketch solver with the 3D joint solver here, but aren't these two modules based on similar operational principles?

0 Likes
Message 17 of 18

jeff_strater
Community Manager
Community Manager

it's not just that it's a cycle, @GRSnyder, it's that it's a cycle with degrees of freedom, and where the cycle will end up creating a rigid relationship between those items.  I can't think of a sketch analogy, but there may be one.

 

This is one of those things that should be theoretically possible, but in the implementation, is actually quite difficult.  The solver wants to be able rotate all those components, but the total constraint system prevents that.  This is why the original design sort of works, sometimes.  If you are very careful, you might be able to get it to assemble, but then you will see bad effects like the original issue, or what I saw where sometimes Compute All works, and sometimes it does not.

 

hope this helps at least a little...

Hope this helps a bit...


Jeff Strater
Engineering Director
Message 18 of 18

chrisplyler
Mentor
Mentor

 

I am able to do it completely with eight Revolve joints. No problem. The solver doesn't REQUIRE them to rotate. It just ALLOWS them to rotate. Or I should say that that seems to me to be the case.

 

 

0 Likes