Duplicating Sheets using bimorph not working

@Thomas_Mahon
hey this is great! btw do you have an list of more in depth explanations for how to use, (or intended uses or examples) of any of your other nodes anywhere? Id like to try and see if I can use any of them. thanks again!

Yes, visit www.bimorph.co.uk/bimorph-nodes

These pages are under construction and will be updated with video guides sometime this month.

1 Like

Ok thanks! Can you please tell me how I am supposed to match one of the sheet parameter when duplicating the sheet? I am trying to take the sheet out of the Sheets.DuplicateSheets node and find and set a parameter by name but it is acting like there are no parameters coming out of the node. Please see below.

Might be a bug!

Can you ensure your sheet list is flattened and also check the Sheet output is showing sheet elements (you should see an object id highlighted in green). If it’s a bug I should be able to fix it pretty rapidly.

No, no green objects coming out of the sheet output. List is flattened. Bug?

Yep. It’s a bug. I’ll aim to get the fix out by tomorrow. Cheers for reporting this!

Thank YOU for creating these nodes! Cheers!

@mix DuplicateSheets node is now fixed. Download bimorphNodes v2.0.1.

1 Like

@Thomas_Mahon
Nice work! I really appreciate your lightning fast turn around, and I was actually able to try it out and verify that it works! So big props to you now it is a very useful node!!

@Thomas_Mahon
Hi, your node seems to delete my work, when I toggle the Run import to false and then back on to true it deletes the view that I previously duplicated from the sheet that I put it on even after I did the work of changing the view scale, visibility graphics, and renamed and renumbered it. Usually, I can fix it by hitting undo, but if I just sync’ed. I cant undo it and I lose all the work I just did. Its starting to get really annoying. Do you think you can fix this please?

@mix Good spot, I’ve also replicated this behaviour - the cause is the element binding. Since this action is needed to output Dynamo Revit elements (i.e. what you requested previously and fixed in v2.0.1), if I disable it, the node will no longer ‘delete’ your duplicate views but it will only output Revit API View elements which are largely redundant unless you know Python/RevitAPI.

Here’s the good news:

  1. I’ve completed a quick fixed by removing the element binding; please download v2.0.2 via the package manager
  2. I’ve removed the View output from the node. It was a superfluous output anyway given that OOTB Sheet.View node does the same thing. Ultimately then, there’s no loss of functionality by removing this output and it allows me to remove the element binding which in-turn solves the problem

New Sheets.DuplicateSheets node
No longer has a View output

If the View output was important, simply use the OFTB Sheet.View node and ensure it is connected before running the Sheets.DuplicateSheets node:

1 Like

Ok,
Well well whenever I set the run parameter to off and hit the Manual Run button, the entire sheet and view I just duplicated get deleted now. Then I have to go back to revit and hit “undo” and then go back to dynamo and switch the run parameter to “True” and run it again and only then it creates the views. But a lot of the time the parameter that I am trying to set “Sheet number” gives an error message coming out of your node and I dont know why, but it doesnt set the sheet number properly. so I dont think its working so much…well at least the run input doesnt respond well.


I cant get that to happen but I do get an exception. Which version of Revit are you using?

On second thoughts, I can see a problem with any Sheet coming from the Sheet output from this node due to the way its designed to work.

Basically, the error you get trying to change parameters after you run the node is expected behaviour since the only way to get parameters to update is if the DuplicateSheet node is connected to the SetParameterByName nodes BEFORE you click run.

If you do click run, then connect it to the SetParameterByName nodes, you obviously need to click run again. But doing so will cause Dynamo to dispose of all objects from the previous run meaning the sheet you just duplicated will no longer output from the DuplicateSheets node, hence you are attempting to set parameters of null objects and thats why the nodes are turning yellow.

There’s not really any solution to this as the behaviour is fundamental to the node and Dynamo. There is a method of getting around object disposal on each run (its know as tracing), however I reckon this would bring even more problems since the node would slowly accumulate all of the sheets its duplicated every time its run and I dont think thats going to be very helpful.

For that reason, it makes sense that this node doesn’t have any outputs other than report. To maintain your current workflow, you should find the sheet downstream using maybe GetSheetsFromSchedule node also in bimorphNodes, as it will not be affected by the disposal process which has to occur for the duplication process to be available on every run. I’m going to update the node again and only allow the report output.

v2.0.3 fixes this issue by removing the Sheets output and any element binding.

Ok, Im sorry but what good is the report output? I cant get any of the elements after they have been created. Besides out of the duplicate sheets node everything should be downstream of the node should already have been inserted before(if even by milliseconds) before I try to change the name or sheet number again. Shouldnt it? I mean I really like having the sheet elements coming out of this node. Id rather be forced to close the graph down and reopen it after every run than not have the sheets out put. I mean I can get it to work its just a little clunky. And sometimes I lose my work. But I dont think getting rid of the sheets node is a good idea. Anyways thats just my 2 cents.

You can get the sheets using either the View.Selection node or from Category node + All Elements of Category. Its not ideal, and my initial thoughts with the Sheet and View output were the convenience of downstream workflows, but the element binding is causing downstream issues (like ‘deleting’ views if run again, which is normal behaviour for any Revit nodes in Dynamo, and throwing exceptions) and anything thats unstable or inconsistent I always look to fix or suspend. I’m working on v2.1 of bimorphNodes and will look at this in more detail to see if there is a robust way of implementing this when I have time.

In the meantime, if you do want the Sheets output, you can always install v2.0.2 manually - just download it from dynamopackages.com and save it in your Dynamo packages folder found in your Windows roaming profile.

Thomas,

i was using previous version 1.5 and it works, but with the latest i have an error.
it only duplicated the sheet, no views.

Hi @Yien to troube shoot, start by creating another bool node and connecting it to the run input. Set it to false. Enure your session of Dynamo is set to Manual Execution, and then click the Run button (not to be confused with the run input!).

While this obviously wont do anything, it will clear the cache of the file. If you set the bool node back to true so the node executes this may resolve the issue.

The other problem that can happen with DuplicatSheets and nodes that collect sheets if Dynamo is on automatic mode is a circular reference problem:

  1. All sheets collected
  2. Duplicated sheets run
  3. New sheets created in project
  4. Go back to step one

I hope that makes sense. In this scenario, the error is caused by the update cycle between Dynamo and Revit becoming out of sync. The solution for this issue is to specify explicitly which sheets you want to duplicate, such as GetItemAtIndex or a bool mask node. In your case you would need to connect the Springs.SheetCollector to one of these nodes before connecting to DuplicateSheets node.

Can you also check if the output of the sheets is valid and you can see the id numbers highlighted in green when you query the output.

Can you try the above suggestions and check if the problem persists.

sorry, i just uninstalled the latest version and reinstall 1.5 to work with.
i might try later with the new version.

thank you for that quick response.

best

Y

Can you post the exception above the node and a simple example file which triggers it? If it is a node issue then I can fix it