In this Article...
Dynamic block has been a very useful feature. There are many things we can do with it. I love using it and can extract the blocks to create a schedule like in this example.
However, not everybody likes it. The bad thing about dynamic block is, there is no option to make it ‘static’ or regular block. If you need to convert or change your dynamic blocks to regular blocks, there are some workaround you can do:
Save to older version
Dynamic block was introduced in AutoCAD 2006. However, to remove dynamic block functionality we must save it back quite far. I tried to save it to different format (DWG/DXF) and versions. Only saving it to DXF R12 can completely remove this feature.
There are some considerations:
- Saving back that far might add problems to your drawings. It may not remove only dynamic block functionality, but also other new features you might need.
- This only works for actions, but not visibility states. If your dynamic block has visibility states, it will show all objects in your block.
Using LISP
I tried to find if there is any LISP can do this. I found 2 that work great.
If you want to convert one dynamic blocks in your drawing to static/regular block, then you can use DB2SB. You can find it and download it for free from CAD Studio download page here. Look for DB2SB under CAD utilities.
If you want to quickly convert all dynamic blocks in your drawing to static/regular block, then you can copy the code by MP in the Swamp forum here.
If you are not familiar with saving the codes and run it as AutoLISP program, you can refer to this tutorial.
Do you ever need to convert dynamic blocks?
I can understand why we may need to convert dynamic blocks to regular blocks. Do you ever need to do that? If yes, why? And how do you do that?
Share it here, it may be a better solution!
Dynamic blocks confuse ArcGIS when you tell Arc to read dwg files, that’s what brought me here.
DB2SB mantap…
Thank you very much…..
If and when we hand CAD files to clients, we explode all of our blocks. This is when we would need to convert the dynamic block to regular blocks, so that the burst function would not result in changes to way the drawing looks.