尝试在选定的屏幕位置插入一个 aeccpoint,但我在
Set oPoints = g_oDocument时不断收到错误。此处的“错误。它是帮助文件的副本吗?那么为什么不
生成一个对象
感谢
john
Option Explicit
Public g_oCivilApp As AeccApplication
Public g_oDocument As AeccDocument
Public g_oAeccDatabase As AeccDatabase
Public AeccApp As AeccApplication
Public AeccDoc As AeccDocument
Public AeccDb As AeccDatabase
Public doc As AcadDocument
Private Sub CommandButton19_Click()
hide
' Always get the objects,因为支持 MDI。
If (GetBaseCivilObjects() = False) then
Exit Sub
End if
Dim basePnt As Variant
Dim oPoints As AeccPoints
Dim oPoint1 As AeccPoint
Dim dLocation(0 To 2) As Double
basePnt = ThisDrawing.Utility.GetPoint(, “Select Location to Label”)
Jeff,
我收到一个错误,说在Set oPoint=g_oDocument.Points.Add(dLoc)处没有设置块变量。我在家测试了它
并删除了公共设置,它工作正常。我不确定为什么删除公共设置会在模块1中设置后做到这一点,但我的示例现在工作正常。
您是否碰巧有与下面相同但在vb点网中的示例或绘制简单线对齐的示例。
一如既往地感谢您帮助我想出这一点。
john
Private SubCommandButton20_Click()
隐藏
'检查以确保民用3D正在运行并获取民用对象
如果(GetBase文明对象=False)然后
Exit Sub
End如果
Dim dLoc(0 To 2)As Double
Dim oPoint As AeccPoint
Dim oPoint As AeccPoint
dLoc(0)=100: dLoc(1)=100: dLoc(2)=100#
设置oPoint=g_oDocument.Points.Add(dLoc)
oPoint.Update
UserForm1.Show
Dim civdoc As CivilDocument = CivilApplication.ActiveDocument
Dim alignstyle As ObjectId = civdoc.Styles.AlignmentStyles(0)
Dim alignlblstyle As ObjectId = civdoc.Styles.LabelSetStyles.AlignmentLabelSetStyles(0)
Dim layer As ObjectId = civdoc.Settings.DrawingSettings.ObjectLayerSettings.GetObjectLayerSetting(Autodesk.Civil.Settings.SettingsObjectLayerType.Alignment).LayerId
Dim alignid As ObjectId = Alignment.Create(civdoc, "MyFirstNETAlign", ObjectId.Null, layer, alignstyle, alignlblstyle)
Using tr As Transaction = Application.DocumentManager.MdiActiveDocument.Database.TransactionManager.StartTransaction()
Dim pt1 As Point3d = New Point3d(100.0, 100.0, 100.0)
Dim pt2 As Point3d = New Point3d(300.0, 100.0, 100.0)
Dim align As Alignment = tr.GetObject(alignid, OpenMode.ForWrite)