Grasshopper

algorithmic modeling for Rhino

Can a Grasshopper Jedi help me orient these polygons??? help appreciated!

Hey guys and gals,

I'm a novice user trying to put some polygons on a non uniform surface. My definition is coming along nicely, and have found using the ' X Y dimension' surface analysis component gives me the 'U' and 'V' to plug into my subdivide, allowing for non uniform evenly spaced tiling. 

Here are two issues with my definition:

1) the polygons rotate incorrectly after the first two rows, how can a set a rotation value for this to control it? (Image below)

2) While this definition works great for surfaces that are mostly flat, unfortunately it struggles with vertical surfaces because it's only based on X Y dimensions. (Image shown below)

Unfortunately I can't use Divide Domain and IsoTrim because the domain extends past the boarder of my surfaces. 

The Grasshopper file is attached to my post.

I'm extremely appreciative of any help rendered,

-Derek

Views: 1719

Attachments:

Replies to This Discussion

Hello Derek,

 

Take a look at this thread. Maybe it will help.

http://www.grasshopper3d.com/profiles/blogs/hexagon-on-a-closed-sur...

To a get a consistent orientation relative to the surface, try using "evaluate surface" and giving it the uv coordinate output of your surface divide component. The resulting frames can be used as the basis for your hexagons. If necessary, you can rotate these planes with the rotate plane component. 

You can also try "align planes" to orient a set of inconsistent planes to a specific vector. 

Can you attach the file with the surfaces you have problems with? Thanks.

Thanks to all so far for the responses! I'll see if I can iron this out today and get back to you with what works. 

That hex thread is awesome, Juan. Thanks for the recommendation!

Also thanks for the practical advice Andrew.

Back in a bit!

Hey fellas I thought I would give a quick update. Thanks to Andrew issue number 1 is fixed, and today I'm working out how to resolve issue number 2, the spacing issue. Here is a picture of the spacing issue:

I'll be working today on how to resolve this, but if you have any suggestions of course I would greatly appreciate your feedback. Also, I have uploaded the source file as Ching requested. Thanks again,

-Derek

Attachments:

I tried to rebuild the surface in Rhino (rebuild command) and I think it evened out the density of control points and gave a better result in Grasshopper.

Good call, Ching!

I didn't realize that option was available to me! After I tried doing the same thing it ended up distributing a lot better, but I am still going to be tweaking it, as this isn't the only surface I will be having to work with, and it's good to have a number of different approaches available. 

If anybody stumbles upon another method please post it, and I'll post here as well if I find a different fix.

thanks again to all for the help!

-Derek

How do you like this?

Best Regards

DeDackel

Attachments:

DeDackel, (and company)

This is a really elegant solution! Using the Interpolate curve, and dividing that by the length is simple math, and simple solutions are always the best!

By adding the 'evaluate surface' parameter (from Andrew's suggestion) I was able to correct the orientation and this definition is looking great. 

The only thing I don't understand about your definition is what is the purpose of the Flip Matrix combined with the Clean component. How does this help make the distribution more uniform?

The end result is great! thanks a million!!!

FlipMatrix

The P Output of the polygon has a data that is (in your case) horizontal oriented....means the first Path of this output are the Crvs in the first horizontal row. But I do need the paths to be in vertical order. Only with this information i do get the IntCrv of every vertical row.

Clean

I have put that here to clean the data from invalid values. Have a look with panel and the param viewer at the different output of "D-Flipmatrix" and "D-clean". Kind of before and after look. This will hopefluly explain it.

otherwise ask again.

Sorry for the bad english explanation :-(

Best regards

DeDackel

Ah And I forgot to tell you. to get the correct NormalVector and the new location of the Crvs you have to evalute the new point in relation to the Srf. you can do this with CPSrf and EvaluteSrf.

BestRegards

DeDackel

DeDackel,

I wouldn't have known English wasn't your first language if you didn't tell me:)     your explanation makes perfect sense. 

I have added the Evaluate Srf and the result is about as good as an amateur like is going to get.

Thanks again!

-Derek

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