Monday, 25 October 2010

Ship Hull Design with T-Splines for Rhino

.


T-Splines modeling technology makes it possible to design ship hulls, yachts and free form superstructures in Rhino like never before. In the marine industry there's no comparable modeling tool as powerful as the T-Splines/Orca3d/ Rhino combination. Both high quality as fast results makes it possible to model fair ship hulls in little time. The tight integration with Orca3d offers even more functionality for analysis and modeling power. T-Splines can be applied in preliminary design as well as preparing ship hulls for production.
Ship hulls made with Rapid Hull Modeling can be used as input for T-Splines.


Modeling advantages:
  • model every shape you can imagine
  • very low amount of control points offer highest control;
  • due to the low amount of control points it takes less time to model high quality fair hulls;
  • existing hull shapes are easy editable with T-Splines to new types of ship hulls or apply design changes;
  • add shape control only at local regions were it is needed;
  • symmetry option automatically models the other side and takes care for continuity;
  • ability to convert existing NURBS and IGES surfaces back and forth;
  • add creases wherever you like.

T-Splines integration with Rhino:
  • T-Splines surfaces behave like NURBS surfaces when it comes to trimming decks, bulkheads etc. to a T-Splines hull shape;
  • T-Splines surfaces automatically switch to NURBS surfaces when T-Splines is not installed on a computer.
Orca3d functionality that works with T-Splines: 
  • real time sections to analyze the 3d shape;
  • automatic lines drawing generation;
  • hydrostatics and stability calculations;
  • speed and power analysis;
  • export to PIAS.


All these advantages don't come for nothing. Although the price is very affordable and the T-Splines user interface is very friendly it takes a while to understand the inns and outs of working with T-Splines. Also understanding how to come to high quality surfaces containing low amount of control points takes some time, especially for the first time.
Some sixty hours were invested in the results you see in the video. Now several shapes have crystallized it takes less time to edit these or modify them to other ship hull types.
If you think T-Splines adds productivity and quality to your workflow it is worth investing in T-Splines training for marine industry now offered by RhinoCentre.

Resources:


Monday, 30 August 2010

Scan and Solve for Rhino, FEM stress analysis; FEA

Villo retractable roof deflection analysis


Scan and Solve for Rhino3d is one missing link for concept designers who integrate all aspects of reality in their new product designs. This new plug-in is in development and therefore free to use and test out. The ideas behind this plug-in are brilliant and result in an easy to use strength analysis tool. You only need a closed solid in Rhino and no mesh anymore!
In a clear and simple Scan and Solve menu you can specify the material, restraints and one or more loads. Depending on the complexity of the geometry your solution is presented quite fast.

Adding material, constraints and loads
As we don't have to bother with meshes anymore it is easy to compare design variations or perform other design or engineering strength analysis fast. Furthermore it is inside Rhino so the interface is well known and no import and export time is lost.

Danger levels according to Von Mises


With visual representation of deflection

For the Villo project I tested Scan and Solve in order to analyze the retractable roof. In addition I tested out the differences between hollow and solid geometry. This resulted in some interesting considerations.



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

Rhino3d
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
Orca3d plug-in for naval architects is the most convenient solution and also offers hydrostatics, stability and power and speed prediction features.





Grasshopper
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.
Advantages:
  • High quality single surface possible (depending on skills of user)
  • A lot of control to adjust the surface
  • Every imaginable surface is possible
Disadavantages:
  • 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.

Attendees:
  • 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 pim@rhinocentre.nl

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:

C:\ProgramData\McNeel\Rhinoceros\4.0\

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

Enjoy!

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
x=true
else
x=false
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.

Monday, 18 August 2008

Free Vray scene files for download

On September 3rd and 4th, there will be a two day Vray for Rhino training session at RhinoCentre. In this beginning to intermediate course, you will be guided through Vray to get you started with this versatile rendering plugin for Rhino.
For more information about this course, look here.
As a warm up, I have made two files available for download, which you can render with Vray for Rhino SR1. Maps and materials are included. These two examples clearly show how you can turn relatively simple scenes into convincing photo realistic imagery.

Grab the bathroom scene file here.
Grab the phone scene file here.

If you don't have a copy of Vray, you can download a demo version from the ASGVis website.


The bathroom model shows how a photographic atmosphere can be created by combining various light types. As you can see the model is very simple as well as the materials. In this case the lighting is the most important factor in the overall image quality. The scene file looks like this in your Rhino viewport:

