# Ship Hull Creation Tutorial

Developed by Mark Pavkov for

The Center for Innovation in Ship Design, Intern Program Naval Surface Warfare Center, Carderock Division
9500 MacArthur Blvd Building 1 West Bethesda, MD 20817-5700 2007©

1

Introduction
This tutorial has been designed to give the reader an understanding of the different methods that can be used to model a ship‟s hull in Rhino through a series of predesigned offsets. These offsets are produced from when the hull form is portrayed graphically by the lines plan (see: Introduction to Naval Architecture). This shows the various curves of intersection between the hull and the three sets of orthogonal planes. In merchant ships the transverse sections are numbered from aft to forward. In Warships (U.S.) they are numbered from forward to aft. The distances of the various intersection points from the middle line plane are called offsets. There are a various ways to complete this modeling task and in no way does this tutorial purport to be the best way. It will however introduce some techniques, developing a useable skill set in surface modeling. In this case, the body plane was scanned and offset points were created with a piece of software called SHCP (Ship Hull Characteristic Program). This is a very fast, albeit inaccurate way to create a table of offsets. Techniques will be introduced to help align these inaccuracies and solve the problem of the “sloppy offsets”. This tutorial will lead the reader through the following steps to complete the modeling of the ship‟s hull: Introduction ..................................................................................................................... 2 1. Generating the Offsets ................................................................................................ 4 2. Generating a Rhino Points Cloud ............................................................................... 6 3. Generating Station Curves .......................................................................................... 8 4. Refining the Curves .................................................................................................. 10 5. Introducing Special Features..................................................................................... 15 6. Generating the Main Hull Body ................................................................................ 17 7. Generating Waterlines .............................................................................................. 20 8. Generating Bow & Stern Surfaces ............................................................................ 23 9. Mirror the Hull .......................................................................................................... 31

2

Useful Commands: Hide: Left click the icon and either select an object to hide or drag the selection box over a group of objects by depression and holding the left mouse button. Then by hitting the Enter key or right clicking the mouse, the selected items will then be hidden. By right clicking the icon, all hidden objects will reappear on the screen. It should be noted that this applies only to active layers; hidden objects on inactive layer will remain hidden. This command is quite useful when the need arises to work on an object that is obscured by another or when there is simply too much clutter on the screen. Zoom window/ Zoom target: This icon will zoom onto selected areas. Keep in mind that this command can be executed in the middle of another command, for example to pull the distant terminus of a line into view. In the Perspective view, it has the added benefit of relocating the axis of rotation for all objects to the center of the selected area, which is very convenient when doing close up work on an object. Press ‘U’ in Middle of Command: This is an „undo‟ command to return to the previous step in the overall command. Command Bar: It is useful to keep an eye on the „command bar‟ as this will indicate any errors in the command and can be used for problem solving of incorrect modeling. Double Click on View Fields: You can „double click‟ on view fields such as front or perspective to enlarge them to a full screen. The double click can also be used to escape back to the original four window view.

3

