algorithmic modeling for Rhino

Offseting curve along a surface in common direction

Hi all, 

I've run into a problem I can't figure out.  Currently I have curves on this surface that will be acting as a center line.  I was planning on offeseting it to both sides and lofting to make a ribbon.  The problem is, I'm currently getting the Surface Normal with the idea to offset them all to the "Y" direction, but creating a plane to the surface normal, the normal is all fine, but the "Y" component of that plane goes in every which way.  I've tried to align the vectors, but still, as shown in the image, some still go in the wrong direction.  

Would there be an easier way to do this.  I could just all move to the World Y but that wouldn't give me what I want.  Is there some way to rotate all the vectors so the "X" and "Y" all face the same direction.  Or is there an easier way to offset along a curve in the curves U or V direction?

Does this make any sense? lol

Views: 3694

Replies to This Discussion

Are you using the component [Offset On Surface]?

Currently the curves technically are not on the surface, but when I try to project the curve onto the surface, and then use the Offset On Surface command my computer literally shuts down and it never completes.  

The lines actually being on the surface isn't important, the surface was more of a guide but I wanted the ribbon to follow the curvature of the surface and not just be horizontal in space.


Or is there a way to move something in the U or V direction without having to offset on surface or get the surface normal or anything like that? Like find the U direction at that point on a surface and use that vector to move the curve?

I'm still learning grasshopper but there should there be a U or V Unit component just like there are the Unit X, Y, Z.  Or maybe there is?  

Thanks :)

Pull curve to surface?

It would be complicated offsetting the curve with your form.

I would prefer to play with a point.

By dividing the guide surface (U= 1, V= whatever you want, or vice versa) or the reference curves (if you have already pulled it to the surface), you'll get the number of points in V or U directions, cull it with cull pattern based from your ribbon width + distance between ribbons, then flip the matrix of points and interpolate it. If you want to loft it, then divide the point list first with partition list. Just my 2cent.

Could you take a look at this?  Instead of right before my loft, moving the curves in the X direction and then lofting, im looking to move it along the surface in the U or V direction so that the ribbons aren't flat in space but rather following the surface.  


Wow, this is what I catch from your files, did you mean how to find vectors which is perpendicular with your curves, right? If it’s right, you need to compute cross product between normal and tangent vector from your curves.

Perfect, thank you!






  • Add Photos
  • View All


  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service