And this is the resulting rendering:

The phone model shows how one can mix different material properties in one material using masks. Furthermore it does not use any lightsources. The lighting and reflections are controlled by a set of 2 HDRI maps: a blurry one for the lighting, and a sharp one for the reflections.
The scene file looks like this in your Rhino viewport:

And this is the resulting rendering:

Tuesday, 10 June 2008

Joining Edges

Chances are you've never bothered about joining and exploding surfaces. In this short article I show what Rhino does when joining edges automatically and possible issues when working with exploded polysurfaces.

To see what happens when joining surfaces let's take a look at this exaggerated example. We have two surfaces that have no edges that match up, but we can force to join them with the JoinEdge command. (You can download the example file)


When we do this, Rhino will of course ask if we are really sure about this action, since the edges are way out of tolerance in order to join them.

Still we choose yes. Now it becomes apparent what is happening. The mesh is now closed, we can not see through the gap that was originally there. But the wireframe of the two surfaces shows something more. One of the edges has been transformed to the edge it was joined to.

Now you might think that after exploding, the edge is put back into its original position. But this is not the case as can be seen in the following image. For clarity, the surfaces have been moved apart.

You can probably guess now what happens if you start building new geometry based on these exploded surfaces. As you can see for yourself, you can still snap to the original edge end, but to the transformed edge end as well. Of course it is not difficult in this case to pick the right end, but in normal file, you will not notice which end you select.

Fortunately Rhino has a command to clean up these transformed edges with the command RebuildEdges. This will rebuild edge to match the original edge within the tolerance specified in the command.

Friday, 9 May 2008

Rhino System Requirements



The first IBM PC
What's a reasonable workstation to run Rhino on? How can I get the most bang for the buck?
These are all valid questions and hard to answer. Not only because the world is changing fast when it comes to computer hardware. Another important factor is whether you use Rhino mainly for modeling or also for advanced rendering?
SimplyRhino, my English Rhino reseller colleague, offers a nice service to their customers.
At the moment I am very happy with a Dell Precision Laptop with 17" WUXGA screen. Together with Windows XP and a NVidia Quadro graphics card it runs Rhino very well. With a docking station and extra 24" screen I use it as my desktop too.
No Vista for me as it consumes a lot of computer resources which are now available for Rhino!
Dutch Rhino users can order Dell computers with a discount via RhinoCentre.

Wednesday, 7 May 2008

Shed more light on Rhino



  • Install the RhinoCentre.ini files in Rhino via menu: File/Properties/Appearance/ Advanced settings/ Import
  • Tune the improved displays yourself if you like by clicking: +Advanced Settings
  • Please send me your improved .ini files and comments.



Learn more below
.

Default Rhino Shaded Display

Every now and then I discover that I take some features of Rhino for granted and cope with them for several years until I find out that it is far from optimal. Shaded display mode for example is my default perspective view for years now and there's always a voice in my head whispering that it is strange that symmetrical models, ship hulls for example, show better from one side. As a result of this I keep rotating the view over and over again in order to see what the surface quality is. When you look at the picture above you witness that the scene is too dark and parts of the hull are nearly invisible. I even should start modeling the starboard side of the hull to be able to evaluate the surface quality and mirror this after I am satisfied with the result. Isn't that strange?
Gijs de Zwart explained to me that the lights creating the shaded display are not optimal and I started a little investigation which resulted in the following:


RhinoCentre Display

First of all I can tell that it took me hours to come to this result and I am not satisfied yet. There are so many constraints from a functional point of view that the Rhino default shaded display proves to be a Jack of all trades, master of none, though ofttimes better than master of one.

When you think you have set it all right for one purpose it proves worse for others. Anyway, I learned a lot. Do you understand why black is shown grey in Rhino? I found out that black should be displayed white actually! Due to a lack of light it looks grey.
Rhino's default layer is always black which results in black curves. On the other hand, surfaces in the default layer and other 'black' layers, are displayed white which shows grey in shaded display mode due to a lack of light, and only glossy areas will show in pure white. Do you still follow me?
From a functional point of view I understand that designers used to draw nearly black lines with their pencils on paper which resulted in white surfaces inside the contours. Maybe that's the reason that Rhino inverts black into white for surface display. Another reason for the grey display of black surfaces is that the curvature is hard to see when surfaces are displayed black.
To see really black objects, please try the following. As a black layer contains Red/Green/Blue values of 0/0/0 which show grey (instead of white), you should set RGB values to 1/1/1 and it shows better black. Lack of light is also the reason that white coloured surfaces show grey too. Therefore it is important to add more light to the scene.