The x scale in this case is not a scale at all. 20. There are usually 10. METHOD: By editing the table in Excel In order for Rhino to the use the offset data produced by the software package SHCP it must first be put into the correct form. Once this is done we must transform the scale of the stations.1.875 in order to get the correct longitudinal spacing of the points.  multiply column A by 9. which is text and unreadable to Rhino. The y column is in meters and defines the point from the ship centerline (the transverse middle of the ship running fore and aft).” As explained stations are a series of transverse cuts at defined increments from the forward perpendicular (FP) aft (negative x coordinates define the bow section forward of the FP). with one anomaly: the x coordinates are given in a different scale then the y and z.875 meters. Generating the Offsets AIM: To edit the SHCP table of offsets into a Rhino compatible form. To make this table compatible with Rhino the following editing must be performed:  Delete row 1. Open the Excel file Containership lines. where as the z column defines the point from the ship baseline or the bottom of the keel plate. Once you do this the spread sheet should look like this: 4 . or 40 stations in a typical table of offsets. to remove the redundant 88888 station breakers produced by the SHCP program. The spacing between stations is 9. The format of the table of offsets is in a typical Cartesian system.  Delete column D. In this case there are 20 stations and several partial stations where the curvature is complex. while selecting the values radio button.  Put the calculated values into column A in a new sheet using the Special Paste command in the Edit dropdown menu. but a division of the ship called “stations.

 Now save this spread sheet as a common delaminated file (*.CSV). Give it the name Offsets for Rhino. Just select Okay or yes for both. The Data file is now ready for Rhino to read. 5 . This will create a copy of the file in the new format and can be opened or modified in for Notepad or Excel. Two warnings may come up. using the Save As command and changing the file type in the drop-down menu. NEXT STEP: This Rhino compatible „Ship Hull Offsets‟ table can now be used to generate a ship hull‟s „Points Cloud‟.

 Press „OK‟  Next.  Go to File > Import.2. click open. right click the Zoom extents icon . If the Files of type line in the window are not set to Point File.0 to 210. select the template: meters. Or go to Dimension > Dimension Properties > Units and switch to meters. METHOD: By using Rhino‟s „File Import‟ and „Grid Extends‟ command. Before the modeling can continue the grid extents need to be changed.  Open Rhino and select the new file icon and when prompted.  From the drop-down menu select Tools > Options > Grid and change Grid extents from 100. Generating a Rhino Points Cloud AIM: To input the edited SHCP table of offsets into Rhino and create a ship‟s hull „point cloud‟. 6 .  Selecting your . then set it as such. You now have a point cloud that will become the lines of the ship. Although Rhino will automatically create an Autosave copy of the file. To begin a new Rhino file needs to be created.cvs file. make sure to save often and save copies of the models at different stages under different names. Then the table of offsets can be imported to create a „points cloud‟ structure for the ship hull modeling.0.  Now save the model.3dm.

NEXT STEP: To create station curves from the „points cloud‟. 7 .This allows the user to go back to an earlier model as there are only a finite number of undo commands that can be executed. A complete „points cloud‟ for one half of the hull model has now been created. Since ships are longitudinally symmetric hull modeling only needs to be concerned with one half of the ship.

 Click on the layer icon  Double click on the text of the default layer. METHOD: By using the Rhino command „Interpolate Points‟. these will be used to loft the hull surface.3. Before the station curves can be modeled. NB: „Right Click‟ to escape command then „Right Click‟ to redo command. modeling „layers‟ will have to be created. To enable the selection of individual points in the „points cloud‟ the cloud will be needed to be broken up. Rename it as points. by checking the curves box. This will enable the user to hide parts of the model he/she is not working on or allow the user to make only work on certain layers that are „active‟. 8 .  From the dropdown menu Curves > Free-form or right click the Control point curve icon and select Interpolate Points curve. This can be achieved by using the „Break‟ command. Use the Zoom window command to centre in on the first station curve (see intro). Generating Station Curves AIM: To generate ship hull station curves utilizing the „points cloud‟ previously created. Now the Station curves can be modeled. then right click.  Start at the forward end of the ship with the top point of the first set of vertical points and connect one to another by clicking on each point until the bottom point (keel) is reached.  Make the curves layer the active layer.  Click on any point to highlight the „points cloud‟ (to highlight all in yellow)  Click on the Break or Explode command .  Check the points layer box making it the active layer.  Go to the next layer and rename it curves.  Click on the Osnap box at the bottom of the screen and check the point box.

9 . incase you require to return to an earlier stage in the modeling. it is prudent to save the model as a new file after each section in this tutorial. Repeat this process for the rest of the points until are set of ribs (stations) are developed. NB: Save as new file. It should look like this: NEXT STEP: To Refine the Station Curves.

The curves in your model may not be as warped as the in above picture.  Select all the curves. it depends on what display scale setting is being used. to get a feel for what is going on. This command will allow you to assess the fairness of the curve. There are two ways to do this. press enter. this is the smoothness with which the curve changes along its length. Where the graph line crosses the curve is an inflection point. Analyze > Curve > click Curve graph on. 1. 10 . METHOD: By manually deleting and re-drawing certain sections of the station curves.  Turn off the points layer (yellow bulb). but you may want to turn on the control points and play with them. Several inflection points on lines appear to be straight. By letting the program find the best fit of a new curve. while the graphing function is on. It will help with the overall rendering of the hull surface if these lines are smoothed out.  From the drop-down menu. Through tweaking the control points 2.4. We will use the latter. In order to accurately refine the station curves they need to be looked upon in closer detail. The curve graph greatly exaggerates the curve‟s slope and inflection points. Refining the Curves AIM: To refine the curves to gain a more accurate representation of the overall hull surface once it is rendered.

