Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...










































































using ディレクティブまたは Imports ディレクティブに相当します。



# Python 標準ライブラリと DesignScript ライブラリをロードします
import sys
import clr
# AutoCAD および Civil3D のアセンブリを追加します
clr.AddReference('AcMgd')
clr.AddReference('AcCoreMgd')
clr.AddReference('AcDbMgd')
clr.AddReference('AecBaseMgd')
clr.AddReference('AecPropDataMgd')
clr.AddReference('AeccDbMgd')
clr.AddReference('ProtoGeometry')
# 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 *
# Civil3D から参照設定をインポートします
from Autodesk.Civil.ApplicationServices import *
from Autodesk.Civil.DatabaseServices import *
from Autodesk.DesignScript.Geometry import Point as DynPoint
# このノードへの入力は、IN 変数にリストとして保存されます。
objs = IN[0]
output = []
if objs is None:
sys.exit("The input is null or empty.")
if not isinstance(objs, list):
objs = [objs]
adoc = Application.DocumentManager.MdiActiveDocument
editor = adoc.Editor
with adoc.LockDocument():
with adoc.Database as db:
with db.TransactionManager.StartTransaction() as t:
for obj in objs:
id = obj.InternalObjectId
aeccObj = t.GetObject(id, OpenMode.ForRead)
if isinstance(aeccObj, Catchment):
catchment = aeccObj
acPnts = catchment.BoundaryPolyline3d
dynPnts = []
for acPnt in acPnts:
pnt = DynPoint.ByCoordinates(acPnt.X, acPnt.Y, acPnt.Z)
dynPnts.append(pnt)
output.append(dynPnts)
# トランザクション終了前にコミットする
t.Commit()
pass
# OUT 変数に出力をアサインします。
OUT = output