Monday 28 December 2009

Rhino sectioning & lines plan drawings

Sections in Rhino3d are used for:
  • Analysis purposes of fairness and shape of 3d geometry
  • 2d drafting and export to for example AutoCAD
  • Lines plan drawings
Sections and lines drawings can be made with:
  • Rhino3d techniques (contour, section etc.)  
  • Orca3d plug-in sectioning and lines drawing feature  
  • ArchCut plug-in (free) 
  • Grasshopper plug-in visual script tool (free)
  • Download the Ship Hull Rhino3d file used in the demo video

Creating sections and lines plan drawings fast and accurate is very simple with Rhino. Commands like section and contour are mostly used.
In order to create automatic updates of sections and 2d drawings the free ArchCut plug-in does a wonderful job.

Orca3d plug-in for naval architects is the most convenient solution and also offers hydrostatics, stability and power and speed prediction features.

Visual scripting with Grasshopper plug-in is a new and very powerful tool to make Rhino more clever with scripts.

Download a free ship hull script which also generates sections automatically and see a video tutorial.

Friday 27 November 2009

Modeling Developable Hull Shapes in Rhino3d

Developable hull shapes play an important role in the marine industry. Therefore modeling these types of shapes fast and accurate in Rhino3d is very important. Furthermore is it important to unroll the surfaces accurate and easy for manufacturing purposes.
At last the free plug-in called 'Developable Surface Construction'  is explained in order to have more control of the ruling lines which define the twist of single curved surfaces.
Tutorial 1: Several modeling techniques explained.

Tutorial 2: Unrolling and flattening of surfaces explained as well as the free plug-in Developable Surface Construction.

Thursday 26 November 2009

Model Ship Hulls With Control Point Manipulation

This technique of modeling ship hulls is more of a sculpting approach.
Experienced users can design hull forms with direct control point manipulation. This method is based on generating a single surface with rows and columns of control points. Start with a flat plate and sculpt the form by dragging and pulling control points.
  • High quality single surface possible (depending on skills of user)
  • A lot of control to adjust the surface
  • Every imaginable surface is possible
  • Control points have to be positioned in a grid of rows and columns. Therefore too many control points at places where little control is needed and often less control points at places where a lot of control is needed. For example the difference between a straight midship section and a more complex bow area. T-Splines modeling offers more functionality when this aspect is important
  • Labour intensive to model the first hull
  • It is more difficult to edit the hull shape later systematically than with the Rapid Hull Modeling Method.
The Orca3d plug-in offers a more easy way to model ship hulls with easy hull wizards and extra tools to manipulate the shape of the hull.

Important Rhino Commands:
  • Move
  • Rotate
  • Scale 1d
  • Shear
Options and tools:
  • Project on
  • Object Snap on/off
  • Orthogonal on/off
  • Smart track on
  • Nudge option to move control points at predefined steps

See also this great instructional video of Brian James

Monday 23 November 2009

Status of Rhino in the Dutch Marine Industry

Leading companies in the Dutch Marine Industry gathered at TU-Delft University of Marine Technology on November 20 to learn from each other and discuss with McNeel staff the future of Rhino.
As RhinoCentre organized the event together with TU-Delft it was nice to witness the enthusiasm of our guests who priorized this meeting over their daily work.
Probably they also were that enthusiastic as they learned they can minimize lots of hours with better integration of Rhino in the work flow of designing and manufacturing yachts and merchant ships.
Several presentations showed the current status of the use of Rhino and level of integration in the process.

Royal Huisman presented a fully integrated design system which is primarily used for space management of exterior, interior, structure, deck equipment and technical installations in design and concept engineering phase. Furthermore a Rhino 3d production model is maintained containing the building blocks which are gradually swapped with finished Shipconstructor 3d geometry for production. A very important issue is proper process management, standardization of Rhino use and discipline of the rhino users to maintain the quality of the 3d models. Read more

Nevesbu showed a workflow to export a Rhino model to the PIAS stability software for complex stability calculations. This project was ordered by the Dutch Navy for the refit of the 'Walrus' class submarines. Rhinoscript was an essential tool to make it successful.

Tu-Delft Marine & Transport Technology amazed us with an inland ship design tool. This tool is based on Excel scripts who drive Rhino in order to create inland ship designs very fast.
Image courtesy of TU-Delft

