Refinery shows no outputs in results

Refinery doesnt show the outputs, even though I selected some nodes as output.
The outputs should give us the surface area so we tried already setting the surface.area or the math.sum as output, but we got no results either way. You see the screenshots beneath.

1 Like

@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 @JacobSmall 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