Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.

First time visiting? Here are some places to start:
  1. Looking for a certain topic? Check out the categories filter or use Search (upper right).
  2. Need support? Ask a question to our Community Support category.
  3. Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
  4. Be respectful, on topic and if you see a problem, Flag it.

If you would like to contact our Community Manager personally, feel free to send a private message or an email.

Compound Motion Study

Hi,

I'm interested in simulating a compound rotary unit I am designing. I want to simulate a jointed arm, which turns relative to the forces of a cable that pull it right or left, and that jointed arm is connected to a central rotating hub which allows the mechanism to rotate 360 degrees. How do I order my revolute / fastener mates in order that the one force acts both on the jointed arm as well as the main hub.

Also, is there a combination of mates that works to simulate a sub assembly travelling along a track (turning with the turns and remaining in the upright orientation)? I've tried the tangent, but the subassembly continuously rotates around that tangent line instead of maintaining its upright orientation.

Comments

  • philip_thomasphilip_thomas Member, Moderator, Onshape Employees, Developers Posts: 1,381
    Kolbi - this is not easy without an example (most people post a public link and then 5 guys fall over themselves to solve the problem as fast as possible). That said, there are some insights that i can offer you.
    1) Mates in any CAD system, define degrees of freedom that exist between any two parts.
    2) Mates do NOT define 'forces'
    3) Mates do NOT define joint precedence.
    4) Mates cannot be turned on or off based on time or contact
    5) Mates cannot have intermittent contact

    THAT SAID - I have seen some very clever work using hidden parts (tracks) to define the path of (for instance) an end effector. At that point you can usually drive a single mate (using the animate capability) to move the end effector along the path (the positions of the remaining parts are determined by the solutions derived from the 3D constraint solvers). There are no forces, but this often gives the desired results.

    Re your other question - usually a parallel mate will keep a component in the correct orientation as it is moved through a range of motion.

    Sorry if this is vague - again a document for the community to chew on is usually the fasted route to an answer.

    Good luck - Philip.
    Philip Thomas - Onshape
  • john_mcclaryjohn_mcclary Member, Developers Posts: 3,933 PRO
    Defiantly link an example model, or a screen shot.

    This sounds like a fun challenge I'd like to sink my teeth into

    The order of mates do not matter, all mates are solved at the same time. (Or so I have heard from an OnShape employee a while back)

    If what you are describing is what I think it is, you may need to model an invisible track as @philip_thomas was suggesting.

    Here is an example of a rotary piston with a valve that only opens at the 12 o'clock position. It was mated by a single tangent mate by attaching a point on the valve to the outside surface of the transparent "Track"
    https://cad.onshape.com/documents/840524ce300a83fd63dca3df/w/2a9ca9715dc3c156cbd6a844/e/8de6bb7c91bab979dc3b5a0d

  • john_mcclaryjohn_mcclary Member, Developers Posts: 3,933 PRO
    Here is a quick and dirty example of a cart on a track:
    https://cad.onshape.com/documents/292af20b6c06ac868e964caa/w/0e0df349e4eb1fb849ff3f48/e/066aadce57bdce7255d3e23d

    Had to use a few work arounds to get it to work properly, but every once in a while a tangent mate will flip on the wheel and put the axle out of position. but a quick suppress->rotate->unsuppress will fix it.


  • steve_maiettasteve_maietta Member Posts: 54 PRO
    Here is a quick and dirty example of a cart on a track:
    https://cad.onshape.com/documents/292af20b6c06ac868e964caa/w/0e0df349e4eb1fb849ff3f48/e/066aadce57bdce7255d3e23d

    Had to use a few work arounds to get it to work properly, but every once in a while a tangent mate will flip on the wheel and put the axle out of position. but a quick suppress->rotate->unsuppress will fix it.


    John, another great example of pushing the mate sand relations, awesome...   I have a sinilar project which is machine chain running around sprockets.  I have a "track" part that I make invisible and with a combination of planar and tangent mates can get a piece of chain moving along fairly convincingly.  
    BUT. How can this be animated?  I use a rack and pinion (btwn a revolute and planar) and the chain will move along a certain axis, but not come around the sprockets all the way.  
    Really could use a path mate!  But perhaps you have an idea on how to animate something like this??

    thanks
    ~Steve
  • john_mcclaryjohn_mcclary Member, Developers Posts: 3,933 PRO
    edited September 2020
    I've given the chain sprocket animation a couple of tries. Unfortunately it has not be a success for me. I have theories how it should work, but practice ends up making a jumbled wad of chain and broken mates due to needing tangent mates that tend to flip to the opposite side of the circle.

    I think I even tried moving approximately half the distance of the chain link and looping it very fast so it resembles a complete rotation, when it is really just vibrating.
  • steve_shubinsteve_shubin Member Posts: 1,094 ✭✭✭✭
    @steve_maietta
    @john_mcclary

    Maybe you guys have seen all this before.

    First off, these videos were spliced so I could make them into looping GIFs that keep playing forever.

    But — when I’m animating them within Onshape, they run the same way. They don’t come off the track. They don’t hang up. And they will keep playing and playing and playing

    The problem is, as the track gets more irregular, and as the track gets closer to the pivot point, well the car slows down compared to the parts of the track that are furthest away from the pivot point

    The swing arm is dragging or pushing the car around the 3 tracks

    I don’t know if this will or can relate to your animating a chain, but for what it’s worth ...






  • john_mcclaryjohn_mcclary Member, Developers Posts: 3,933 PRO
    Yea i've seen these, but i was going for constant speed arond too. 
  • steve_shubinsteve_shubin Member Posts: 1,094 ✭✭✭✭
    @john_mcclary

    Well let me know when you figure it out because I’d sure like to know what the trick is


  • steve_maiettasteve_maietta Member Posts: 54 PRO
    @steve_shubin  

    So Steve, is the cart tangent to the yellow bar and also tangent to the green track??  They look pretty good to me!.  Constant speed would of course be nice but this is at least a step towards figuring out a way to get it working..
  • steve_shubinsteve_shubin Member Posts: 1,094 ✭✭✭✭
    @steve_maietta

    Here’s one of those documents
    You’ll be able to see what type of mates were used at the various different locations

    https://cad.onshape.com/documents/f4cc0673a1c172725d30777f/w/98a5762d407be7c7d0793c12/e/9299c03e8c47a75b6b786c5f

    Using this method, the closer your track gets to a circle — where everything is equally as far from the pivot point, the less your speed will vary

    As far as getting to where the speed never varies — I’m not so sure that this is going to help at all in trying to figure how to get a constant speed


  • steve_maiettasteve_maietta Member Posts: 54 PRO


    I get here, and when I pull the swingarm around I get jumbled links after a few degrees of motion.  I set limits for the revolute mates to help keep the links "on the right track" but after about 45 degrees of swingarm travel all the mates turn red and the ability to move anythign freezes up..
  • john_mcclaryjohn_mcclary Member, Developers Posts: 3,933 PRO
    I'm thinking we need to create a sketch path and add a mate connector to each link pin, then tanget the mate connectors to the sketch path
  • steve_maiettasteve_maietta Member Posts: 54 PRO
    edited September 2020
    John thats a great idea, using the pins for the tangency...... 
     I had pretty good luck with the plates following a surface as a guide, when manually dragging it around,  but when animating, could only go so far around the thing using the rack and pinion relation between a phantom wheel and the chain pieces.
  • steve_maiettasteve_maietta Member Posts: 54 PRO
    @steve_shubin -that looks great!  Thanks for taking the time. I've shared this file with my students. . .
      I'm going to have to dig in there and see how you set it all up..   Any thoughts on duplicating that chain piece so it will "link" up and follow the same mate rules as the existing segment?  Making a full chain with 100 parts and 200 mates seems pretty crazy.  I haven't played with subassemblies or assembly patterning etc yet . .    
  • john_mcclaryjohn_mcclary Member, Developers Posts: 3,933 PRO
    Unfortunately all Onshape assembly patterns are rigid until they come up with a path-pattern (which there should be an IR for this if I recall)

    So yes, you will need to have an extreme amount of mates to pull this off. Which is why it is not recommended. It's more of a (can it be done vrs should it be done)
  • steve_shubinsteve_shubin Member Posts: 1,094 ✭✭✭✭
    @steve_maietta

    It took 18 mates to do five links

    YIKES !!!

    Just imagine how long that list of mates would be if you tried to go around that whole track

    So where @john_mcclary says it’s not recommended, well that’s more than understandable. What John has said makes all the sense in the world

    But for kicks and giggles, if you guys really wanted to see what a continuous chain would look like going around a track, I might try making a SMALL round track. I want to stress SMALL. Maybe something like 20 links at most to go around the whole track. I might even use less links than that

    I would first make the track.

    Then I would make all the links with the associated mates. The last link should come up a little shy of the first link. Then I would adjust the diameter of the track so that the first and last link overlap properly. You could do this quickly using in-context editing

    I would not try to connect the first and last link. I would just use tangent mates to keep those two on the track. If you overlap them properly, the chain will look as though it’s fully connected


  • john_mcclaryjohn_mcclary Member, Developers Posts: 3,933 PRO
    I notice if you try to continue to mate links Onshape will start freaking out and show mate errors everywhere. This happened to me on my last attempt too.

    But I was able to create a small segment for each curve, next I'll try and join them together. possibly with a rigid section for the straight parts of the chain using group mate.

    Then the plan is to animate using a loop with 1/2" of motion, (the pitch of the chain)
    being on loop it will give the illusion of continuous motion.


  • steve_maiettasteve_maietta Member Posts: 54 PRO
    edited September 2020
    Steve, all wise words.  Luckily my students goal is indeed a short chain around two sprockets.  So we aimed high and came up with a method that looks like it will work.  I told him to forget the back plates and the rollers of the chain, resulting in less mates and less Onshape scrambling the thing up (as John mentioned above)
      We ended up with revolutes used to keep the links together, one planar to keep the whole chain flat and then every bore tangent to the edge as you did.  So essentially three mates per chain plate.  We added pins using fastened mates to give a better look and I'm guessing those are the simplest for Os to resolve, they didn't impair the animation at all.
    Then drove the segment around using the pushrod as you did, and drove the (hidden) pushrod around using one of the sprockets!!    WINNER WINNER. !!!!!!!!   (we will see how many links the student decides to get in there)

    The idea of shrinking the track to get the chain to "fit" is perfect.- I will relay that on.

    And another topic, I have a student trying to animate a geneva mechanism with the difficulty of getting the intermittent rotation on the one part.  I used Johns rubix cube idea of slider + slider + tangent to a guide track and we have achieved success,   Another WIN, another very excited student.

    Thanks a lot guys!   John I'm dying to see that chain of yours, -1/2" loop animation is another great idea, ----you guys are good!!!!!

    ~Steve
  • john_mcclaryjohn_mcclary Member, Developers Posts: 3,933 PRO
    edited September 2020
    So this is what it would look like with just 1" of travel on loop:


    Unfortunately, loop isn't always available: (this being one of those times.)
    Does anyone know what the pre-condition is for loop to be available?
    I had to trim a gif to get the above to look like it's looping



    @steve_shubin
    thanks for the start file for this project, saved some time, but I notice you have a planar mate and a revolute mate on each link.
    I'm not sure if you are aware, but revolute has planar built-in so you can delete all of your planar mates.

    https://cad.onshape.com/documents/15e0a512b5a795c92b0548a1/w/6cd70b8cc31ad122357e43d8/e/4a3a8aa6fa21fb3d0c510739
  • john_mcclaryjohn_mcclary Member, Developers Posts: 3,933 PRO
    Ok, so a little tom-foolery with revolute mate achieved the affect in-situ


    https://www.youtube.com/watch?v=kMy4j_LYuYo
  • steve_shubinsteve_shubin Member Posts: 1,094 ✭✭✭✭
    @john_mcclary

    Wow — just absolutely amazing

    Well I said when you figure it out let me know

    I thought you were the one that was going to get it to work

    Great work John

    Unfortunately — I got this little remodel here at home that’s tying me up and some other stuff too that I got to take care of so chances are I won’t be able to get to this for a while to study exactly what it is you did

    And thanks for the tip about the planar and revolute mates — I didn’t know that

    But I just had to take the time to say — that is amazing


  • john_mcclaryjohn_mcclary Member, Developers Posts: 3,933 PRO
    edited September 2020
    It's basically an optical illusion. The swing arm is the actual animation. Because chain links look identical to each other all you need to do is move the distance of one link.

    Unfortunately slider mate does not allow for loop animation, so the hack was to set the swing arm on one of the axis of the sprockets and rotate the angle it would take one link to travel, then I just looped.

    If there were sprockets to animate this could have been done with rack and pinion relations, or something.

    The problem is Onshape has a severe problem when having all of these mates. It literally cannot handle it. I'm disappointed in this fact, but I hope Onshape has some resources to investigate why after a certain qty of mates like this just makes the assembly freak out. These work arounds should not be needed, but something would still have needed to be done to get a continuous animation (which was my first attempt months ago which failed in the same way) 

    I hope using the tangent-path and pointer method (like in the Rubik's example) used in a saw-tooth wave would achieved the same affect as a loop and allow for additional components to be animated at the same time. A short burst of chain motion  isn't worth the effort if that is the only part that can be animated.

    One of these days Onshape may release a true animation tool, but until then, these little hacks are fun and interesting. (kind of makes my feel the pain of a game developer on an atari, maybe I'm a masochist in that way..)
  • steve_maiettasteve_maietta Member Posts: 54 PRO
    John, amazing work.    Thanks again guys for pushing these little puzzles, amazing hat can be accomplished!!!
    Hoepfully the PathMate will become a part of OnShape in the future!!

    ~Steve
  • tony_459tony_459 Member Posts: 206 ✭✭✭
    Could be easier to just use a simulation app, though.
  • john_mcclaryjohn_mcclary Member, Developers Posts: 3,933 PRO
    tony_459 said:
    Could be easier to just use a simulation app, though.
    Certainly, but it's nice to have it built in to the model so it stays updated 
Sign In or Register to comment.