Then fair the curves above the x plane and create a straight line were the points run parallel to the x plane. as fairing the curve will only serve to complicate this problem. Click Analyze > Curve > Curve Graph Off. Break these curves where they meet the x plane. Split command 11 .  Highlight all the points not on the x-y plane by dragging the selection box from the outboard edge just above the y axis to the upper edge of the centerline. 2. 1. Upon closer inspection.  Click Hide.  Turn off the points and turn the hull curves back on.  Turn off the curves layer and check the points on. in the right view port. you will see that some of these lines dip below the x plane as the turn of the bilge (underside of the hull) becomes “flat” bottom. Using the layers window. You now may either use one of the following two commands. You will need to zoom in and look down the x-y plane for any points you missed (there are probably only 2 or so) and hide those also. The Interpolate curve command wants to make a constrained curve with smooth transitions from point to point. Trim command 2. Working in the right view port. We will need to: 1.

but it remains mathematically unaltered.Note: Using the trim command visually changes the line. whereas spilt alters the equation of the line—this is important to remember when exporting Rhino geometry into FEA programs. select your curves. In this case we will be using the split command. There is now a marked difference in the curvature graphs. turn off the curves layer and turn back on the points layers. 12 . then press enter.  Select Curves.  Right click „Hide‟ to un-hide the curves. leave the tolerance at 1.  Next.  Highlight the top sections of the curve and hide them and  Delete the remaining “flat” bottom section of the curves.  Click Analyze > Curve > Curve Graph On.  Turn back on the curves layer and hit enter. NB: Check right view to make sure curves have been faired correctly and that no curve passes through the x-z plane.  Turn off the points layer. and execute the command.0.  Go to Curve > Curve edit tools > Fair.  select split and select all the curves and right click. The hidden points will still be hidden:  Select all the visible points as cutting objects.

join curves.  Select the faired curve at this time. reconstruct the first deleted line with a ployline connecting the points and the faired hull curves.  Click Curve > Curve edit tools > Match. start at the bow (first station curve) The command box will ask you to “select open curve to match. More advanced techniques (using tangency continuity (G1)) can be applied to correct this.  Using the Layer window turn the points back on. The continuity radio button should be set to tangency .  Check preserve other end and hit Okay.  Starting at the bow.  One curve at time. Working in the curves layer. To match the lines to make a complete station curve. 13 . The knuckle in the line has now been smoothed out while preserving the flatness of the bottom and with limited ill effect on the fairness of the line. Click Curve Graph Off.”  Select the poly line. The command box will ask you to select open curve to change.  Repeat this construction on the rest of the hull lines needed. The curve and the line at this point will exhibit positional continuity (G0).

NEXT STEP: Now the station curves have been created additional features of the ship hull can be included such as the Bow and Stern lines. 14 .

 Use a curve from the 21st station through the stern points to the tip of the stern tube.  Finally.5.  Use the Curve > Curve Edit Tools > Match command again selecting the bow curve first and the keel as the match line.  Make a fourth curve from the tip of the stern tube up to the lower point of the transom. We are going to import a set of points that will help to develop these surfaces.  Go to File > Import look in CISD Rhino Tutorial  Change „files of type‟ to Rhino 3D models  Select Bow and stern pts > Open.  Make polyline starting from the end of the bow curve. METHOD: By manually manipulating the station curves and by importing standard ship features onto the skeleton.  Draw a Interpolate Curve through the points starting with the tip of the bow down to the last point before the end of the 4th station were it meets the keel.  Activate a new layer and name it keel. the continuous line from the point were the hull meets the forecastle. down around the bulbous bow.  Match keel to stern line. Introducing Special Features AIM: To develop the skeleton of the model to include additional features usually present upon a ship‟s hull. To begin the parts of the bow and stern tube of the ship need definition in the xz plane. to the keel and continuing aft. draw a line from the bottom point to of the transom to the floating point that represents the top of the transom. 15 . The points were created from the profile view of the ship: specifically. through the keel ends of the stations up to and including the 21st station.