Left: Rhino default lights .............Right: RhinoCentre lights

Furthermore it is important to balance the light and enlighten the total scene evenly to have the same display, with mirrored parts for example. The risk of adding light is that surfaces are over-exposed and you cannot see the shape and depth anymore. Furthermore you can add a little color to the light in order to see differences between adjacent surfaces of the same color, especially white surfaces.
What's the difference between the default shading and RhinoCentre's display?
In the picture above you can see that the default lights for the shader are not located evenly in the scene causing differences between mirrored parts. There are actually only three lights in the Rhino shader. Adding light and position them evenly makes a difference.
What actually is the case is that the lights of the shader are dynamic and always maintain the same position and orientation relative to the camera view. The position of the lights in the picture above corresponds with a camera position in front of the bow.



Black and white

Furthermore, white is now white instead of grey due to more light at the scene. Rhino's default lights result in under-exposure. More lights are added and calibrated to black and white objects. Black will be black when RGB is set to 1/1/1. At last a little color is added to the lights to add more depth to the scene and not only depend on brightness.
Time will tell whether it is annoying to see white surfaces appear with a little color under certain angles.

Another thing is the choice for surface edge display. It is tempting to switch edge display off and I admit that it looks sometimes better. On the other hand it proves to be very functional to see surface borders during modeling.

The last issue is the background color. Grey seems boring but doesn't radiate too much light in comparison to white, and your eyes get less tired. Black, or near black, on the other hand is another cool option. For recognition I choose for grey, especially when a design contains only a few surfaces you avoid constantly looking into a 'black hole'.

Friday, 2 May 2008

Vray for Rhino SR1 out soon

V-Ray for Rhino, being developed by ASGVis, is one of the integrated rendering solutions available today. The upcoming service release for Rhino 4 is an important step forward in terms of productivity. A lot of bugs from the 1.00 version are ironed out, gamma correction is much easier to work with and last but not least, distributed rendering is now very easy to setup and use. Furthermore, SR1 will include support for IES lights. SR1 will now search sub folders automatically in case of missing maps. This will make the process of sharing scenes and materials a lot easier.



SR1 will have a new licensing system with a license server. This makes V-Ray more usable in larger studio's, since licenses can be shared and administered from a single location.

By the end of this year V-Ray for Rhino will adapt more of the features that are currently available in the 3dsmax version of V-Ray. There will be toon rendering, ambient occlusion and progressive real time rendering preview, which will aid in setting up a final rendering without having to make numerous test renderings.
In terms of interconnectivity, there is more to look forward to. Especially large studio's will benefit from material and scene exchange between packages. ASGVis's material format .vismat and V-Ray's .vrmesh will make it possible to let (parts of) scenes be created in Rhino and be rendered in 3dsmax or vice versa!

Friday, 11 April 2008

Guest editor: Gijs de Zwart

Gijs de Zwart is a landmark as it comes to Rhino visualisation, therefore I am very proud to announce that he will be guest editor at this blog. Furthermore he will co-operate with the RhinoCentre as a visualisation specialist offering several services.


For more info about the Studio Quality Rendering Tutorial, click on the picture
Most people know Gijs from his Studio Quality Rendering Tutorial for Flamingo he made a few years ago. Since then he developed himself into rendering with V-Ray for Rhino and has a good relation with ASGVIS as a beta tester. ASGVIS is the company behind V-Ray for Rhino.

V-Ray image by Gijs de Zwart
Being a specialist in visualisation he will share some of his experiences and knowledge at this blog. Furthermore he will offer visualisation class training at RhinoCentre in the near future.
Please take a look at his company website, StudioGijs, if you like to know more about his competences.
Related links:

Friday, 21 March 2008

Explicit History Plugin for visual scripting

Click on the screenshot to see a demo I made
(play with it yourself and download the demo files below)

Most designers have a visual perception of the world, which makes Rhino a superb tool to present and visualise ideas and designs. Furthermore the user interface of Rhino is quite visual oriented if you compare it to older CAD software.
One feature of Rhino though isn't visual at all, it's called scripting. To make use of scripts, you have to write a program (code) which can be executed in order to generate geometry in Rhino.
Why script? With these 'little' and 'custom' programs designers make clever use of Rhino in order to make fast design variations, or create smart repetitive design elements. Another application of scripting is to solve technical features based on parameters which influence the form, position or orientation of geometry.


