Grasshopper

algorithmic modeling for Rhino

I am trying to make a series of fins that start out about 45' apart and then meet at a point about 200' away. So they form a V shape. I want the widest end of the V to be the tallest, about 30' and then it become shorter and shorter towards the end where they come together to the point they are like 5' tall. Also, I want the widest part to bend away from each other, start to come together towards the middle and then once past the middle they start to bend towards each other to the point the are touching and becoming one at the end where they meet.

I am a novice at best, I have tried several different methods and watch many tutorials with no luck on making this work. My biggest issue is with the bending.

What I did was draw my "fins" profile with curves and joined them so it was all one curve, then brought that curve into GH and arrayed it along an angled line so that I got the spacing I was looking for. I then extruded these shapes but they all extrude the same height. I don't know how I can go in and pick out one of the shapes to then start to manipulate it to bend how I'd like. I could possibly do extrude along a curve but then I would have to draw all the curves in and it ends up not looking concentric like I know grasshopper can do and I am having an issue that it twists. My idea was to get one side done and then just mirror the whole thing.

Any help would be great, maybe I don't know a command, maybe I'm doing it in the wrong order (both likely) but I just don't know


Thanks in advance. I have attached my GH file with "fin" profile I am trying to use attached. I also attached two sketches, one shows the profile of the fin again, and the other shows the over all concept incase you have no idea what I was saying above

Views: 2023

Attachments:

Replies to This Discussion

Well ... this is a surface:

That is a Brep (meaning a surface + trimming info).

The free Bonus (that helps a lot) it operates on Surfaces (meaning that it works on the underlying surface when a Brep is provited, meaning that you input trimming stuff and you output NO trimming stuff). Trimming is obviously very important when you need holes and control on the boundary for applying "segmented" fins ... but that requires some other approach.

But the main problem here is this: (the perp frames component does Planes that head East-West (spot the starting planes) > a known "glitz" > this is one of the many reasons that I always do things via code where you can control anything far more easily.

More soon (on that "glitz").

In the mean time open the zip and enjoy (this is the way to do it regardless of what the liquid madness dictate).

Attachments:

And more stuff.

Attachments:

This V2A addresses the east-west planes issue (BTW I have far more sophisticated code that works in any imaginable situation - but I'm at home right now).

Anyway you have the option either to trust fate:

or Darkness:

Attachments:

BTW: with regard the "outdated" stuff captured ... er ... in the Stuff_xx.zip.

This is the ONLY way to do something that MAY appear "outdated" but in fact you can create an incredible range of trusses (from mild to ultra wild) that support the "outdated" fins (that work in ANY orientation) that are doable and cost less than the GNP of Nigeria.

shown some "variants" using a flat surface for clarity (using nurbs surfaces is ultra complex to get the gist of the available possibilities):

MERO KK systeme (very close to reality):

abstract tubes (1M miles away from reality):

and some of the possible variants (random, normal, sin distorted, flipped, wild. mild, you tell me) captured in front view for clarity:

Moral: the more things change the more stay the same.

After taking a super long holiday I am back on this, I am looking at the original one you sent. I have a question as well as an issue. The question - my surface starts out curving to one side and then changes direction halfway through, this seems to confuse it as to where to put the profile for the fin and it ends up flipping the profile when changing directions.

The issue- I broke the C#script that the surface plugs into. I am not sure how or how to fix it. Here is what it says in the script box. I do not think I have changed how I was doing it but I did make a more complex surface. What did I do wrong?

  private void RunScript(Brep surf, List<Plane> pList, ref object intersectionCurves)
  {
    double tol = RhinoDoc.ActiveDoc.ModelAbsoluteTolerance;

    List<Curve> curves = new List<Curve>();
    for(int i = 0;i < pList.Count;i++){
      Plane plane = pList[i];

      Curve[] intCurves; Point3d[] intPts;
      Rhino.Geometry.Intersect.Intersection.BrepPlane(surf, plane, tol, out intCurves, out intPts);
      if(intCurves.Length == 1){
        curves.Add(intCurves[0]);
      }
      else{
        Print("Intersection issue at index: {0}", i);
      }
    }
    intersectionCurves = curves;

Well ...  post the surface AND the profile, what else?

Other than that ... always have in mind that dealing with any "situation" imaginable it takes a disproportional amount of time/effort when doing parametric stuff (or coding).

That's especially true when dealing with  "proper" coordinate  systems (Planes) orientation - because what "proper" should mean ... it's not always apparent/clear on first sight.

BTW: For reasons of "simplicity" (maybe a bit crude) the C# that does the intersections discards events with more that one curve (it may seem a bit stupid, but if the surface twists ... this could become more than a handful: for instance what may be the desired orientation of the fins? [NOT what you think on first sight]).

BTW: As noted, you can replace the C# (that reports failures) with the native GH component and test the result.

BTW: Additionally ... what MAY be the desired "axis" for deploying the cutting planes (currently the longest edge out of the 8 from the bounding box) ... well ... this also MAY require a potential gate/filter that passes control to the user in order to pick other axis.

I did the same thing I was doing last night and this morning it just worked. No idea why. I attached what I am toying with. It appears that the profile flips twice. I know in maya you have to draw things a certain way so that the "normal" are all on the same side. Is this a similar issue? perhaps the curves I used to make the surface in Rhino have different normals and that is what causes the flip? It seems that the profile flips anytime the curve starts to bend a different direction. Would I break the line it follows up and the surface so that its curve never changes direction? I would have the same definition but with different geometry in each three times in this case.

Attachments:

WAIT A MINUTE:

Did I (or  did I not ?? he, he) explicitly stated that certain GH components have some weird ideas about what "properly oriented" planes mean? (at least for our purposes, he he).

Did I provided (V2A) 2 options on that matter ??:

(a) trust Fate (b) trust Darkness.

And what your GH file use instead?  (You tell me)

he, he

Attachments:

And here's the rollTheBones option update (either you use the planes as they are or ... do something about that, he he).

PS: I would strongly suggest to use a straight line (that's why I've used the box): weird things happen if, say, the "axis" is some curve (and most notably: "twisted" or non planar).

Attachments:

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service