I am trying to duplicate a BlockReference in Dynamo for Civil3D (2020) but when i try to do this all the DynamicProperties of this Block aren’t copied along:
Also my Block in Civil3D doesn’t have my “Custom” tab and Custom DynamicProperties.
Thanks in advance!
Testfile Blockreference.dwg (511.2 KB)
Testfile for Blockreference .dyn (18.3 KB)
There are a few things going on here. Dynamic blocks have an additional name called the anonymous name that kicks in as soon as you change any dynamic attribute. This is because there can’t be multiple instances of a block reference in AutoCAD that have different values. You can test this by using the INSERT command to insert a new instance of the A$Ce3b14a25 block into the drawing. If you select the block and run LIST, there is no anonymous name:
But once you change any dynamic attribute, you will see that an anonymous name is created:
The graph that you posted will work if the block reference is still in it’s default state (i.e. no anonymous name), however currently it shows this:
The BlockReference.Block node in Dynamo returns the anonymous block name for dynamic blocks instead of the original block name. To try and solve this I asked Paolo awhile ago to add a node to the Civil 3D Toolkit that gets the dynamic block references of a source block. So here is a modified script that you can use that should work.
Testfile for Blockreference_MZJ.dyn (23.7 KB)
Thank you for your indepth response! I will check this out!
Your modification works great! But i don’t think the special node is needed here, because the problem lies with the fact that Dynamo anonymizes the name when selecting an object with the select object node, is there a way around this without having to type in the name?
I do not see this behavior.
I also tried to recreate this error today but i couldn’t recreate the error!
Anyway thank you very much for your help!
Try to select the Dynamic Reference blocks by layer.