Tobias Nagel Cad Service is a real guru who showed a work flow with the shortest pipeline between sketch design and manufacturing of a ship. As Tobias is a scripting expert, he is able to customize his use of Rhino to the needs of his partners.

 Damen Shipyards Gorinchem pick up the use and integration of Rhino 
very fast now. They presented both integrated Rhino 3d models for design purposes as well as 3d models used for the production of composite superstructures.

RhinoCentre is pioneering with real time 2d presentations of 3d models which can be printed out for meetings. Also the application of Grasshopper in ship and yacht design was demonstrated. Grasshopper enables architects to parameterize parts of a design to be able to make quick design variations.

The presentations where a good starting point for discussions. Steve Baer, core programmer of McNeel and trained as naval architect asked a lot of questions to get a better understanding of the daily practice of using Rhino. Steve demonstrated some features of the 'work in progress' Rhino 5 and explained that the development is also focusing on a better integration of Rhino 5 in complex environments and large projects.

Other companies who attended were:
 If you are interested to attend marine events in the future, please contact us.

Images are courtesy of the respective companies 

Thursday 19 November 2009

Dutch Architects meet McNeel

On November 16th RhinoCentre and Arup Amsterdam organised an informal gathering of leading Dutch Architects and McNeel staff. The discussions were focused on the current status of computational use in Dutch architecture offices.

Bob McNeel personally learned how Rhino is integrated in the workflow of several architecture firms, sometimes as a representation tool or in some cases as a generative tool driving the design. Steve Baer, core programmer of Rhinoceros wrote down lots of valuable and useful notes. Giulio Piacentino of McNeel Europe and trained as Architect at TU-Delft, learned about the daily practice in the Netherlands.
A summary of the discussion’s findings:
  • BIM modelling seems to be the trend. But since no one (nor client, nor architect, nor contractor) can clearly specify what BIM is, Rhinoceros does not need to adapt to this methodology of working simply because of the lack of clear requirements of BIM modelling.
  • Most output of architectural offices is still based on 2D drawings. In order to facilitate this workflow, Rhinoceros could be better equiped for this task. It’s platform is mainly focused on digital fabrication. The market however is not that advanced yet.
  • Rhinoscript and Grasshopper have proven to be powerful tools for clever concept design and should become more integrated into Rhinoceros.
The gathering of architects has proven to be a good platform for knowledge transfer in the field of architecture that spans beyond the regular way of working. Tips and tricks on how to use 3D models as contractual elements and how to deal with liability were interesting topics arising from the discussion on dealing with advanced 3-dimensional complex design.

  • de Architecten Cie.
  • Arup Amsterdam
  • Information Based Architecture
  • McNeel & Associates
  • Mecanoo
  • Meyer & van Schooten
  • Octatube
  • Roderik van der Weijden - Architect
  • UN-Studio
The discussion on the current status of computational use in Dutch architecture offices was organized by Pim van Wylick for RhinoCentre with the generous support of Jeroen Coenders at Arup Amsterdam.
Pim van Wylick is RhinoCentre’s specialist for Architecture. He also heads the Form Foundation, an architecture office specialised in complex geometries and computational research. For any questions regarding using Rhinoceros in an architectural environment or interest in a future gathering, please contact him under

Monday 13 July 2009

Including scripts and plugins in Rhino

There are several ways to expand the possibilities that Rhino has to offer. In this article we show how you can include scripts in the form of toolbars, rvb-script files and as rhino plugin files (.rhp)

Including a script that has been posted as a .tb file:

Copy the file first to a location where you can find it back. By default, Rhino Stores its toolbar files in this location:


After you have saved it to the right location, drag it into an open Rhino session.

Here is an example to practice that with:
RandLayerColor.tb (a toolbar that includes scripts to make a new layer with a random color, and to randomize existing layers)
Rhino Scatter.tb (a toolbar that can put random points on objects and copy objects to points)

Including a rvb-script in Rhino for later access

