Thanks Anton. I’m at a similar state. Here is my code to prompt you to select the multiple objects. Like yours, the output includes the ACAD entities, but I don’t know how to change the ACAD entities to Dynamo objects.
Load the Python Standard and DesignScript Libraries
import sys
import clr
# 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 *
adoc = Application.DocumentManager.MdiActiveDocument
ed = adoc.Editor
def select_objects():
global adoc
global ed
output = []
with adoc.LockDocument():
with adoc.Database as db:
with db.TransactionManager.StartTransaction() as t:
acSSPrompt = ed.GetSelection()
if acSSPrompt.Status == PromptStatus.OK:
acSSet = acSSPrompt.Value
for s in acSSet:
if s:
obj = t.GetObject(s.ObjectId, OpenMode.ForRead)
output.append(obj)
t.Commit()
return output
OUT = select_objects()