我正在尝试从特定管道的对齐方式中提取站和偏移量,这是我到目前为止的代码:
- 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
- [color=red]oPipe.Alignment.StationOffset vPipeStart(0), vPipeStart(1), vStation, vOffset
- MsgBox "station: " & vStation & " - offset: " & vOffset[/color]
- 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
代码的红色部分是我遇到麻烦的地方。 有人可以告诉我我在这里做错了什么,谢谢!
本帖以下内容被隐藏保护;需要你回复后,才能看到! 游客,如果您要查看本帖隐藏内容请 回复 |