Let's talk about joints

Anonymous

Let's talk about joints

Anonymous
Not applicable

So let's talk about joints.

 

My previous experience in CAD assemblies has me familiar with what I call "calc 3" mates. You mate lines, points, planes, and use modifiers like angle and offset. This uses geometry relationships to constrain up to the six degrees of freedom in relation to other parts.

 

Fusion seems to try to do it all in one shot. I get it, it's simpler in a way, but I'm still hazy on how to use these well.

 

For example, how do you fully constrain this with joints? Don't say "as built"! How do I know where it needs to be in the end? I'm designing, not replicating. This thing's going to move within the design at some point.

 

 

 

 

Screen Shot 2015-02-03 at 11.48.41 AM.png

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

And is there any way to easily define the orientation of the magic circle? Do you even need to? Sometimes Fusion will flip a joint upside down and I'm not sure why. I have no idea, since the Joint system doesn't allow the user to provide elemental constraints. I have no idea what it's doing. It just works magically most of the time, and I have no real strategies.

 

 

Screen Shot 2015-02-03 at 11.53.23 AM.png

 

Screen Shot 2015-02-03 at 11.53.30 AM.png

 

Screen Shot 2015-02-03 at 11.53.38 AM.png

 

 

And what's the difference between these two?

 

Screen Shot 2015-02-03 at 11.59.04 AM.png

 

Screen Shot 2015-02-03 at 11.59.11 AM.png

4 Likes
Reply
10,956 Views
11 Replies
Replies (11)

schneik-adsk
Community Manager
Community Manager

Assembling in Fusion 360:

 

There are several things happening that need to be teased apart to fully explain the joint assembly behavior.  There is an important conceptual difference from other CAD tools that use constraints and Fusion 360 which uses Joints:

  • Constraints use an approach where you add more and more constraints to remove degrees of freedom.
  • Joints use an approach where you explicitly open degrees of freedom and these open degrees of freedom mimic mechanical behaviors.

The disk is a visual aid to try and help predict the position of the parts as they are assembled. We call the disk the Joint Origin.

to understand how the visual aids systems work, let's look at the visual elements that make up the Joint Origin disk.

 

First, there is the the plane that the Joint Origin disk lies in.  As you assemble two components, the two Joint Origin will be made planar and the centers of the disks will align. This Joint Origin to Joint Origin planar alignment is the most important aspect to pay attention to. Almost all other positioning details can be changed while assembling. If you want to know as little as possible just know Joint Origin plane to Joint Origin plane align by default.

 

A good way to think about Joint Origins are as coordinate systems. The disk plane is X/Y. The white face points in a virtual Z+. The mustard color face points in a virtual Z- the open/filled disk distingushes X from Y. The open half is Y+. The line between open and filled is a virtual X axis.

 

joint as cord system.png

 

As joints are created the two Joint Origins are aligned and the user can then refine the aligment options. There is a wrinkle coming a little later that affects this behavior.

 

Joint Origin to Joint Origin alignment has several user editable properties allowing positional refinement.

  • Offset - You can edit the offset between the two Joint Origins. you can drag the offset or edit in the command dialog.
  • FlipJoint Origins have a front (White color) and back (Mustard color). Internaly Joint Origins match front to front back to back. In the command dialog the Flip button allows you to reverse this alignment if needed
  • AngleJoint Origins are dawn half filled to provide an angular reference. Internaly Joint Origins match fill to fill and open to open. The angle property allow you to edit the rotation alignment For example, editing a joint's angle to 180 degrees would align open to filled. You can drag the angle or edit it in the command dialog.

joint default alignements.png

 

The orientation of the disk is controlled by the input geometry. Orientation is associative to the input so choosing input geometry is the second most important thing to pay attention to.

  • Faces - Joint Origins can snap to a face's planar boundary segment vertices's, face boundary segment midpoints, planar face centroids, planar circular boundary centers.  cylindrical faces allow snapping to cylinder top, bottom or midpoint.
  • Edges/Sketch curve -  Joint Origins will use the edge or sketch curve as the normal. For a linear edge this becomes the Joint Origin's virtual Z. For non-linear elements, the virtual Z is tangent to the edge/curve at the point along the edge. Joint origins can snap to either endpoint or midpoint of the edge.
  • Construction points/Sketch points- Joint Origins will align to the point and use the active components Z axis as the normal.

While creating a joint, when your mouse is over an input, you can hold cntrl (Windows) or command (Mac) to lock to the highlighted input.  This can make it easier to get to snap points that are obscured by other model geometry.

 

Now for the wrinkle.  Parts come from all over and have all sorts of funny orientations. Most of the time user roughly position parts in the right relative position with respect to one another. For top down designs and imported designs relative part positions are alomst 100% right. If we followed the alignment rules above, as you created joints with input geometry parts might flip or move unexpectedly. So, to make this magically work joints determine what the minimum move is to align and will automatically adjust flip and angle so as to keep the component being joint as close as possible to its starting position. You can see this behavior when creating joints. Sometime the flip command will be on, other times off. Sometime an angle will be predefined other times not. Most of the time things just work. If you try and dig in and fully understand joints, it is important to know that the default joint preview is using minimum move to define the default values. Without this is can seem somewhat random what is happening.

 

