algorithmic modeling for Rhino

Hello All,
I am trying to automate the process of modeling the frames of a ship, see the attached image. The frames are flanged plates with the flange a set distance off of the hull and deck. The flange is a different distance off the bottom of the hull verses the dead rise section and a different offset of the deck. So basically there are three offset distances but they repeat for every frame where ever they land on the changing shape of the hull. There are over 300 of them so automation would be good!
When I model this by hand I start with a line and project to the hull and deck. Then these curves get offset, extended, trimmed and joined into a closed curve that makes a surface. Then the flange is extruded and the surfaces get offset by the plate thickness. The gusset on the outboard side is made in a similar way with a circle cut out of the middle.
When I tried to duplicate this process in Grasshopper the first challenge I run into is just getting the offset curves to form a closed polylines. Just extending and trimming a curve is really complicated!
While my modeling skills are good I have never done any programming and would like to know if I am headed down the right road using Grasshopper for this task? Is scripting or a macro a better choice or some combination of all three tools the way? Any guidance on a logical work flow or relevant tutorials would be greatly appreciated!

Views: 401

Replies to This Discussion

Hi David,

I suggest you open this thread in it is the new forum that collects it all Rhino+the plugins (Grasshopper included).

Now on the topic. Using grasshopper to create such model is very possible. All you need is to define clear parameters of the frame, and a component (number slider) that either jumps from Reference plane to another or purely defines the X. This will define where the intersections, thus the closed polylines will be and how they will look.








  • Add Photos
  • View All


  • Add Videos
  • View All

© 2022   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service