Refinery's data.remember not working in Revit 2020

Hi everyone,

I am having trouble with a script that used to work on Revit 2019.2 (Refinery 0.9.4) but doesn’t on Revit 2020 (Refinery 0.35.0). I am sure the problem is related to the data.remember node since Refinery works fine if what is being calculated doesn’t require anything from Revit. It seems to me that the data.remember node isn’t actually remembering what was selected in Revit neither passing that info to Refinery.

I simplified my original script to prove my point. Here you can find the script and a screenshot from Refinery. As you can see, Refinery works fine calculating “Solid.Volume” which comes from geometry created within Dynamo, while “Area” is not calculated since it comes from geometry extracted from Revit; I tested this same script in Revit 2019.2 and both parameters are calculated.

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 I am making here.

PD: I already read what has been discussed in this thread: Refinery shows no outputs in results

Can you show a screenshot of the preview output for the Remember node after opening and running the graph in Dynamo Sandbox?

FYI @Lilli_Smith

Sure, this is how it looks if I only preview data.remember:

in Dynamo:

in Refinery:

Open in sandbox, not Dynamo for Revit.
Pin the data preview or add a watch node so we can see what is contained.

We need to confirm this is an issue with the Remember node or something else. :slight_smile:

1 Like

Sure, this is how it looks:

Then it is not the remember node :frowning: what is happening when it gets executed from Revit 2020 then?

Thanks for your quick replies!

Not sure, but you could try launching Refinery via sandbox now as a workaround for the time being.

1 Like

That’s also a problem, I can’t send it to Refinery from Sandbox:

And then if I delete those two nodes, I can’t send it either (if I run the graph I’d lose the information remembered from Revit):

I also tried manually adding the script that had the data remembered (20191106_Refinery-not-working-2.dyn) into the Documents/Refinery folder:

sandbox-error-5

This is what I get after running that one in Refinery (executed from Sandbox):

  • Selecting the script in Refinery:

  • Results (still the same):

This suggests that Refinery 0.35.0 is the problem.

Looms like you are remembering stuff after the calculations are preformed by Sandbox. Always place the Remember node right after the Revit interaction, which in this case is element.geometry.

Alternatively, unsure the input to the Remember node before you run the graph, that way the serialized data persists as nothing is overwriting it.

Let me know if those solve this.

I tried that but the result is still the same.

Tried this too and somehow still doens’t work (please note that I am running this using Sandbox):

Hmmmm… post your rvt and dyn and I’ll have a look and do a screencast on how to make it happen (assuming I can figure it out).

FYI @Lilli_Smith

I apologize for my late reply! Here are the files:

Revit file:
20191120_Revit.rvt (1.9 MB)

Dynamo files:

Thanks for your help!

Any luck with this? :frowning:

The version with “only data-remember” worked fine for me, but I did change the ‘solid.volume’ node to not be an output, using a renamed watch node instead (personal best practice):

The version from Revit (original-script) also worked, but I made the same watch node change, and relocated the remember node to be where the other graph had it (for consistency), removed the extra remember node, and reorganized your ‘geometry extraction’ section so the logic flow was more legible (it took some self control to not rework the Point.ByCoordinates bit as well):

Changes to the graph:

I don’t understand what you’re after with the geometry, but the graphs certainly work.

So this is certainly working for me… :thinking:

If it’s not the ‘Solid.Volume’ as an output, then I recommend you ask on the Refinery beta as there is clearly something else going on here that the development team should be made aware of.

1 Like

Thanks for your help!

I tried again and still got no outputs for “Area.” This is odd, I will try reinstalling everything and using another pc, will report back.

1 Like

Upgrading to Refinery 0.62.2 solved it! I can finally try it on my actual project :slight_smile: , the script I was sharing before was just something random I made up to prove the point that it wasn’t working. Anyways, thank you for your help and advice, much appreciated!

1 Like