Monday 9 January 2023

Shine Your Light on Grasshopper


Shine Your Light on Grasshopper

Underwater Lights™ Limited invited RhinoCentre to offer a Rhino Level 1 Training. As their office is South of London in the UK, I was happy to travel to them and offer a training to two of their employees.

Underwater Lights™ Limited manufactures underwater lighting that is mostly installed on mega yachts. For designing a lighting plan layout, they used often 2D top view, This way they spread out the lights in such a way that the light is evenly distributed. Underwater Lights™ Limited develops their lights, which they call inserts, with 3D Solid Works and also manufactures them inhouse. As you can image, today all the inserts contain LEDs.

They want to use Rhino to start designing lighting layouts in 3D Rhino based on a 3D model of the yacht hull. During the Rhino Level 1 training, that focuses on manual modeling, I found out that positioning the inserts at a specific position on the yacht hull is very labor intensive and repetitive work that is prone to errors. Therefore I decided to develop a simple script with Grasshopper that does the job in an automated way. At the 3rd day of the training, the script was doing a part of the job, still together with some manual modeling work.

After the training, RhinoCentre received a budget to develop the script further into an integral design tool. The total job took 53 hours of which 46.5 hours was for scripting.

Some aspects of the Grasshopper Script:

  • The end result creates the positioning of the inserts in a 3D hull shape at the proper orientation.
  • All the light insert data parameters are managed in a spreadsheet. The script reads and writes from this spreadsheet. In the spreadsheet, each insert can be specified individually: the position, light direction, and type of insert.
  • Most challenging was to script the different orientations in a robust way in all circumstances and types of ship hull models:
    • First creating a line normal to the ship hull shape at the specific light insert position.
    • Then orienting the desired weld orientation of the insert in the hull. As the front face of the insert has an angle, it is possible to rotate beam of light to another direction. When the orientation is 0 degrees, the insert has to be horizontal at any position in the hull shape.
    • As most inserts have a ball clamp for the LED, it is possible to orient the LED between 0 and 20 degrees in any direction.
    • To program all these degrees of freedom in any circumstance is quite challenging
  • The script writes the X,Y, Z coordinates of each insert to the spreadsheet.
  • Some overall parameters of the design are set in the script.
  • The script show in Rhino the inserts, the light ray direction and a hull section at each insert position. Also a light cone shows the dispersion of the light.
  • Editing parameters in the spreadsheet, results in an update calculation time between 5 to 10 seconds which is very reasonable.
Shine your light on Grasshopper and contact RhinoCentre when you like to automate your Rhino workflow.

The Grasshopper preview in Rhino 

The Grasshopper script

The Spreadsheet with all the light inserts data and the library of insert types