SEPP65 solar analysis pt1

One of the key requirements of the NSW ‘State Environmental Planning Policy 65 – Design Quality of Residential Flat Development’ (SEPP 65) is the requirement for living rooms and private open spaces for at least 70% of apartments in a development should receive a minimum of 2 hours direct sunlight between 9 am and 3 pm in mid-winter. This requirement is highly specific and can be difficult to calculate without the proper digital tools. To address this issue, we have developed a Grasshopper script to test solar access compliance.

The script can be used for both a preliminary and detailed compliance check. In order to undertake a detailed compliance check, the building effectively needs to be fully designed as the size and location of every living room and balcony in the development needs to be known. In this instance, the analysis is being used to verify compliance as opposed to informing the design process.

Due to the limitation of a detailed analysis to inform the design process, it is advisable to run an preliminary compliance check to firstly verify if the massing can comply, before undertaking detail planning. This tutorial will show just the preliminary analysis methodology. The following plug-ins are required for the script to function: Elefront Lite, Ladybug and GH Python.

In order to run the analysis we first need to model the building and its context. Since we are only doing a preliminary analysis, the model can be simple massing with little or no articulation. The massing can be modelled in either Revit or Rhino.

If you have Revit geometry:

  • Select the massing to be exported and go File > export > CAD formats > *dwg. Hit the ellipsis under setup.

Room to import instance_ellipse

  • Under the solids tab, ensure it is set to ‘ACIS solids’. This will allow Rhino to import breps opposed to a mesh.

Revit_Dwg export

  • Import *dwg file into Rhino. The objects will come in as blocks. Explode the blocks and merge all breps into a single layer.

If you have Rhino geometry you can use either meshes or breps. Meshes will work faster but are more difficult to use. The buildings does not need to been to be geo-referenced, however, it does need to be orientated correctly relative to North. You should check with the planning authority which North is to be used for SEPP65 calculations as in general there are several ‘Norths’ including:

  • True North (TN)
  • Grid North (GN)
  • Map Grid of Australia 1994 (MGA94)
  • Magnetic North (MN)

Next, you will need to open Grasshopper and the SEPP65 script. The script is broken into three main sections. On the left is the input parameters. In the middle is the general Ladybug settings. And finally, on the right we have the solar access analysis.


Right click on the ‘Analysis srf(s)’ input and select ‘Set one Geometry’ and chose the geometry to reference in the Rhino viewport. Repeat for the ‘Context srf(s)’ input. If you have multiple geometries, chose the ‘Set Multiple Geometries’ instead of ‘Set one Geometry’.


The script calculates the number of hours of direct sunlight the building massing receives. It reads an *epw weather file for the specific location, in this instance, Sydney, Australia. These files can be downloaded from the US Department of Energy website.


The script takes into consideration daylight savings, if required. However it is important to note that if daylight savings is set to ‘True’, it will be applied to the entire year, not just the months that daylight savings actually applies to. This weather file allows the solar vectors to be calculated for evaluation. The massing is then broken down into a mesh for analysis with an approximate mesh grid of 1m x 1m. If a higher resolution is required this can be accommodated but will increase computational time.


Before any results will be visible, you’ll need to activate the various Boolean toggles. The main output is a colour coded mesh and legend.


The script also has the provision to undertake a solar study. This entails rotating the building and context in increments (‘division angle’) for a certain range (‘total angle’), calculating the total sunlight hours for each option. While the script will output the total sunlight hours, in order to visualise the results, the orientation study needs to be baked by activating the Boolean toggle.


The Ladybug settings group has several utilities which may prove useful when presenting the results, including:

  • North point – Can be baked for 2D/3D diagrams.
  • Magnetic declination – This is the difference in angle between True North and Magnetic North.
  • Legend parameter – Use this to change the colours of the legend.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: