Grasshopper ("GH") is a visual programming tool included in Rhino 6 to generate and manipulate 3D CAD models. Interactive parameter inputs allow a wide range of options to be explored and fine-tuned to customize the output to specific requirements. For example, a GH script to create proa hulls uses numeric sliders to move pre-defined control points that generate curves for hull and deck surfaces.
Whether by design or neglect, there is an unfortunate ivory tower atmosphere around Rhino Grasshopper that fully accepts the need to write your own tools in VB, C# or Python using RhinoCommon APIs. Most people are completely incapable of doing that and so are forced to settle for what is built into Grasshopper or, to get "serious work" done, become wedded to one or more third party plugins. As a result, the GH community is splintered into an incoherent tower of babel. The update pace for new features and bug fixes in Grasshopper is measured in years (if ever...).
Among the most common feature requests over the last ten years is the ability to "bake" geometry to layers without going through a tedious manual process. As of January, 2020 (Rhino 6), this basic functionality is still missing, so with considerable effort, agony and distraction, I came up with this small set of open source Python components to do the job: