No Results in Refinery

Topic Split from here.

I have the same problem although i am not importing any Revit data
You can see my screenshot and Dyn file.
Thanks in advance

Z6_GD_07_RefineryTest.dyn (272.6 KB)

I’m going to split this as your issue may not be the same as the other user’s issue. The issue is easy to find (but not as easy for you to resolve). Expect a reply to the new topic soon.

1 Like

screenshot of the geometry i am trying to optimize.

Your issue is a result of making calls to the Revit API, causing nodes to fail very early in the graph (and repeatedly up stream from that).

Open the graph in Dynamo Sandbox (in program files -> Dynamo) instead of Dynamo for Revit, and you’ll see that your second python node fails, as does EVERY node after that. This is because in Dynamo Sandbox there is no connection to the Revit API as it is not Dynamo for Revit.

This Dynamo Sandbox environment is similar to how Refinery runs, with no connection to any Revit environment. The Remember nodes will allow you to pull data into the Sandbox environment (and Refinery), but not facilitate direct Revit interaction they way your graph is attempting. In Dynamo for Revit, remove all python code which calls the Revit API, and set up Remember nodes to work with the data queried from the Revit model. Then save the graph, close the Revit model (and Revit - your CPU will want the resources) and open Dynamo Sandbox. Then open your graph and run Refinery from there.


yuhu!!! JacobSmall thanks for your answer!
I am gonna try right now, I am sure that it is going to work out. I will post later.

Thanks a lot for your answer, the reason why i did use the Revit API it is because when i call the Dynamo Nodes inside Python, it is happening the following.
As you can see on the easy python node, i am just trying to use the Line.Direction() but it gives me a get.set_descriptor error.
As an imput in the for loop is a list coming from another python node that you can see in the screenshot Refinery_Python_03.
Thanks in advance =)

I’d just use the Line.Direction node. No need for Python there.

Hello Jacob and Dynamo community again,

I found the way to call the Dynamo Nodes without calling the Revit API and I am runing Refinery in Dynamo Sandbox and there is no problem anywhere. But somehow when I run the code in Refinery I get the geometry displayed but not the output values.
What could be wrong now?
Thanks in advance.

Dynamo Code:
Z6_GD_07_RefineryTest.dyn (266.0 KB)
Refinery screenshot issues:

1 Like

Stop that run, delete it, and restart your system. If the issue persists lemme know and I’ll take a look at other options.

FYI @Lilli_Smith interesting use case.

1 Like

Hello Jacob,

thanks for your fast reply, unfortunately after deleting the Refinery folder and restarting my computer the issue persists. I honestly think that this Beta Version is still not really ready to be used…
thank in advance! =)

It’s generating and reporting fine for me…

I am seeing a lot of null outputs as the list handling of your python seems to be off. Try resolving that - generally speaking issues with Dynamo will propagate oddly into Refinery.

thanks Jacob!
yes, if found out the reason, yeah it is working! :slight_smile:
The reason was here

1 Like

finally Refinery is working out but there is an issue that I still dont understand.
Why if I define in a number slider an Step of 1, Refinery doesnt follow this step?
For instance it doesnt make any sense to have an ammount of floors (EbenenAnzahl) of 4.6771131… we have whether 4 or 5 floors.

And the same issue with the Raster, I want to have a raster of 1.2 or 1.45 but not all the possible values in between.
Screenshot%2001 Screenshot%2002
thanks in advance! =)

Refinery doesn’t follow the step valued defined in the number slider because the algorithm used to tweak the values needs the capability to flex by very small limits. The team is aware of the issue with this, and is looking into setting refinery to limit the stepping by the limits defined in Dynamo, but has to make some changes to get it to work. Painful to hear, I know (my step values have been far more varied than two values).

For a work around, use an integer slider instead as that forces the data type to whole values. If you have a list of items that are doubles which you want to work with, List.GetItemAtIndex will work with an integer slider value 0 or 1. You can also multiply by a value in cases where the list is just too big. I recommend watching that value and setting it as an output early on so it makes more sense in Refinery.

1 Like

Almost forgot: please mark a solution if a post solves your issue. If a ‘true solution’ doesn’t exist in the post than feel free to summarize things and mark that. This will allow other users to learn from your question more readily.

Also, this is a really well done graph and a great example of the potential for Refinery. I think you should consider documenting it thoroughly and providing a share (or presenting it at a users group meeting somewhere).

1 Like

Hello community,

here the dyn. file working out properly. As Elements I selected one, two or three model lines from Revit and therefore I use here also the Data.Remember Node.

Z6_GD_07_RefineryTest_03.dyn (280.9 KB)


Hi Jacob. Does this mean that if it is necessary to use Revit API in Python in Dynamo, it is not possible to use the script for Generative Design? Not even with the use of Data.Remember nodes?
I have a “While” loop in Python which generates geometries.