Hi …
How do I represent an AutoCAD paper space viewport as a DynamoNode Viewport? … Or am I referring to CIVIL3DTOOLKIT custom object?
# 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 *
from Autodesk.AutoCAD.DynamoNodes import SelectionByQuery
adoc = Application.DocumentManager.MdiActiveDocument
editor = adoc.Editor
idata = IN[0]
ih = idata.Handle
hnint = int(idata.Handle,16)
hexa = Handle(hnint);
oid = adoc.Database.GetObjectId(False,hexa,0)
#res = idata.Handle
res = None
with adoc.LockDocument():
with adoc.Database as db:
with db.TransactionManager.StartTransaction() as t:
# Place your code below
#
#
obj = t.GetObject(oid,OpenMode.ForRead)
if not isinstance(obj,Viewport):
vpid = LayoutManager.Current.GetNonRectangularViewportIdFromClipId(oid)
res = t.GetObject(vpid,OpenMode.ForRead)
else:
res = obj
# Commit before end transaction
t.Commit()
OUT = res
vp-client-biind.dwg (2.8 MB)
handle-it.dyn (13.6 KB)