データベース オブジェクトにアクセスして使用する

各ドキュメントには、AeccDatabase 型のデータベース オブジェクトが関連付けられています。このオブジェクトには、AeccDocument.Database プロパティを通してアクセスします。このデータベース オブジェクトは、AutoCAD ObjectARX オブジェクトの AcadDatabase から継承されます。AeccDatabase オブジェクトには、AeccDocument と同じすべての AutoCAD Civil 3D 図形の参照が含まれています。しかし、これは基本 AutoCAD 図形の参照を含んでいる唯一のオブジェクトです。詳細は、AutoCAD ObjectARX のドキュメントを参照してください。

' Add a polyline to the drawing's collection of objects.
Dim oPolyline As AcadPolyline
Dim dPoints(0 To 8) As Double
dPoints(0) = 1000: dPoints(1) = 1000: dPoints(2) = 0
dPoints(3) = 1000: dPoints(4) = 4000: dPoints(5) = 0
dPoints(6) = 4000: dPoints(7) = 4000: dPoints(8) = 0
' The database is where all such objects are stored.
Set oPolyline = oDocument.Database.ModelSpace.AddPolyline(dPoints)
oPolyline.Closed = True

AeccDatabase オブジェクトには AddEvent() メソッドもあり、これを使用して AutoCAD Civil 3D ユーザ インタフェースのイベント ビューアにイベントを送信することができます。

Dim oAeccApp As AeccApplication
Set oAeccApp = ThisDrawing.Application.GetInterfaceObject("AeccXUiLand.AeccApplication.6.0")
oAeccApp.Init ThisDrawing.Application
Dim oDatabase As AeccDatabase
Set oDatabase = oAeccApp.ActiveDocument.Database
oDatabase.AddEvent aeccEventMessageError, "PipeLengthRule", "Parameter Bad"