Post processing is difficult due to renamed Room names

Hi all

having a hard time to work with results.
In this case it is caused by UUID names which are time consuming to relocate within the model.

If I type 7c27 in the Filter there are no results.

My work around for the moment is to keep part of the random names, but that’s only a partially helpful

Hi @martin6, We are fully aware of this problem and have started the process to mitigate it. @chriswmackey can provide more information on where we are in the process.

cc: @mingbo

Hi @martin6,

I have added searching capability for object’s IDs here. It is only limited to the top-level object’s ID, such as Rooms, OrphanedFaces, OrphanedShades, etc. Hope this helps a bit.
The searching format for ID is “ID=Your ID”

1 Like

A new developer’s version 1.124.2 has been released.

1 Like

Hi @martin6 ,

Hopefully Mingbo’s enhancement gives you what you need in the Rhino plugin. When matching results in Grasshopper, it’s probably easiest to load the Honeybee model into Grasshopper from Rhino and use the HB Color Rooms component to help you match the EnergyPlus outputs to the geometry. For the Room peak loads that you have in your screenshot, the workflow takes a few more components but the order of the rooms as they are listed in the model should match the order of the results coming out of the HVAC sizing component. So you can color the geometry with the results using the workflow that you see here:

https://discourse.ladybug.tools/t/color-room-peak-load/14652/6?u=chris

2 Likes

I just wanted to add as a reference that @antonellodinunzio also added a sample Python Script that can be used with the Rhino plugin to find sub-faces using the ID until we have this solution integrated into the Rhino plugin as a core feature:

A post was split to a new topic: Unreasonable heating and cooling loads

Hi all,

I have to dig this up because on the Grasshopper canvas I still couldn’t find a solution on how to align the names and data out of a .sql file to the names stored in the HB Model.

They are obviously kept in a different order.

I tried, but maybe I just miss a few components, like @chriswmackey wrote? How can I solve this?

Hi @martin6 .

We don’t really have control over how the zone results are written into the SQLite file by EnergyPlus. I think EnergyPlus usually aligns results with how the rooms are ordered in the Model by default but things like unconditioned Rooms can probably change this ordering.

If I’m correct in understanding that you want to align these results with the room geometry, you will have to do some reordering yourself in Grasshopper. The native Grasshopper “Sort” component should be able to help you here. The zone identifiers can also be matched easily with a few of lines of python inside a GHPython component. Here’s a sample:

from ladybug_rhino.fromgeometry import from_polyface3d
from ladybug_rhino.grasshopper import all_required_inputs

if all_required_inputs(ghenv.Component):
    geo, values = [], []
    for rid, rv in zip(_room_ids, _room_values):
        for room in _rooms:
            if room.identifier.upper() == rid:
                geo.append(from_polyface3d(room.geometry))
                values.append(rv)
                break


match_zone_sizes_results.gh (82.3 KB)

You can see that it handles the case of the unconditioned Room, which changes the ordering. Hope that helps.

1 Like

Thank you very much @chriswmackey for your quick and helpful response.

Your GHPython component most likely also solves what I wrote about in the split topic.
https://discourse.pollination.cloud/t/unreasonable-heating-and-cooling-loads/984
Just haven’t had the time yet to verify.
I have to admit it is a bit confusing what I wrote. But as far as I remember it’s the same problem, only another display topic. Also for some reason I didn’t provide you data back then. :roll_eyes:

However now it worked out.

The only thing I miss right now are the Room Names in the right order because it would be helpful to be able connect the values to my initial input.
Unfortunately I’m not into python (at least not yet) at all.
Is it possible to add an output Room Names to the GHPython component?

In my opinion it would make sense to have such a component amongst the standard resources of HB?
Or eventually keep the sorting of rooms or faces straight in the background of the canvas?

Looks like there is already a workaround possible for my need to post process on the canvas.
I used this advice.

Thats the result (as long as I stick to OSM naming conventions, I guess)

Now I have at least a quick overview whats going on but the rest of HB still goes separate ways…

One idea that came up,
Maybe it would make sense to offer a check for names according to OSM conventions while editing?

Hi @martin6 ,

Adding the names is just an extra line of Python:

from ladybug_rhino.fromgeometry import from_polyface3d
from ladybug_rhino.grasshopper import all_required_inputs

if all_required_inputs(ghenv.Component):
    geo, values, names = [], [], []
    for rid, rv in zip(_room_ids, _room_values):
        for room in _rooms:
            if room.identifier.upper() == rid:
                geo.append(from_polyface3d(room.geometry))
                values.append(rv)
                names.append(room.display_name)
                break


match_zone_sizes_results_names.gh (85.6 KB)