algorithmic modeling for Rhino
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
Tags:
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
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
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
Welcome to
Grasshopper
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
© 2024 Created by Scott Davidson. Powered by