Rhino facade script for UN Studio's Light*house Aarhus Harbor Front
Image courtesy 3XN and UNStudio

Leading architects, for example, use scripts more and more to be able to design stunning and functional architecture. This is quite an achievement as they have to switch to another mindset in order to program their scripts instead of modeling surfaces straight away.
David Rutten of McNeel & Associates, the company behind Rhino, developed a new way to create scripts for Rhino on a visual basis. After David created the Monkey Script Editor to make scripting for Rhino more easy, he created the Explicit History Plug In which brings scripting to designers even better!

If this plugin doesn't make you script, you probably never will!

As the Explicit History Plugin is full under development you can try it out for free and help David to develop it even better. Read more and download a free work in progress version to try it out yourself:

Monday, 14 January 2008

Tolerance Settings in Rhino; a little survey

What's really the influence of tolerance settings when modeling in Rhino?
For investigation I took the default 10 meter long sailboat hull from the Rhinomarine hull modeling module. This is a very clean hull with only few control points as you can see yourself.
The filesize of this hull is 60 kb with Save Small (without render meshes).

Certain operations in Rhino depend on the user tolerance. Examples of geometry build to tolerance are: intersections between two surfaces, section curves, offset curves and surfaces, curves projected onto surfaces. These types of geometry are constructed by refinement methods that stop refining when it is within tolerance. Many other operations build geometry to a much greater accuracy. For instance the intersection of 2 lines that are on the same plane will be much more accurate (thank you Jim).
To find and change the tolerance settings open the menu: File/ Properties/ Units. Default values for large objects can be:
- Units: Millimeters
- Absolute Tolerance: 0.01 units (mm)

Then I created two sections:
1- Tolerance set to 1.00 mm. resulted in the red line based on 14 control points
2- Tolerance set to 0.01 mm. resulted in the blue line based on 226 control points
The maximum deviation between the two curves is 0.168406 mm. Find this command under menu: Analye/ Curve/ Deviation

Next I saved each curve including the hull into two separate files which resulted in:
1- 61 kb file for the 1.00 mm. tolerance curve + hull
2- 68 kb file for the 0.01 mm. tolerance curve + hull
The difference in filesize is 10% (Save Small).



After making a frame surface based on the section the difference in filesize is:
1- 66 kb for a single frame surface (+ hull) based on the 1.00 mm. tolerance
2- 103 kb for a single frame surface (+ hull) based on the 0.01 mm. tolerance
The difference increases to 36%.



At last a solid frame is made with a certain thickness which increases the filesize even more:
1- 80 kb for a single solid frame and hull (1.00 mm. tolerance).
2- 174 kb for a single solid frame and hull (0.01 mm. tolerance).
Resulting in a more than 2 times bigger file for the 0.01 mm. tolerance frame.

Why not model in centimeter or meters?
This is worth considering but as millimeters is the standard in a lot of industries, most people think in mill and AutoCAD drawings are also often in mm. Even with large products like ships and architecture I found out it is confusing to start modeling in meters and scale Acad drawings for input over and over again.

My conclusions are:
- tolerance settings can have a big impact to file size
- the impact gets bigger if 3d models are detailed up to solids
- deviation between the two analysed situations is a very little 0.168406 mm

Recommendation:
- depending on manufacturing techniques and accuracies, 0.5 or 1mm. absolute tolerance seems to be worth to consider with large and detailed 3d models such as ships, yachts and architecture

Some related commands:
- Rebuild; investigate the amount of control points and rebuild curves with less control points
- FitCrv; fit a curve to certain tolerance to the original object
- CrvDeviation; to measure the maximum deviation between two curves

You can download the file yourself over here

Tuesday, 8 January 2008

Rhino Math; a little secret


For those interesting in geometry based on mathematics, this little plug in does the job.
Jess Maertterer developed it years ago and fortunately he shares it for free via his website.

Architectural application of this plug in is very interesting as several Universities have shown nice examples of geometry created with Rhino Math.


With this plug in you can create curves and surfaces based on mathematics, like x ^ y and x + y, but also Sin/Cos and Tan are covered. Furthermore the plug in offers a library with basic examples.

Download the plug in over here: http://www.rhino3.de/_develop/__v3_plugins/math/


For me it was a splendid solution to create hyperbolic golden ratio vortexes for my Schauberger research. This resulted in a design of a flying saucer based on cold fusion physics.

Ifo - identified flying object