Using type parameters as input for Project Refinery


I’m trying to optimize window sizing using Refinery with Dynamo, Honeybee, and Revit, but keep running into problems. I can run a daylighting analysis using the honeybee test room Revit file, and an example (02_daylight_factor_gridbased), and am able to change the height parameter of a window with the Rhythm package, but when I try to put the small chunk of code for changing the type parameter, the honeybee example won’t run

. It seems that it only works if I close Revit and Dynamo before running again, and for Refinery to work it obviously needs to run multiple times. Does anyone know of a more stable way to do a daylight analysis, or know why I’m having trouble? Thank you!

Hi @jrthill

Have you tried running your script in Dynamo player?

Hmmm… if you’re after finding the optimum, using primitive geometries and a Data.Remember node might allow for processing in Refinery… I’ll try and take a look later (pretty busy if late though).

Thanks for the quick reply, it does run multiple times without having to close in Dynamo player. The only problem is that I was planning to work with Refinery to optimize the window size, and I don’t think I can run Refinery in Dynamo player. Does this help with troubleshooting at all, or should I try to work my way around in Dynamo player? Thanks!

Thanks for the quick reply. I was also able to get the script to work with Refinery (it gave me data in a straight line), the problem is that it doesn’t update, even when I do it manually. In the second image I shared earlier you can see a set type parameter by name node, with which I’ve been changing the window sizes. I also added a watch section, shown in the first image, that records the number of grid spaces with low daylight factors ( <4). This number updates if I close dynamo, change the height of the window, and run the code again. I think I might have to use that data remember node later on in the process if Refinery doesn’t like using that watch node as an output, but for now I just need the daylight analysis example to run multiple times without having to close in between. As Kulkul suggested, I ran the script in Dynamo player, and was able to do it without any issues, but I don’t think I can use Refinery from Player. Sorry for the paragraph, and thanks again!

I don’t believe there is a way to update Revit data with Refinery - that’s the whole point of Data.Remember.

I think @jacob.small and I have the same idea where you’d have to use Dynamo geometry to run your optimization but could use your Revit windows as a starting point.

Exactly. Get the geometry of the types, adjust those rather than the types themselves.

Thanks guys. This is all helpful, but I’d still run in to that root problem, where I can only make that example code for daylight analysis that comes with honeybee run if I reopen Dynamo every time I run it. As I adjust that slider in Dynamo I see the size of the windows change, but the daylight analysis does not reflect it, unless I close and run it again. Would that remember node solve this?

Got a DYN and RVT to share?

I still haven’t gotten around to playing with Honeybee yet. I thought you could run it in Refinery but I guess that wouldn’t work if it runs off the Revit data. Does Honeybee require Revit objects as the input or is it just geometry?

Here’s what I’ve been working with

02_daylight_factor_gridbased.dyn (84.2 KB)
honeybee_test_room.rvt (1.5 MB)

This primer is for Grasshopper I think, I’ve been struggling to find much for Honeybee for Dynamo. I’ll go through it though, thanks

Do you know why this would work in Player but not regular Dynamo?

Dynamo Player closes the graph and recreates everything from scratch each time you run it.


did you solve the issue? I am experiencing the same issue. Honeybee runs the simulation once only.
Have to restart dynamo in order to run the simulation with new values.
I believe that the reason why my outputs in Refinery are 0

Sorry for the late reply. I was not able to solve this issue and submitted my report saying that Dynamo and Project Refinery are not stable enough with Honeybee. I have been told that it is much better to work with Rhino and Grasshopper. My results in Refinery were static at whatever value I first set them at. I can share my report or code with you if you like.

Thank you for replay, I got some help on Ladybug forums. Got directed to Simon Breslav which was kind to help me out. His version of the package works with Refinery.