Grasshopper

algorithmic modeling for Rhino

Hi im trying to generate vertical fins on a curved surface, im having problems to connect the the points to a curve which i generated on the surface.

Could you guys have a look at it and give me some tips.

best

mac

Views: 4253

Attachments:

Replies to This Discussion

So you are a professional - can I send  you a bill?  ;)

Using 'Extr (Extrude)' for thickness was probably a mistake (mine); 'Loft' didn't work and I took an expedient solution.  'Offset surface' is really better when the surface might be twisted and not planar.  Fixed in this version.

I'm not so sure about the way I replaced the vertical isocurves either...  Could have used 'CrvSrf (Curve on Surface)' instead...  Not sure of the effects when the number of intervals is reduced?

Attachments:

I'm not so sure about the way I replaced the vertical isocurves either... Could have used 'CrvSrf (Curve on Surface)' instead... Not sure of the effects when the number of intervals is reduced?

Just out of curiosity, I added 'CrvSrf' as an alternative to 'IntCrv' for the vertical lines - and a yellow group to measure the maximum difference between the two curves.  Only 0.0285 'Max Diff' in this model, though I suspect it might be more if the surface was more curved?

Attachments:

Curiosity again...  I decided to test theory by giving your tower some twist (off-center rotation) and found a couple of things.

  1. 'CrvSrf (Curve on Surface)' doesn't work well.  Tested with eight and with 47 interval points (section planes); lines wrapped around the tower and went otherwise goofy.
  2. 'IntCrv' looks much better but on closer examination, several lines fail to 'Pull' to the twisted surface.  Looking at that... 'Shatter' is failing, don't know why yet.
  3. 'Loft' with the offset surface failed on most of the fins, so I went the more elaborate route, lofting the edge curves.

Attachments:

'Shatter' is failing, don't know why yet.

Found and fixed the problem by adding this function to filter 't' values less than "0.00001" - "if(x<0.00001,0,x)":

Attachments:

30 degree rotation:

Attachments:

haha actually im not a professional, im working but also still a student.  

Joseph thanks a lot, you helped me a lot and learned quite a bit thanks!!

Joseph hi

actually i think i found a problem every time i do divide the curve with around 50 the segments of the fins are wrong there is some mistake but i cant find out what it cause.

( never mind i think i did a mistake)

Be sure to use the latest version ( fins_2017Oct30d.gh ).  You can skip the rotated tower by wiring the 'Orig Srf' directly to the 'Srf' input for the fins.

Oops, sorry, that doesn't work.  The cross section curves need to be wired too.

Here is a stripped down version of the latest code, minus the twisted tower:

Attachments:

I encapsulated the code that thickens the fins into a general purpose cluster.  It uses 'Offset' surface, 'Loft' edges and brep 'Join' to return "Closed Breps".  It could easily be modified to offset in both directions, returning a brep centered on the original surface instead of being on one side or the other (w/ negative thickness).

P.S.  thicken_2017Oct31a.gh contains internalized surfaces from the twisted tower.

Attachments:

thicken_2017Oct31a.gh contains internalized surfaces from the twisted tower.

Sorry, one more time.  Now thicken_2017Oct31b.gh contains internalized surfaces from the twisted tower.

Attachments:

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