With which node is it possible to identify a block specifically from the cad link?

Can anyone tell me with which node (perhaps GeniusLoci) it is possible to separate, or better identify a block specifically from the cad link? That is, in the linked file I have several blocks, however I want to identify only one to convert it into a family. But I’m not succeeding, even though the block has the same name as the family, even trying to use layer, when I import the family it positions it in all blocks, with the same name and with others.
I’m new to dynamo, if you can help me, I really appreciate it!

Hi @cintiamiranda21 …im not really sure, but if you share your fileset i will take a look…but if i understand you will use the cadblock location for place a revit family …right…is it a facebased or workplane base family you will place ?

There is a package called LinkDWG where you can find a lot of things to work with cad files

I would really appreciate it if you could take a look.
As I said, I need to find a way to separately identify the linked cad blocks, so that each one can import its family. But I am not able to identify separately.
GIARDINI DI FIORI - PONTAdwg.dwg (477.6 KB)
solução TOMADAS.dyn (1.2 MB)

Oh great. I’ll try, thanks!

Hola de nuevo amiga @cintiamiranda21, Amigos buenas.
I had left you an alternative in the other post, I have checked your work flow, bad news, Autocad with some blocks does not show the name of the block but an alias called Annonymous Block, will cause you problems, an alternative will be to do data extraction of your files .dwg


Filter use All-IndicesOff.dyn (19.8 KB)

Hmm, may be I need create some node hack for people have job relate to cad link :slight_smile:

That will be awesome man @chuongmep, i test even in C3D Dynamo with toolkit also, the probleme with the Annonymous Blocks is present to, i think is very deep in the source code, this happens most with dynamic blocks the most usefull ones!

Hello friend. Wonderful, I understood, and I deleted the compromised block. However, it is still not the way I would like to filter the blocks, since this way I will be doing it through the position that it was in the filter. But what about when the project is different and the position of the blocks change? They will be linked in the wrong families.
How could filter by name?

It would be really good! :star_struck:

To better explain what you would like, see the image.

But this is not working

Amiga @cintiamiranda21 You are missing basic points! :stuck_out_tongue_winking_eye:
What I am doing is feeding the node with the list of blocks that exist in the CAD file, viewing the preview and asking only the indexes of the blocks that interest me, it is a “manual” way of filtering, I do not know what criteria you want to use, and then I ask for the indexes of all the blocks with that name to: with that same index ask for the corresponding points of origin!


Also exist the dynamo hadboock and the dyccionary, You might want to take a look at it, there are some practical examples!

https://dictionary.dynamobim.com/#/Core/List/Action/GetItemAtIndex

https://dictionary.dynamobim.com/#/Core/List/Action/AllIndicesOf

Have a nice Weekend!!

1 Like

This is solution for you, use it to export from autocad is best way to have correct Block Name and Anonymous name :

1 Like

For now, with OpenMEP Package, you can easy get information of Autocad without link file to Revit
https://chuongmep.github.io/OpenMEP/api/OpenMEPSandbox.Autocad.BlockReference.html#OpenMEPSandbox_Autocad_BlockReference_Name_OpenMEPSandbox_Autocad_CadObject_

Amigo @chuongmep Buenas, Thanks a lot for the effort and your work man, but i think this issue with the AnonymousName is a hard nut to crack, awesome package by the way, ther is a lot of nodes to explore master!! :saluting_face:


Still give it to me a random and unknown name of block, diferent that appears in UI and don’t know how to relate them, i’m not strong enough with programation! or maybe i’m missing something :smiling_face_with_tear:

Just for mention Data Extraction do the job, i think is not hurry to solve this, but if you succeed you will solve a real disability for the users!


I let you files to test if you are in mood to try!
Block_Names.txt (2.4 KB)

1 Like

I will support it for next version with Civil3D, the first version just is Sandbox only :smiley: :

1 Like

Awesome Master @chuongmep, Thanks a lot for the effort!! :wink:
I Will Explore OpenMEP a little bit more!!

1 Like

You are correct, I have tried to explore all deep of COM API from Autocad, but it can’t do with that, I think best way is use Dynamo Civil 3d or use Data Extraction in case can export. :sleepy:

Data extraction is definitely the best path forward here.

You can also trigger Dynamo for Civil to report out the desired data, however that it a very elaborate setup and reliant on the COM api although in a lesser extent.

Wow… Thanks so much again for the help. It worked! Thanks a lot.
Now the sockets are only inverted and not connected to the wall, the families are not connected, but if I were to change it, I would have to change the whole routine, one by one. I don’t know how to act.