The easies way to include a script in Rhino for immediate access, is to make a button for it:
Make a new toolbar or make a new button into an existing toolbar.
Edit the button by SHIFT-rightclicking on the button.
Open the rvb file in a text editor like notepad
copy the contents of the rvb file to the area of left mouse button command
Almost finished!
All you need to do now is tell Rhino to run this script. This means you need to place the following text before the code you just pasted:
!-_Runscript (

and at the end of the script text, close it with:


Save the changes by clicking ok, and make sure to save the toolbar (tools--> toolbar layout --> file --> save)

Some nice scripts to practice this with:
SharpenUp.rvb (to remove fillets from filleted polylines)
GripRandomize.rvb (to make noise-like transformations to surfaces)

Including a RHP-file for later access

To include a rhp-file (rhino plugin), the best you can do is to copy the file first to C:\program files\rhinoceros 4.0\plugins\ and preferably in its own subfolder, so that you can separate the scripts you download from the native Rhino plugins.
Now when you have the file sit in its right location, drag it into the viewport of an open Rhino session. That's all you need to do. In most cases, the script is now accessible with a new command that resembles the name of the script. For example, if the file was called RandomizeColors.rhp, most likely the person who wrote the script has assigned RandomizeColors as a command to that script.

Thursday 26 March 2009

Royal Huisman's Rhino Design System

Twizzle - image courtesy of Royal Huisman

In 2007 Royal Huisman decided to integrate Rhino in their workflow of designing their mega sailing yachts. Royal Huisman belongs to the top five mega sail yacht builders of the world!
The positive impact of this decision appears to be bigger than we ever dreamed of. As RhinoCentre actively cooperated in the creation of the most innovative Rhino design system, we are happy to be able to present this business case.

As it is unique that a megayacht shipyard allows publicity regarding their design and manufacturing process, we are grateful for their cooperation and hope it is inspiring to you.

Read the Royal Huisman Business Case


Saturday 14 February 2009

Rhino goes Parametric with Grasshopper

It has been some time since we posted, as it has been busy at RhinoCentre. More and more people are finding their way to our excellence network, be it for advice, training, constructional drawings or high end visualizations. But luckily we did find some time to dive into Grasshopper. Grasshopper enables you to create flexible parametric designs with Rhino. This means that you can easily adapt your design based on important design parameters and constraints. This article demonstrates how Grasshopper can be applied to the design of a (simple) cabinet.

Watch the cabinet introduction video
Watch the cabinet culling video
Watch the cabinet shifting video

I think that even in its current state, Grasshopper has a lot to offer and shows a lot of potential. I hope this simple example will stimulate you to give Grasshopper a try.

Download Grasshopper for Rhino
Download the Grasshopper cabinet example file.

Since the development of Grasshopper has started, it has created a lot of buzz, especially in the architectural world. There haven't been many examples yet though of what Grasshopper can do in other disciplines. The following example shows a cabinet that has been made completely parametric with the use of Grasshopper. The width, depth and height and other features of the cabinet can be changed with the sliders on the remote control panel (for new users of Grasshopper: this is the panel that appears when enabling Remote Control Panel in the view menu)

The amount of shelves can be changed as well. The cabinet has 1 or 2 doors. The decision whether it needs 1 or two doors is made automatically, based on the size of the cabinet. In this case, when the cabinet is less wide than 600 units (the file assumes you are working in mm) only one door will be generated, when the cabinet is wider, two doors are generated.
This is done with the cull component. Based on a comparison, the cull component can decide to generate or not generate geometry. In order to do this, it accepts a true or a false. To generate this true or false, you have to make a condition. In programming languages this often looks (similar) like:

if (condition) then
do something
end if

and more particularly, to generate a boolean (true/false), it could look like this:

if (condition) then
end if

in Grasshopper, however, you can achieve the same result with a function component with a single variable. This one can be found under the scalar tab, expressions
In the cabinet example, this is done by connecting the width of the cabinet to the x of the function. The function is simple. For the cull component that needs to generate a single door, the function reads x<600
For the cull component that needs to generate 2 doors, the function reads x>600
In the following two images, you see the above in action:

The construction for the shelves is a bit more difficult. In order to get the shelves perfectly spaced over the available inner height, a curve is generated and divided. Since the shelves are positioned at these division points with their lower corner, I made sure that the line that is being divided starts at 1 shelf thickness below the top of the bottom side of the cabinet.

Now if we would place the shelves at the division points of the curve, we would end up with 2 more shelves than needed: this is because dividing a curve also generates points at the start and end of the line. There are several methods to get rid of these shelves. Here I used the shift component twice. So the list of points is first shifted downward, then shifted upward. The booleans for wrapping the list while shifting are set to false. Therefore, the outer points will be erased from the list. Exactly what we want.

about Grasshopper
Grasshopper is a plugin for Rhinoceros Nurbs Modeling for Windows. It is being developed by Robert McNeel and Associates. The brain behind Grasshopper is Dutch urban architect and programmer David Rutten.