Grasshopper

algorithmic modeling for Rhino

I’ve been reading a lot of the posts here over the past week, and I have to say there’s no shortage of genius contributors for Grasshopper. Unfortunately I’ve not found any information that could help my technical challenge.

Is it possible to define a SDL line where the direction and the start/end points are not yet defined?

In the attached GH file, I’m hoping I can place a line somewhere on the path of a circle based on the length of the line. So if I make the line longer, the ends should slide out along the circles.

I should say that using circles are not required, as an ARC would work just fine for my application. In the end, I would like to be able to slide the SDL line laterally (using a slider input) and allow each end of the line to follow different locations along the circle/arc.

I hope my intent is clear as I’ve been trying to solve this one for over 2 weeks.

Views: 1107

Attachments:

Replies to This Discussion

Well...  First of all (as I think you know), an 'SDL' line is defined by Start, Direction and Length, not by an end point.

Second, is an 'SDL' really necessary at all here?  Maybe just connecting two points will work?

Third, though I've re-read your descriptions, I can't quite figure out what you want to do?

I started to write something, then noticed that the two circles aren't on the same plane (not obvious from the 'Top' view), so changed from a circle intersection to sphere intersection.  Are you thinking of something like this?

Attachments:

If I understand you correctly, I think you need to solve for the intersection of two circles, one with radius = length of the pushrod and one with radius = length of the "follower" or whatever it's called. SDL won't work here, at least not easily.

Attachments:

Until I saw Joseph's interpretation I didn't realize the two circles were in different planes, so here is my new solution, same as the old solution except now it's based on the intersection of a sphere with a circle. Of course, this still assumes I'm reading this correctly...

Attachments:

OK, but as noted, his circles aren't on the same plane so a sphere is needed instead of a circle.

'List Item' always returns the first of the two points, which causes a problem when they suddenly reverse.  I "fixed that" by using 'AlongCrv (Sort Along Curve)' before passing the two intersection points to 'List Item':

Attachments:

Gentlemen. Just getting back now and already some very innovative thinking.

About a week ago I did have something in the middle as a start point for a sphere. What I made allowed a sphere intersection (as a brep object) to intersect with an ARC (rather than a circle).

Yes I intentionally made the circles at different elevations. This is because the two circles (ARCs) in my project have different plane angles. So the end solution needed to be independent of a 2D model.

What failed in my earlier attempt was the fact that my sphere at the centre of the lines (because I used two lines, each going towards separate ARCs) the lateral sphere movement I so desired control over meant that the path between each circle could never be straight, so the line between ARC points always had a kink thanks to the sphere not sitting in between (it harder to do than you think).

In real-world terms, what I’m looking to achieve are two wheels with a pipe connection between them — like a steam locomotive. The tricky part is, you can only apply lateral movement to the connecting rod. You cannot apply a rotational force to one circle.

Ethan. The sample you have there is where I was three weeks ago. The "move me" slider is an arbitrary input. Were it an input in degrees, that would really be something, but sadly it doesn't allow for that.

Jeff Hammond over on McNeil sank this ship. Check out his trig solution...

Attachments:

I knew it was too good to be true.

Seems this arrangement only allows the final line to be parallel with the centre of both circles rather than allow the line to maintain a fixed length while sliding along the path of each circle (using a lateral input slider).

Why don't you specify what you're looking for next time? If you wanted a trig solution, then you should have asked for it. Now that would have really been something!

I think you're making this sound much harder than it really is:

Attachments:

The only thing tricky about this is setting the position and radii of the two circles such that the "rod" isn't too short or too long through 360 degrees of rotation:

Attachments:

Holy Cow!

I think I will need to poke through this for a bit.

Amazing!

Again, this really isn't that complicated.  Here is a slightly simpler version:

Try by-passing the 'AlongCrv' component and see what happens.

P.S.  Hey, wait a minute!  'AlongCrv' doesn't seem to have any effect in this version!?

Attachments:

RSS

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