Understanding Joint types:

 

Once two Joint Origins are aligned and their properties (offset, flip and angle) are known there is the last important property, the Joint type.  Joint types mimic mechanical motion.joint degrees of freedom.png

  • Rigid joints - locks all degrees of freedom. As the model changes the joint origins are associative to their inputs.  In most cases a single rigid joint can completely define the position of one component associatively to another. Rigid has 0 open degrees of freedom.
  • Revolute aka Hinge - Allows a rotational degree of freedom that defaults to the virtual Z of the Joint Origins. You can override a revolute to Z, Y, X, or a custom axis. Revolute has 1 open degree of freedom.
  • Slider - Allows a single translation degree of freedom. The sliding defaults to translation in the virtual Z of the Joint Origins. You can override translation to Z, Y, X, or a custom vector. Slider has 1 open degree of freedom.
  • Cylindrical -Allows a rotational degree of freedom that defaults to the virtual Z of the Joint Origins AND a translation degree of freedom. The sliding also defaults to translation in the virtual Z of the Joint Origins.  You can override the translation and rotation to Z, Y, X, or a custom axis/vector. Cylindrical has 2 open degrees of freedom.
  • Pin slot - Allows a rotational degree of freedom that defaults to the virtual Z of the Joint Origins AND a translation degree of freedom. The sliding defaults to translation in the virtual X of the Joint Origins.  You can override the translation and rotation to Z, Y, X, or a custom axis/vector. Pin-Slot has 2 open degrees of freedom.
  • Planar - Allows a rotational degree of freedom that defaults to the virtual Z of the Joint Origins AND a translation degree of freedom. The translation is in both the virtual X and Y of the Joint Origins.  You can override the translation and rotation to Z, Y, X, or a custom axis/vector. Planar has 3 open degrees of freedom.
  • Ball - Allows a rotational degree of freedom (yaw) that defaults to the virtual Z of the Joint Origins AND a rotation degree of freedom (Pitch) in the virtual Z.  The joint has an additional rotation degree of freedom in Y.  You can override the Pitch or  yaw to a custom axis/vector. Planar has 3 open degrees of freedom. Note: Ball joints, like real ball joints can exhibit gimbal lock.

It's best to pick the joint with the fewest open degrees of freedom needed.  While it might be tempting to use a revolute to put that bolt in a hole, a rigid will be better. Fusion 360 will analyze the joint system and create rigid groups for all components that don't have any degrees of freedom.  

 

Joint Options

Open degrees of freedom are shown under the joint in the browser ( as seen in the image on right). You can right mouse click on any degree and control several settings.

 

All joints have two parameters you can edit numerically; Angle and offset. 

 

joint paramater.png

 

For each degree of freedom you can lock it. This sets the degree of freedom at its current value.

 

For each degree of freedom you can set limits. Limits allow you to define an optional minimum and maximum value. optionally, set a rest position or home where the joint will always return to after you play with a mechanism. Limits are the prefered way to simulate constrained movement. A pneumatic cylinder that has 100 mm stroke can be set by setting the sliding joints limits to a maximum of +100 and a minimum of 0. When you add limits or rest controls to a joint you will add these values to the parameters table as well allowing you to control these values with equations.

 

There are quite a more advaned topocis with joints but this seemd a good starting point. 

 

Summary:

  • Pick the geometry you use to define a joint origin internationally.
  • Look for the planar joint origin aligment as a fast visual cue.
  • Choose the joint with the fewest open degrees of freedom necessary

 

 

 

 

 

 

Kevin Schneider
16 Likes

TrippyLighting
Consultant
Consultant

Darned. I was going to post a little screencast but I believe I discovered a bug. I'll post that one first and then link it here. So you can see what I was going to suget and figure out oes not work.


EESignature

0 Likes

Anonymous
Not applicable

Kevin, was that copy-pasted from documentation somewhere? Because if so, I'd like to know where! If not, thanks for taking the time to make that post! It's very helpful.

 

How do I do the constraint shown in the first image I posted? Would you suggest a locked planar for that?

0 Likes

schneik-adsk
Community Manager
Community Manager

We need to get this level of detail into the help. What I put here was a brain dump squirreled away in corners of my brain... 

 

I create a few screencasts trying to answer your question about the two blocks.  I ignored your point about in place joints because when I design I use them all the time. 

When I design in fusion I use the dimensions to create and position the part. The in place joint just allows me to define any kinematics if i need it. I think its a valid work flow to show.

 

The next example uses construction geometry. I show using a sketch which some people like because they can see dimensions.

I prefer to use a joint origin. I show both.

 

 