NB: several colors have been used to highlight different features. 16 . NEXT STEP: To generate the main hull body.

past the bow of the ship (make sure the Ortho command is on )  Left click and then enter 16 as the Height. click on the rectangle you have just created to realize it. Generating the Main Hull Body AIM: To form the main structure of the hull body.  With only the curves and points layers on.  Repeat this going aft using the same point as the start (the Osnap box End should be checked). Look at the model in the right view port and pan up towards the shear line (upper.  From the drop down menu select Surface > Plane > vertical. To rectify this problem we need to create a vertical plane extending in the x and z directions.  Use the highlighted point as the Start of Edge point pull this edge forward.6.  Create the plane along the ship (click down under the ship)  Next. This ship has parallel mid body in the real world. METHOD: Using primarily Rhino „surface‟ commands. right points. it is visible that the station curves now bow outside of the xz plane at the outer most shear point.  Turn off points layer  Turn the model so that you can see the stations protruding through the plane.  Join these two surfaces.  Hit shaded viewport 17 .  Activate a new layer (one without anything on it) and name it vertical plane.  locate the outermost shear line point in the right view and select it  Switch to the perspective view port. outer edge).

 Right click Project to surface  Do the lines individually  Zooming in select the lines that cross the plane you created.  Turn off plane. .  Repeat for all the other curves penetrating the plane.  Hit enter (or right click) when done and then select “choose the surface that pulls” which is the plane recently created. new lines. selecting them close to the xy plane. activate or create a new layer and name it.  Press enter.  Working in the Top view port. You should now have a series of lines that we will be used as cutting lines. We need to select the next curve to be pulled initiate the command then right click to re-initiate the command for the next curve. 18 and select Pull curve to surface .  Use the projected lines as the cutting object.  Use the split command and select all station curves with associated projected lines.  The “pulled” line will now be highlighted.We are going to pull these lines to the surface we created.

 Press enter.  Use a poly line to connect the end of the truncated station curve to the shear line point.  Use the Curve > Curve Edit Tools > Match command as before.  Turn on points. Join the sections of each station curve together at this time NEXT STEP: To aid greater definition to the hull surface by adding what are in essence waterlines. continuity tangential.  Turn off new lines and switch to curves.  In Perspective view delete the tops of the split station curves. with the line to be changed: the station curve. and matching it to the straight line you recently created. 19 .  Repeat this for the rest of the truncated stations.  Make certain that point and end are checked in the Osnap command line. skipping intermediate points (you may want to hide extraneous points).

 Now enter @0.7.1).3 and so on until we reach 15 in the z coordinate.  Select the horizontal plane as the object to copy  Press enter and the (-7. The command is still active so.0.1) point as the copy from point. Greater definition of the hull is needed.  Activate the vertical plane layer.  Then enter @0.  We will now copy this plane several times creating horizontal slices vertically through the hull.0.16.  In the dialogue box enter @0. For the point to copy to we will use the @ command. This will create a copy that will be one unit (in this case meter) from the start point selected.1) input these coordinates (without the parenthesis) in the dialog box.0. This will be achieved by adding what are in essence waterlines.  Press ESC. First.  From the pull down menu select. through this we can make a hull surface with better continuity. METHOD: By using various Rhino „plane‟ commands. Surface > plane > corner to corner or icon and then . we will make a plane.  The first corner will be (-7.0. 20 . Do this by using the copy command . Generating Waterlines AIM: To add greater definition to the hull surface by adding waterlines.  The second point will at (203.2.  Hide the vertical plane.1 and then enter.0.

This is to keep the hull fair.  After the 9th line (right before the end of the bulbous bow) start your lines at the 3rd station and not the edge of the bow. Look closely in between planes.Keep the keel and curves layers on. and wait for Rhino to process the command. These will be used to give the hull a better shape. there may be a few in the stations where two sections of the curve are not joined. There will now be a new set of points created. 21 .  Create new layer and call it waterlines  Turn off or hide the planes and starting with the 1 meter (+ z) make a curve (interpolate points) from stem to stern connecting each station point on each waterline. These extraneous points will be located around the bow and stern areas.  In the project from surface . Basically all points that are not on a plane need to be deleted. as it will just cause confusion.  Create a new layer and call it waterline pts and make it active. select the object intersect command  Select everything. press enter. If a point was created at the intersection on two lines that don‟t intersect the waterline planes.  After the 11th station line do not connect to the stern (transom). The next step is to actually make some waterline curves. delete it. command.

that the 1 meter water line must be skipped as a cross curve when creating this panel. 22 .  Break up the waterlines (water. the bow and stern surfaces can now be developed. NEXT STEP: Now the waterlines have given the ship‟s hull greater definition. Join the Bow.  Under “Objects to Split” select all waterlines and the keel line. Keel and Stern lines. Notice that between the 3rd and 4th station. using the stations as your cutting objects. keel and shear) from the 3rd station to the 22nd station forward of the stern tube. This will cause an error with the command that we will use to create surface on the majority of the model.  Under “Cutting Objects” select the 3rd to the 22nd station lines. the 1 meter waterline ends before the 3rd station.  Join together the keel line from the 3rd station to the tip of the stern tube. Keep in mind.  Initiate the Split command.

The hull now consists of 19 panels that will individually be developed into surfaces and then joined together to give a seamless and smooth appearance.  Create a new layer called hull surfaces to work in. METHOD: The surfaces will be created by using the Rhino „Sweep 2 Rails‟ command. The rail curve options will not be active at first. but will be with the next panel. A useful command to develop a complex surface in Rhino is the Sweep 2 Rails command. Generating Bow & Stern Surfaces AIM: To create the Bow and Stern Surfaces of the Rhino ship hull. NB: Use curves not surface edges as the sweep rails.  Select waterlines in-between the two stations.  From the pull down menu select Surface > Sweep 2 Rails or .  When the two rails options dialogue box appears set it up like this (while many of the two rails option dialogue boxes will not appear exactly liken this. 23 . Press enter. make sure rail curve „option B‟ is selecting (after the first surface is created): Since we are not going to try to hand fair the surface we can limit the number of control points.  Select stations 4 and 5 as the two rails and the waterline segments connecting them as the cross curves (use a right to left drag to capture several or all of them at once).8.

 Split the station rails at the last continuous waterline above the baseline. Next is to generate the bow section.  Surface > Patch. The panel between station 3 &4 will be addressed using a combination of Sweep 2 Rails and Loft commands. This is the case with this ship hull. This will be remedied when we join the surfaces into one polysurface. We will want to match the curvature of the last panel to one being created. Bows are difficult to create a surface on as they have curvature in all three axis. To create these surfaces often takes time and a creative approach should be taken. A & B are the two edges of the panel.  Then use the Sweep 2 Rails command to create the surface. choose the edges of the trapezoid as the curves to patch. up to the 22nd station. Rhino will use the edge of the last panel to create a strake of two panels. You may notice several tears in the surface especially where two surfaces come together. The section with the non-continuous line will be created with the Patch command. Defining the shear of the bow will be the first step.For the next set of rail curves we will select the edge of the last panel and the 6th station curve. The method will vary from project to project but in general a construction line will be created in order to coax the program to create the surface that is required. 24 .  Repeat this process to form the majority of the hull.

 Where the 3rd station line meets the 11th water line create a line perpendicular into the negative (-) y direction (make sure Ortho is on.  Turn on the waterlines layer. deleting the portion aft of the 3rd station. NB: Interpolate points can be used instead of the above two actions. 25 .  Then trim the curve off at the 3rd station.  Extrude the line into a plane forward using Surface > Extrude Curve > Straight.) for a couple of meters. Using polyline select the tip of bow line and then the top of the 3rd & 4th station lines to create this curve.  Hide hull surfaces recently created.

If the program is extruding the curve in the yz plane and not the xy plane type in D when the dialogue box asks for extrusion distance and hit enter.  Select the base point for direction as 0. 26 . Int.  Hide or delete the plane.  Check off the intersection box.0 and the second direction point as 1.  Put a point at the intersection of the plane and the stem line (bow line) or split the line (using the plane as the cutting surface) and select the end.  This will pull the extruded surface into the correct plane. on the Osnap command line.  Activate the ellipse command setting the center at the intersection of the two lines and first and second points as the line and station intersection and the point on the stem.0.0.  Draw a line from the point just created aft until it crosses the first line that was made.0. Extend this plane so that is goes through the stem.

At the intersection of the 9th water line and the 3rd station we will repeat this process but with a variation. Once a point is created at the intersection of the plane and the stem. this will be the center of the next ellipse.  Keep the quarter ellipse between the station and stem and delete the ¾ remaining. 27 .1. Now split the ellipse with the station and stem lines. we will set it at a 45º angle to the xy plane.0. Do this by entering the base coordinance as before but the second direction point as -1.  Split the bow stem line and the 3rd station at the ellipse section. check the Perp box on the Osnap command line and draw a line from the point back down to the line that the plane was created from. When given the opportunity to select the direction of the line extrusion.

Ultimately. Look at the difference between the different rail curve options when creating the section above the bow.  Also break the 3rd station at both ellipses. we will go back to the reliable Sweep 2 Rails. NB: Rail curves are: Curve created and 2nd station curve. Create another quarter ellipse and then break it at the bow stem and it‟s intersection with the ellipse.  Break the top of the 2nd station at the 9 meter waterline. Cross curves are: Waterline and Bow line. Try switching the cross curves and the rail curve to see what the result is. Experiment with some of the surface commands and see the different surfaces that they create. First Surface: Sweep Rails Cross Section Curves 28 . NB: Create all surfaces in the “Hull Surfaces” layer.  Create a surface on the top of the bulbous bow using the station and arc curves as the rails and the others as the cross curves. Now we are ready to use these frames to guide the program in surface creation.

The patch command can used to put a surface on the trapezoid below it. NB: Surface the Bow and Stern sections panel by panel if necessary using which ever “surface” commands are most effective.Second Surface: Sweep Rails Cross Section Curves  Break the stations and waterlines in the appropriate places to create panel between stations 2 and 3.  Break the stem line at the top and bottom of station 2 and then use the patch command to create the forward end of the bulb with station 2 and broken stem line 29 .

with the only free edges along the edge of the hull: NB: Select Naked Edges NEXT STEP: To complete the model the one half of the ship‟s hull that has now been created will be mirrored to create the complete ship hull. Patch and Surface Corner Points commands Be creative. If all is been done correctly it will look like this. (Bottom blue section utilizes the Surface Corner Points command)  Join your hull. Break and join the lines of the stern section as needed to utilize the Sweep 2 Rails. Here is what the author did: These 7 different surface parts were then joined using the join command into one polysurface.  From the dropdown menu select Analyze > Edge tools > Show Edges and select the polysurface hull. Loft. and bow surfaces and turn off all other lines. If possible use the edges of a surface over a curve to create new surfaces. stern. 30 .

9.0.  Mirror the transom station and draw a interpolate curve through it and the transom keel line. select the hull and using a start of mirror plane of 0. METHOD: By using the „Mirror‟ command to transpose the existing half of the hull into a complete ship hull Rhino model.  Turn off the hull and turn back on the keel line and the station curves.0 press enter and with the Ortho on.  Join two sides of the hull. Next make the transom. Check for naked edges. 31 .  Using the Mirror command in the Transform dropdown. The hull is shown here with the isocurves off. mirror the hull. This can be done by going to Edit > Object properties and unchecking the isocurves box. Mirror the Hull AIM: To generate the complete ship hull model in Rhino. the end of mirror plane extending down the x axis.

 Join the two sides and then join them to the hull.  Repeat for the other side. 32 . The completed ship hull should look like this: Congratulations you have completed the Rhino Ship Hull Tutorial.  Check for free edges. Break the curve at the transom keel line and using patch make half the transom surface.