ladybug-tools / honeybee-legacy

:bee: Honeybee is a free and open source plugin to connect Grasshopper3D to EnergyPlus, Radiance, Daysim and OpenStudio for building energy and daylighting simulation
http://ladybug.tools
Other
126 stars 145 forks source link

createThermBoundaries component runs before ladybug #528

Closed benmo1 closed 8 years ago

benmo1 commented 8 years ago

createThermBoundaries is throwing an error (turns red):

  1. Solution exception:ladybug_Preparation

Which goes away simply when I reconnect any of the inputs. It seems it is running before ladybug has started to fly or something along those lines.

To the 'coder' this isn't a problem. However, I am trying to make a program that can be used by someone who doesn't understand grasshopper. So all the inputs and outputs are at the top of the document above a "do not cross" line and connected by hidden wires. So it means the user has to go down into the code and reconnect a wire, which has many opportunities for the user to do something wrong.

This bug can be fixed by recreating the component even though the new component is exactly the same version. It was one of the first components that I made in the gh document and the document is now quite large. I think this fixed it because the components are run to some extent in the order they are dragged onto the canvas.

However, ideally the honeybee components shouldn't have this dependency on placement order to run correctly, which is why I mentioned this bug.

Blessings,

Ben

mostaphaRoudsari commented 8 years ago

Hi @benmo1, the first time that you open the file ladybug_ladybug and honeybee_honeybee push themselves to the back of the list. The dependency on order will be totally removed in the new honeybee and ladybug.

Meanwhile if you recalculate the component before saving (assuming that ladybug_ladybug and honeybee_honeybee components are on canvas) the file should work fine next time that you or someone else opens it.

Nevertheless 1.Solution exception:ladybug_Preparation is a bug and should be addressed. Thanks for reporting.

chriswmackey commented 8 years ago

@benmo1 , Mostapha's explanation is spot on. This component was not originally dependent upon Ladybug_Ladybug but, as it developed, it required it's functions and I forgot to add in the check to be sure that Ladybug is on the canvas. I have fixed this here: https://github.com/mostaphaRoudsari/Honeybee/commit/5141fae82e948810432e7bf8e2987db390fc996d

Thanks for reporting. -Chris