I don't think I like the locked planar example because the movement of the block in the plane would need to be captured as a snapshot. Locking the degree of freedom prevents you from dragging in a degree of freedom it does not lock the position. Only a snapshot can do that. Notice at the end of the screencast below the snapshot buttons are in the toolbar waiting to ask me to revert or capture the position. To change the parts position in the future would mean editing the snapshot then moving the part, then updating the snapshot.

 

 

As to your first post, I realized i did not explicitly answer your last question. Here is the image you posted:

2015-02-03 04.24.36 pm.png

 

In the top image the joint origin is create using the face boundary vertex in the upper right corner.  In the second image, the joint origin is using the edge end point.

In the case shown here there is effectivly no difference between the two.  The difference between the choices is more obvious if the block were to change shape. Lets say the block became a trapezoid... the edge would no longer be perpendicular to the face. Do you want the joint to follow the edge or the face? However you answer would then determine what input you want to use. 

 

This also brings up another important difference between Fusion 360 and other CAD tools. After you assembly these tow plates, you can fillet all the corners and the positioning will not change. thsi is because the fillet comes after the joint in the timeline. this is subtle but very important. 

 

Most CAD tools have an assembly modeler with no history that agregrates multiple parts all with seperate histories. This means that the assmelby modeler knows only about the fully computed parts.

Fusion can assemble while building a parts adn joints participate in time just like the part features. You can fully constraine apart earleier in the timeline and then later features details can remove the geometry that the joint uses. If you ever had to assemble a bunch of cast parts you know how much a pain dealing with drafted parts can be.  With Fusion you can assembly these before the draft is added. Much easier.

 

 

Kevin Schneider
8 Likes

TrippyLighting
Consultant
Consultant

I do like joint constraints as well but concluded from previous conversations/posts  that these are most computationally expensive of the joints, which is why I've been avoiding them. Is that actually the case ?

 

My first Fusion 360 assemblies had some horrible probblems when I used joint origins and some of that required a hotfix. Some of teh problems were certainly a result of me not using a sensible workflow. But I do think some better and perhaps in depth explanation would help.  @ kgrunawald provided some very detailled explanations that really helped me understand the concept. 

 


EESignature

0 Likes

schneik-adsk
Community Manager
Community Manager

Most of my explanation has to do with the implicit dynamic joint origin that is shown when selecting the inputs in the Joint command.

 

There was a performance issue last year with precreating explicit joint origins. This is done using the join origin command in the assemble panel. I have not experienced any issues since we resolved it.

I avoided covering precreating joint origins in my explanation's below as it is a special use case for standard parts or other parts that are often assembled in the same way many times. 

 

It is worth mentioning that there have been some good findings with larger assemblies the last few weeks and we have improvements planned for the next several updates to make things even faster.  This will affect explicit joint origins and implicit joint origins.

Kevin Schneider
1 Like

Lonnie.Cady
Advisor
Advisor

that was a great explaination, maybe you could have it stickey'd to the top of the forum.

1 Like

kb9ydn
Advisor
Advisor

@schneik-adsk wrote:

Assembling in Fusion 360:

 

There are several things happening that need to be teased apart to fully explain the joint assembly behavior.  There is an important conceptual difference from other CAD tools that use constraints and Fusion 360 which uses Joints:

  • Constraints use an approach where you add more and more constraints to remove degrees of freedom.
  • Joints use an approach where you explicitly open degrees of freedom and these open degrees of freedom mimic mechanical behaviors.

 

 

This little bit above, will be absolutely crucial to understand for those of us coming from other CAD systems (and I didn't get it until just now!).  It explains quite a bit about how Fusion works, not just the joints but also the thinking behind snapshots, and why we need the move command (instead of just dragging stuff around).  Other CAD systems are constraint based at the body/part/component level, so it is assumed that all objects are free to move until they are constrained somehow, and you train yourself to nail everything down that isn't supposed to move.  Now when you try to apply this thinking to modelling in Fusion, things just don't make any sense, because Fusion assumes exactly the opposite.  Objects are stationary until they are allowed to move (via joints or with the move command).  I don't think I can fully express how weird this feels when you're used to a constraint based system.

 

So I think I get it now.  But it does make me wonder why this approach was chosen for bodies/components?  It seems somewhat counterintuitive to have a constraint based system for sketches and then use the opposite for bodies/components.

 

 

C|

2 Likes

jsejcksn
Advocate
Advocate

How can I create a pin slot joint (between two circular faces) with both the rotate and slide set to the Z axis?

 

EDIT: Oh, I see that a joint with rotate and slide along the same axis is called a cylindrical joint.

0 Likes

Anonymous
Not applicable

Thank you so much for such a detailed explanation on joints. This is really eye opening and exactly what I needed.

0 Likes

TrippyLighting
Consultant
Consultant

My guess is that you'll  like this AU class recording of the class Kevin and Mike hosted.


EESignature

1 Like