Grasshopper

algorithmic modeling for Rhino


Inspired by a question about cams the other week, I've made a simple tool which can be used for simulating a range of different types of gears, cogs, cams, drives...

Hopefully this will enable some new ways of playing with mechanical systems.

Some ideas for the kinds of things it might be used to simulate:

https://www.youtube.com/watch?v=mkQ2pXkYjRM

http://www.robives.com/mechs

http://www.mekanizmalar.com/

http://www.cs.cmu.edu/~rapidproto/mechanisms/examples.html

Unlike the rest of Kangaroo, this component works with specifically 2D interactions. All input curves should be in the XY plane. The dependencies are also strictly 1-directional - the driver gear affects the follower, but not vice-versa. It is also designed to work with closed curves - some open curves may work, but the results could be unpredictable.

The inputs are:

Driver - One or more driver curves

Follower - The gear affected by the driver

Axle - The point about which the follower gear will rotate. Moving this point during simulation will also move the Follower gear, as shown in the video (the new grasshopper gumball comes in handy here)

Compound - allows you to optionally attach another curve which will move and translate along with the Follower curve, but which does not itself interact directly with the Driver (can be used for building compound gear trains)

Pull - If this boolean toggle is set to true, the Follower curve will try and always stay in contact with the Driver, useful if you are simulating cams

Reset - Sets the rotation of the Follower back to its original value

GearToy.gha

(edit 15/12/13 - This component is now included as part of the latest release of Kangaroo)

The component will show up as part of Kangaroo under the utilities tab (and in time I intend to integrate this 2D curve interaction with the main solver, to allow multidirectional dependencies)

Example files:

Gear_examples.zip

Views: 43118

Comment

You need to be a member of Grasshopper to add comments!

Comment by Mateusz Zwierzycki on December 5, 2013 at 1:38pm

How about 3d ? Nice job with constraints, as far as I know this is the tough part.

Comment by Daniel Piker on December 5, 2013 at 1:25pm

Mateusz - yes, this is 2d rigid body simulation, with a few extra constraints (the interaction is one directional and only rotational, while translation is set by user input).

This has been a sort of test case, but now I do think it should be possible to extend to something more general...

Comment by Mateusz Zwierzycki on December 5, 2013 at 1:06pm

So is it actually 2d rigid bodies simulation or some other magic ?

Comment by Cong Ye on December 5, 2013 at 12:33pm

awesome.. it's wonderful to see the preliminary version of object collision interaction, just yesterday I was wondering how to establish domino, this shapes to be a very interesting case of object collision

About

Translate

Search

Photos

  • Add Photos
  • View All

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service