Refinery shows no outputs in results

@Lilli_Smith

All your outputs in the upper graph are showing 0, which may mean you have a null result or other error stopping the run. Double check to see if you have a result in Dynamo with the given settings, and confirm there is no randomization happening along the graph (Math.Shuffle, Math.Random, etc).

Hi, I have been having the exact same issue. I have tried with many different outputs and it shows them at 0. Also, the visualization is not showing either so I get a list of blank thumbnails.

Thanks

@arellan can you share the dyn used to create the results? Typically all 0s for results means there is an issue buried in there which you don’t see in the Refinery results.

Thank you so much @jacob.small for your quick reply.
The input is: Number of Routers (Left), and the outputs: Space Covered and Distances Average (Right)
Please find attached the script.
(I can’t upload the file because I am a new user, I hope you can be able to detect the problem with the image)
Thanks!

I can see the error. Refinery doesn’t actively access your Revit project for data, so you need to use a Remember node on the Revit content. The Refinery beta site has some good examples of how to do this. Since your image is a bit smushed up I can’t really see where the data is coming from (though I can guess, I’d rather not send you in the wrong direction).

2 posts were split to a new topic: No Results in Refinery

@arellan did my previous post provide you the necessary insight? If not this post may have a better explanation (and description on how to resolve the issue).

Hi Jacob, thanks for your answer, sorry I didn’t reply earlier, I was away.
I have a couple of questions:

  1. How can I get Dynamo Sandbox 2.0.2?
  2. If I use Dynamo Sandbox how can I link it back to Revit after?
  3. There is not way of accessing REVIT API while using Refinery?

Thanks a lot!

  1. Sandbox installs to something like “C:\Program Files\Dynamo\Dynamo Core\2\DynamoSandbox.exe”

  2. Utilize the Remember node to remember (handy name there) content pulled from your revit model. Be sure to pull BASIC DATA not Revit elements (IE: Remember after the Element.Geometry node not at the Select Model Element node). Push decisons to the revit model with your normal revit content, but know they won’t execute. It’s unlikely you’d want Refinery to move the room to the new place in the Revit model 10,000,000 times while it does a big study anyway, right? They key to that aspect is to ensure you’re evaluating outcome using data in a separate string of the graph than where you record your result in Revit (or before you record the result - I like to keep my results in a compact area though - makes them easier to review in Dynamo directly).

  3. Correct. Revit API access requires that you have Revit open in the program which accesses the API. In the case of Dynamo for Revit, you open Revit, and then you have Revit open Dynamo for Revit by clicking the shortcut. The way Refinery works is to use a ‘server’ to open a Dynamo instance, run the graph, set the variables, record the results, and close the graph, hundreds (or thousands) of times in a row.

Here is a fun exercise to learn about how it works (conceptually anyway) which can help you trouble shoot some stuff (ie: it feels like refinery isn’t doing anything) expose some of why Revit access isn’t something you really want.

Open task manager after starting a sample optimization run in Refinery - you should see your CPU running at 75% or more use while Refinery is running (depending on how many cores you have available). Now check out the details tab of task manager and sort by name. Find ‘RefineryServer.exe’ in the list - there should be two of them, which is normal. Shortly below that you will see RestDynamoCore.exe listed a few times (assuming you have multiple cores in your CPU). This is the number of Dynamo instances spun up in the background.

Look at them crank along… So much compute… dropping to 0% and kicking right back up… closing themselves and starting new instances periodically as the server dictates… beauty in motion (or at least a bunch of 1’s and 0’s).

Now find Revit in the same list and notice that it’s working even if you aren’t touching it - Revit has to check for work-sharing updates in the background and other stuff - all of which takes compute power away from Refinery (which we want to be able to focus on the task at hand). Your CPU also has to do the rest of the things computers do while we think they’re sitting idle (anti-virus, operating system, wondering what it’s like to feel, plotting our doom, etc).

2 Likes

Hi dear Comunity,

I have the same problem, the geometry preview is missed in the Refinery and one Output value is 0 other one shows only one constant value which actually should vary.(Data.Remember node is used)
Any ideas?
I can’t useDynamo Sandbox because I have to use elements from Revit.*

Thanks!

If the Remember node has been used correctly, Dynamo Sandbox will run the graph fine.

If the node hasn’t been used correctly, Dynamo Sandbox will indicate where the issue is quite fast.

Remember, Refinery is actually running sandbox, meaning if has no ability to interact with your Revit data at all. It must rely 100% on the data having been transitioned into the Dynamo graph via the Remember node, and any nodes upstream which call the Revit API will error out.

That said, please upload your graph (no need for the Revit file if remember nodes have been placed correctly) and I will have a look at it.

1 Like

Thanks, Jacob, please find attached files!

Your solution was very useful! I was having the same issue, thank you!

1 Like

Hi, I have similar problem with my simple mass study, that Refinery doesn’t output the results.

As @jacob.small mentioned, I used Remember and replaced all package components with basic Dynamo funktions, that it works fine on Dynamo Sandbox.
Only Refinery somehow doesn’t wanna show me the result…
Anyone has idea?

Unforturnately I, as a new user, can’t upload the file at the moment…

Try onedrive, google drive, drop box, or similar.

Also it’s likely a good idea to ask on the Refinery beta forum as well, this way if it’s a bug the development team can pick up there.

Thank you for the reply!

I just found out where the problem was:

When I replaced Remember components with Dynamo funktions, it started working.
So Remember is not perfectly working yet, I would say…
I will report this to Refinery beta forum.

Thanks.

Have you guys encountered any problem with Revit 2020? Now that I am using the latest Refinery version to date (0.35.0, executed from Revit2020) the same Dynamo script that used data.remember in Dynamo for Revit 2019.2 (and Refinery 0.9.4) doesn’t seem to “remember” anything. I don’t get calculations nor graphics for the final outputs of my script, this is exactly what happened to me when I didn’t have the data.remember in my old script. Am I missing anything in this new version? I have the feeling that executing Refinery from Revit changes the way the data.remember node works (as opposed to executing it from Dynamo); to clarify, I need to execute it from Revit because the script is based on selected Revit elements. Any help is appreciated!

I modified my script with simpler components to prove my point. Here you can find the script and a screenshot from Refinery. As you can see, Refinery works fine if whatever is being calculated does not depend on Revit elements:

20191101_Refinery-not-working.dyn (50.0 KB)

Refinery Screenshot:

Dynamo screenshot:
To clarify, the element selected in Revit is a floor, and the geometry extraction section gets one face of that floor and calculates the area. Originally I am doing this with other purpose but I simplified it to prove the point that anything is going through the “remember.node.”

FYI @Lilli_Smith

1 Like