algorithmic modeling for Rhino
This is a old Monkey script that David Rutten helped me to apply in grasshopper.
but as you can see in the picture the elements come out with non uniform orientation.
I dont understand why this happends if the very same script works just fine on Monkey even on curved polylines .
I am adding the DEF anyone knows how to solve this?
This is what david said to me:
"The base frames for these beams are created from an origin point and a normal vector. That is simply not enough information to fully define a plane, and therefore Rhino pulls a plane orientation out of thin air. If you want your beams aligned with some base vector or surface normal, then that logic needs to be added to the script"
but I dont lnow how to do it! thanks for your help
and happy 2013!!
Tags:
The VB script and MonkeyScript use different methods to create the starting plane for the extrusion.
Since, as David already wrote, you cannot properly define a plane with a point and one vector, Rhino needs to apply some obscure logic to find the second vector to pin the plane. With a curve, you can use the curvature vector as a way to pin the second vector. With lines, there is no curvature, so again some obscure logic needs to handle the planes orientation.
How Rhino will orient Planes that are not properly defined is not transparent and may change. Actually, it looks like it already has changed from RhinoScript to RhinoCommon. I tried to recreate the way your old RVB actually works but Rhino.CurvePerpFrame() returns different planes than RhinoCommon.Geometry.Curve.GetPerpendicularFrames() (used inside GH's PerpFrame). Which is a different set of planes from new Plane().
As David said, you need to add some logic so handle those "random" orientations. As you are scripting "beams" I inserted some code to align the planes to the world Z vector.
THANKS Hannes Löschke your def works good.
I will try to develop more this definition. I ALWAYS NEED TO SQUARE PIPE STUFF XD
Just as an after thought if that grid in your initial example is oriented 0-90 you might try rotating it just a little bit to see if it makes a difference in the orientation of the beam ends that aren't consistent. Sometimes it's the behavior at the extremes (ie., 0-90) that cause vector problems.
thanks to you all.
I gonna give a closer look to the defs you uploaded.
Thanks for real!
Will be back soon
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