Import Multiple .asc files into one drawing instance

Here is the solution:
AddMultipleASC.dyn (6.4 KB)

# Load the Python Standard and DesignScript Libraries
import sys
import clr
import os

# Add Assemblies for AutoCAD and Civil3D
clr.AddReference('AcMgd')
clr.AddReference('AcCoreMgd')
clr.AddReference('AcDbMgd')
clr.AddReference('AecBaseMgd')
clr.AddReference('AecPropDataMgd')
clr.AddReference('AeccDbMgd')

# Import references from AutoCAD
from Autodesk.AutoCAD.Runtime import *
from Autodesk.AutoCAD.ApplicationServices import *
from Autodesk.AutoCAD.EditorInput import *
from Autodesk.AutoCAD.DatabaseServices import *
from Autodesk.AutoCAD.Geometry import *

# Import references from Civil3D
from Autodesk.Civil.ApplicationServices import *
from Autodesk.Civil.DatabaseServices import *

# The inputs to this node will be stored as a list in the IN variables.
surf = IN[0]
directoryPath = IN[1]

allFiles = os.listdir(directoryPath)

ascFiles = [directoryPath + "\\" + file for file in allFiles if ".asc" in file]

adoc = Application.DocumentManager.MdiActiveDocument
editor = adoc.Editor

with adoc.LockDocument():
    with adoc.Database as db:

        with db.TransactionManager.StartTransaction() as t:
            civilDoc = CivilDocument.GetCivilDocument(db)
            crs = civilDoc.Settings.DrawingSettings.UnitZoneSettings.CoordinateSystemCode
            
            aeccSurf = surf.InternalDBObject
            aeccSurf.UpgradeOpen()
            
            for file in ascFiles:
            	aeccSurf.DEMFilesDefinition.AddDEMFile(file, crs, False, 0)
      
            t.Commit()
            pass

# Assign your output to the OUT variable.
OUT = ascFiles


The real credit goes to @rpriceAZEG6 as he is the one who original solved this problem here: Is there a way to add a DEM file to a surface with Dynamo? - #13 by rpriceAZEG6

3 Likes