AutoCAD Block to Revit Familie

Hello fellow communitie users,

I would like to create a Revit Family on every point of a block (selected) form a linked DWG. I have seen two topics like it but i don’t know how to implement it.

From: @Azubike_Ononye

The shared package off the post above:

From: @Manel_Fernandez & @john_pierson

Tanks a lot in advance!

Hi you just need to import your CAD and explode it partially, use @john_pierson’s code to get Points.

If you explode it will give a lot off pollution and slow down the moddel but thanks a lot for the tip :smile:

well just add another piece of code deleting all those mess after running the script that works well to me :slight_smile:

Could you share your dyn file? thx in advance!

Can you share it to me plz
email me

Hi nguvu
Could you share your dyn file? thx in advance!
I work fo MagiCAD Turkey. If there is anything i can help you with do not hesitate to ask me. I ll be more than happy to help you.

Sincerely yours,
Gokhan Torun

hi myr, which code are you suggesting to use here?

A custom node is now available: “CAD Block”.
It is now easier to batch place familyInstances at each block insertion point from a linked DWG.
(without exploding the DWG or _DATAEXTRACTION from Autocad or reading AutoCAD file with ActiveX)


Hi @Alban_de_Chasteigner it’s powerful, thank you very much for you python node. Do you have any node to get also the dynamo geometry?

Hi Stefano,

This is possible to get the geometry. There is already the CAD.CurvesFromCADLayers node of BimorphNodes package.
CAD to curves

What kind of geometry do you need ?

1 Like

Hi @Alban_de_Chasteigner ,thanks for your answer, I would like to get the Geometry from the link or imported DWG (into project or family environment) like the output of “Element.Geometry”, “Element.Solids” or “ImportGeometriesByCOM” (“Mesh” for example)

The Element.Geometry node already does that :

Hi @Alban_de_Chasteigner , thanks for your answer, yes of course but for more complex geometry (3D DWG exported from others mechanicals programs like SolidWorks, Solid Edge, Catia, Inventor) it fails or dynamo crash, for this I’m looking for another method to get the external geometry surface into RFA or RVT (python or maybe with Grasshopper for Revit) and work in background, there are some workaround and plug-ins (for example the method “shrinkwrap”) but it’s more time consuming for thousant families.
Thanks for your efforts

1 Like

Hi @Alban_de_Chasteigner - I got an error on Family,ByName and FamilyInstance.ByPointAndLevel - can you help me figure out how to do it properly? Thank you!

Hi @Alban_de_Chasteigner -
The Origin Point output of your CAD Block node is not reading the block insertion point in my case, but instead is reading an origin point in the CAD file that is the same for each block instance. So, if I were to run the script to place family instances for each block, then they would layer multiple instances onto the same origin. I have tried using the LinkDWG2 nodes for BlockProperty to acquire the insertion point, but cannot seem to figure out why I am getting “null” values for these nodes. Any advice or help that you can share would be greatly appreciated.
Thanks, Ryan

1 Like

Hi @yaella,

Welcome to the Dynamo forum.
It is not possible to help you without viewing the warning messages and previews under the nodes. Apparently, your families are not named exactly like Autocad blocks since they are not found by the Family.ByName node.

Hi @rgoold18_SSA,

Welcome to the Dynamo forum.
It’s interesting. You would have to share your DWG file (possible by private message) so that I understand its structure and the problem.

You can export those type of files as SAT files, which are made of solids and or surfaces that can be read by basic nodes of Dynamo. I did in some occasions with STL, OBJ file format, like a mesh file to open in Dynamo.