I’m sold. Did some testing and it was no problem pulling the coordinate system codes from other DWGs. Although, I haven’t figured out how to put the Dynamo wrapper on the documents so I can feed them into other nodes with a Document input.
Here’s the python if anyone is interested in expanding upon this.
import clr
# Add Assemblies for AutoCAD and Civil 3D APIs
clr.AddReference('acmgd')
clr.AddReference('acdbmgd')
clr.AddReference('accoremgd')
clr.AddReference('AecBaseMgd')
clr.AddReference('AecPropDataMgd')
clr.AddReference('AeccDbMgd')
clr.AddReference('AeccPressurePipesMgd')
clr.AddReference('acdbmgdbrep')
clr.AddReference('System.Windows.Forms')
# Add standard Python references
import sys
sys.path.append('C:\Program Files (x86)\IronPython 2.7\Lib')
import os
import math
# Add references to manage arrays, collections and interact with the user
from System import *
from System.IO import *
from System.Collections.Specialized import *
from System.Windows.Forms import MessageBox
# Create an alias to the Autodesk.AutoCAD.ApplicationServices.Application class
import Autodesk.AutoCAD.ApplicationServices.Application as acapp
# Import references from AutoCAD
from Autodesk.AutoCAD.Runtime import *
from Autodesk.AutoCAD.ApplicationServices import *
from Autodesk.AutoCAD.EditorInput import *
from Autodesk.AutoCAD.DatabaseServices import *
# Import references for Civil 3D
from Autodesk.Civil.ApplicationServices import *
from Autodesk.Civil.Settings import *
filePath = IN[0]
code = []
for i in filePath:
db = Database(False, True)
db.ReadDwgFile(i, FileShare.ReadWrite, False, "")
civDoc = CivilDocument.GetCivilDocument(db)
settings = civDoc.Settings.DrawingSettings
try:
code.append(settings.UnitZoneSettings.CoordinateSystemCode)
except:
code.append("")
db.Dispose()
OUT = code