Batch Open .dwg in Folder Path

I am wanting to create a dynamo file that will open all .dwg’s in a batch like process and copy over selected elements from a current file into all layouts. I would also want to remove objects in each .dwg’s layouts in the process. The idea behind this is to be able to copy over standard objects from a drawing like SSM field, Mtext, scale bar, north arrow, etc. from a single drawing and populate them in the rest of the drawings for a project to speed up the process when trying to match client standards for drawings/borders. Any ideas on where to start with this? Or would a LISP be a better idea?

Seems doable. Better option IMO is to make a block of the elements, save that out, and insert that into the layouts of the target drawing as a new block. Note that this effort is not a simple one for any automation method, and seemingly an over complicated way of achieving the output - making the block an xref in the template before you start would prevent the need for this extra step.

All of that said, you need to break this down in stages.

  1. Read an external document and extract a block
  2. Insert that block into the active document
  3. Extract the layouts in the active document.
  4. Create an instance of the block in eqch of the layouts.

This is a great recommendation - thank you!

This very well could be out of the scope of Dynamo now, but the problem I am running into is that when I create a script to place a block reference of my titleblock text in other .dwg’s layout, the attributes and field that link up to the SSM aren’t updating - even when I try to do ATTSYNC and/or REGENALL. I can get the block placed and even have it running ATTSYNC after its placed, but the attributes don’t sync up with the SSM after that.

The SSM being tied to these attributes/fields is why I haven’t made it an XREF. At least to my understanding, the text won’t update for each sheet if they live in a single XREF.

We also have standard drawings already populated for a new project as .dwg’s that have preloaded information for different sheets (thinking legends, notes, tables, leaders, etc.) so that is why I wanting a script to go through these pre-loaded sheets and update the text as needed for client standards. I am trying to prevent having pre-loaded drawings for each client which would create a ton of maintenance with future template improvement/updates.

I’d say something like this is best achieved the old-fashioned way, like a script (easier than LISP)

A script is extremely simple- just writing a series of commands. You can even do it once, then copy & tidy up the command line window.

Drawback is that there is no error handling- if something is not as it expects, it will fall over