管道-对准站偏移(C3D)
我正在尝试从特定管道的对齐方式中提取站和偏移量,这是我到目前为止的代码:Sub AddCOGOPointsForPipe()
Dim sCivilAppName As String
sCivilAppName = "AeccXUiLand.AeccApplication.5.0"
Dim oAcadApp As AcadApplication
Set oAcadApp = ThisDrawing.Application
Dim oEnt As AcadEntity
Dim oCivilApp As AeccApplication
Set oCivilApp = oAcadApp.GetInterfaceObject(sCivilAppName)
Dim oDocument As AeccDocument
Set oDocument = oCivilApp.ActiveDocument
Dim oPoints As AeccPoints
Set oPoints = oDocument.Points
Dim oPoint As AeccPoint
Dim oPipe As AeccPipe
Dim vStation As Double
Dim vOffset As Double
Dim vPipeStart(2) As Double
Dim vPipeEnd(2) As Double
Dim vSelectedPoint As Variant
ThisDrawing.Utility.GetEntity oEnt, vSelectedPoint, "Select Pipe: "
Set oPipe = oEnt
oPipe.StartPoint.GetPoint vPipeStart(0), vPipeStart(1), vPipeStart(2)
oPipe.Endpoint.GetPoint vPipeEnd(0), vPipeEnd(1), vPipeEnd(2)
vPipeStart(2) = vPipeStart(2) - oPipe.InnerHeight
vPipeEnd(2) = vPipeEnd(2) - oPipe.InnerHeight
oPipe.Alignment.StationOffset vPipeStart(0), vPipeStart(1), vStation, vOffset
MsgBox "station: " & vStation & " - offset: " & vOffset
Set oPoint = oPoints.Add(vPipeStart)
Set oPoint = oPoints.Add(vPipeEnd)
Set oPipe = Nothing
Set oPoint = Nothing
Set oAcadApp = Nothing
Set oCivilApp = Nothing
Set oDocument = Nothing
Set oPoints = Nothing
End Sub
代码的红色部分是我遇到麻烦的地方。 有人可以告诉我我在这里做错了什么,谢谢!
**** Hidden Message ***** 你好,兰迪,
你能描述一下问题是什么吗?我用教程图纸“PipeNetworks-3C”测试了这个,在结构2和12之间选择了24英寸的管道,它给了我正确的结果。
杰夫 你好Jeff,
我在代码的'oPipe.Alignment.StationOffsetvPipeStart(0), vPipeStart(1), vStation, vOffset'行得到一个运行时错误'91':
对象变量或带块变量未设置
。 嗯嗯....我刚刚用同样的图试了一下,它产生了正确的结果。我正在使用《掌握AutoCAD Civil 3D 2008》一书中的一幅图纸。这可能是一个不完整的图形,没有与管道或类似性质的东西关联的路线。 是的,我在想管道一定没有对齐。
页:
[1]