Honeybee Tutorial 1: Creating the HB model
Step 1A: Organise the Surfaces/Meshes
In order to run an analysis through Honeybee, you should first convert the volumes that you have already created for your design into a Honeybee model.
Important to note: In our tutorial we are going to use Rhino Surfaces as the base for the creation of the HB model. However, in general, both Rhino Surfaces and Meshes can be used as an input for it.
Before starting, you should make sure that your file follows the guidelines described in:
Please keep in mind that in the Rhino example file the geometry is already set following these principles.
In Grasshopper, the first thing that needs to be done is to group the surfaces/meshes of the model based on their type (e.g. exterior or interior, walls that have windows or not).
1. Create 8 Params » Geometry » Surface components.
2. Select one component each time, right click in the empty Grasshopper interface and press Group.
3. Right click on each group and type the respective name.
For this tutorial, you should create the following groups:
A. Interior wall faces (Inner divisions and walls that are adjacent to neighboring building)
B. Exterior wall faces (All the complete wall faces, even the ones having a door/window. Be careful that in the latter case you should assign them full and without the opening holes!)
C. Floor faces
D. Roof ceiling faces
E. Only window faces (Only the window surfaces and not the complete wall!)
F. Only door faces (Only the door surfaces and not the complete wall!)
4. Connect the faces that correspond to each group by right clicking on the Srf component » Set Multiple Surfaces and selecting the respective Rhino Surfaces.
(For this tutorial you can also check which surface belongs to each group category in the layers of the Rhino example file.)
Step 2A: Create the HB faces
For each of the aforementioned A-D categories (Walls / Roof / Floor / Ceilings):
1. Create a Honeybee » Create » HB face component.
2. Connect the respective Surface component created previously as a _geo input.
3. In the '_type_' input, connect a Params » Input » Panel and write which type of faces you have connected.
Make sure that you use the names exactly as referred to on the component (Wall, RoofCeiling, Floor)!
4. In the '_bc_' input, connect a Params » Input » Panel defining the boundary condition for each group of faces.
You should write:
a. Ground, for a floor which is placed right above the ground
b. Outdoors, for exterior walls and roofs
c. Adiabatic, for interior walls and intermediate floors
For category E (only window faces):
1. Create a Honeybee » Create » HB Aperture.
2. Connect the “Only window faces” Surface component as a '_geo' input.
3. In the 'operable_' input, connect a Params » Input » Panel where you write “True” for operable windows, otherwise write “False”. (In case you have both operable and inoperable windows you can create 2 different HB Aperture components)
Afterwards, the surfaces related to the wall thickness will be added οn the perimeter of the aperture, accounting as additional shading elements.
4. Create a Honeybee » Create » HB Extruded Border Shades.
5. Connect the ‘apertures’ result from the HB Apertures component as a '_hb_objs' input.
6. Create a Params » Input » Number Slider to define the wall thickness. For this tutorial, you should assign a value of 0.3 to it.
Important to note: In case you want to change the name/range or number of decimals of a Number Slider, double click on it and change the respective fields.
7. Create a Params » Input » Panel, write ‘true’ and assign it to the 'indoor_' input so that the extrusion happens towards the interior.
For category F (only door faces):
1. Create a Honeybee » Create » HB Door.
2. Connect the “Only door faces” Surface component as a '_geo' input.
3. In the 'glass_' input, connect a Params » Input » Panel and write “True” for transparent doors (glazing), otherwise write “False”.
Important to note: In case that you also have interior doors, you should create a separate component for them.
For category G (Shades):
1. Create a Honeybee » Create » HB Shade component.
2. Connect the “Shadings” Srf component as a '_geo' input.
3. Create a Honeybee » Create » HB Add Shade.
4, In the '_hb_obj' input, connect the ‘apertures’ from the HB Aperture component which corresponds to the opening(s) where the shadings are attached.
5. Connect the ‘shades’ result of the HB Shade component in the ‘out_shades_’ or ‘in_shades’ input for exterior or interior shades respectively.
Step 3A: Compose the HB Room
Firstly, the openings will be assigned to their respective HB wall faces.
1. Create a Honeybee » Create » HB Add Subface component.
2. In the '_hb_obj' input, connect the ‘faces’ result of the HB face component related to the ‘Exterior wall faces’.
3. In the '_sub_faces' input, connect all the ‘apertures’ or ‘doors’ result of the HB Aperture or HB Door component respectively.
Important to note:
1. If shades are applied to an aperture, you should connect to the ‘_sub_faces’ input, the ‘hb_obj’ result of the HB Add Shade component that includes both the apertures and the shading.
Do NOT connect as input the ‘apertures’ result (from the initial HB Apertures component) or the ‘hb_obj’ result of the HB Extruded Border Shades component!
2. In case you have interior doors, you should create another HB Add Subface component, where you will apply them to the interior wall faces.
What can go wrong:
See about things to pay attention on:
Now, the HB room will be created from the HB faces that compose it.
1. Create a Honeybee » Create » HB Room component.
2. In the '_faces' input, connect the ‘faces’ result of the HB Face components related to the Interior walls, Floor and Roof Ceiling. Afterwards, add the 'hb_obj' result of the HB Add Subfaces component (it contains all the Exterior walls connected with their respective openings and shades).
Important to note:
A. Make sure that every face is connected only once to the HB Room component! Do not connect again the Exterior Wall faces, Window or Door faces or Shadings. They are all included in the hb_obj from the HB Add Subface command!
B. In case you have created a different HB Add Subface component for applying interior doors, you should connect that to the HB Room component and not the ‘faces’ from the HB Face component related to interior walls.
3. Create a Params » Input » Panel component in order to give a characteristic name for the room you are creating. In our example, you can write Room1.
What can go wrong?
Make sure that no face is missing and the Honeybee room you are creating is a closed volume. The HB Room command is going to create an error if the room faces in total are not creating a closed volume.
Alternative ways for creating the HB Room and parametrically assigning openings and shades are included in the following:
Step 4A: Create the HB Model
1. Create a Honeybee » Create » HB Model component.
2. In the ‘rooms_’ input, add the ‘room’ result as created in the previous steps.
3. In the apertures_’ input, add the ‘hb_objs’ result from the HB Extruded Border Shades component.
Step 5A: Visualize & Check the HB model
Visualizing the HB model allows you to quickly check for errors during the assignment of the face type or the boundary condition. There are 2 different types of visualization that refer to these categories respectively:
A. Create a Honeybee » Create » HB Visualize by type component and connect the ‘model’ result from the HB model component to the ‘hb_objs’ input. It will separate the faces of your model per face type and colour code them.
B. Create a Honeybee » Create » HB Visualize by BC component and connect the ‘model’ result from the HB model component to the ‘hb_objs’ input. It will separate the faces of your model per boundary condition and colour code them.
Important to note: When creating a room with the HB Room from Solid command, the Boundary condition of all the faces is automatically set to Outdoors.
The HB model is now ready to be plugged in the analysis simulation.
See how you can create and perform the analysis simulations in the following: