About Grasshopper in this project

I've been dreaming of sailing a "big" Pacific proa for 38 years (more than half my life). Lately I've been worried that my design work will die with me, so have decided to publish it. Maybe someone else has the knowledge, means and will to finish it.

A 21 meter proa (69 feet) isn't as big as one might think. It has little accommodation space compared to a catamaran of the same length. On the other hand, the long waterline and low weight have great potential for high performance.

Some will say that using parameters like this to design a boat is futile and the only proper way is to have a unique design for each boat. They may be right, but I've always been a programmer and this is how I roll.

Details of this download are discussed below. The download itself contains a random number that will change as the code is updated.


Grasshopper files

These are the Grasshopper files that do most of the work (Rhino 7 or 8 required). They have been named as "STEP00 (dimensions), STEP01 (Proa_hull), STEP02 (ama), STEP03 (beams), etc." beause they are intended to be used in that sequence. They pass data to each other using the standard Rhino Grassopper components 'DATA Output/DATA Input'. Geometry and other values sit in '.ghdata' files and can be accessed in any order, once they are created in sequence. It can be confusing...

\proa\STEP00_dimensions_2026Aug11a.gh
\proa\STEP01_Proa_hull_2026Aug28a.gh
\proa\STEP02_ama_2026Aug13a.gh
\proa\STEP03_beams_2026Aug7a.gh
\proa\STEP04_shell_bottom_2026Jul21a.gh
\proa\STEP05_pod_shell_2026Aug28a.gh
\proa\STEP06_pilothouse_2026Aug28a.gh
\proa\STEP07_cuts_2026Aug28a.gh
\proa\STEP08_floors_bulkheads_2026Aug16a.gh
\proa\STEP09_sails_2026Aug16a.gh

Another standard Rhino Grassopper feature is "Hops" that supports code execution inline, though the code may be elsewhere. Only two files are currently used.

\proa\Hops\hops_bevels_2026Aug28a
\proa\Hops\hops_leepod_windows.gh

.ghdata files are created automatically in a '\ghdata_files\' folder.

\proa\ghdata_files\dimensions_V7.ghdata
\proa\ghdata_files\pilothouse_v4.ghdata
\proa\ghdata_files\pod_shell_v11.ghdata
\proa\ghdata_files\proa_hull_V3.ghdata
\proa\ghdata_files\shell_bottom_v8.ghdata
\proa\ghdata_files\step_plane_V1.ghdata
\proa\ghdata_files\ama_V2.ghdata
\proa\ghdata_files\beams_V2.ghdata
\proa\ghdata_files\cuts.ghdata

P.S. Dates in filenames are used for version control but otherwise can be ignored. This code is old and could be better. In particular, geometry and other values were often added to '.ghdata' files because they might be useful but were never used. At the last minute, it was discovered that a trivial "splash rail' at the bows was causing major trouble that I could not readily fix - so just disabled it for now.


Comments on Grasshopper files

Parametric design has many ways to 'tweak' but doesn't automatically optimize many tradeoffs. Like displacement and the ratio of main hull to ama displacement. So this boat is not complete at all, but the code has many bits to examine those tradeoffs.

Some of these GH files take a long time to open so please be patient.

STEP00_dimensions_2026Aug11a.gh
STEP01_Proa_hull_2026Aug28a.gh
  • L/B ratio
  • Bow Height %LOA
  • Sheer Mid Z_%
  • Half-angle of entry (derived from bows)
  • radius deck
  • radius chine
  • optional Asymmetric hull
  • angle of hull relative to pod/shell
  • splash rail (temporarily disabled)
  • displacement calcs
STEP02_ama_2026Aug13a.gh
STEP03_beams_2026Aug7a.gh
STEP04_shell_bottom_2026Jul21a.gh

'shell_bottom' refers to the "pod/shell" that has most of the accommodation in the center of the boat. In some ways, this is the most complex and least amenable to scale by LOA (as written).

STEP05_pod_shell_2026Aug28a.gh

As explained above, the "pod/shell" is the central accommodation space, not including the "pilot house" that extends above it.

STEP06_pilothouse_2026Aug28a.gh

STEP07_cuts_2026Aug28a.gh

This step mainly cuts openings as needed.

STEP08_floors_bulkheads_2026Aug16a.gh

STEP09_sails_2026Aug16a.gh

Suggested (but fake) sails...