Grasshopper

algorithmic modeling for Rhino

Hi guys,
I have a panelled surface. One point is beeing moved a bit out along the surface normal at this given point.
Right now its always Point (0) of the four vertices of each subsurface.
Instead of always point (0) i want to find the lowest one for each panel (smallest z value) and move this one out.
how can I do that? Any suggestions?
Best, Simon

Views: 2789

Attachments:

Replies to This Discussion

Hi Simon,

Take your list of 4 points and plug them into a Decompose Point component. Plug the Z value list into a Sort component (K) and then plug your original point list into the synchronous sort input of the same sort component (A) this will match the sort properties of you Z values. Your newly sorted point list will have the lowest value first (output A)

Hi Danny, did your method work on the definition? I would be very interested to see if it works that way, because I was looking for the best way to do it and the sorting would be so nice if it does. I tested it quickly and it jumbled up the end result.

I ask because I am really interested if there is an easier way than this little more complicated method I used which worked quite well though.
Attachments:
Hi Theunis,

It works, but you need an extra component before lofting. As you no longer have control over which direction the lines are to be drawn you need to make sure that they are both in the same direction before lofting. Using the flip curve component will fix this, plug one line into the C input with the other one into the guide curve and then loft the output with the original guide curve. See attached. Although this does mess up the curves to be drawn in the other section of the definition as some are aligned 90 degrees out from he other panels.

From the other thread about boolean conversion you can plug the Equals results directly into the Weave component as shown to achieve the same results:

Attachments:
Simon,

I'll see if I have time to put together an example, but what you are asking to do would involve more than just finding the lowest point.

At the same time you are sorting the corner points you would also need to synchronously sort an index list corresponding to your point ordering.

Once you find the lowest point and move it then you would need to re-merge it with the original 3 points at it's corresponding index location. With some tree work I think the Srf4Pt component can be made to work.

Maybe there's a quicker way...

-taz
Hi Simon,

In case you miss the discussion with Theunis try this definition.
Best regards,
Danny
Attachments:
Guys, Thanks a lot for all your answers.
I will try them out immediately tommorow morning.

Best, Simon
Wow, I never stopped to think it the curve direction, I was convinced it was creating a listing problem when you sort it. I see it yet still my brain tells me it should be going wrong somewhere.

Thanks for the example. A much simpler approach than mine. I'll blame it on the Weave component, I just like it.
I suppose this would be an alternate approach that doesn't use lofting...

Interesting, thanks.
Hi Taz,

I never realised that the sort component had a multiple input manager. Its made me think what else has!

Thanks
Danny
In this definition the curve direction problem is solved, so its possible to create the surfaces via loft, again.
Attachments:
another thing...
Does anybody have a solution for unrolling the lofts?
I couldn´t find any solution for grasshopper geometry in the forum.
Best, Simon

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