我的VBA生锈了,所以我不会走得太远(只会画线)。这里有一些代码说明了我在上面提出的建议。
- Sub Example_AddLine()
- Dim strPrompt As String
- Dim dblPt() As Double
- Dim dblNextPt() As Double
- Dim blnTrue As Boolean
- Dim lineObj As AcadLine
- strPrompt = "Get First Point: "
- blnTrue = True
- With ThisDrawing.Utility
- On Error Resume Next
- dblPt = .GetPoint(, strPrompt)
- If Err.Number <> 0 Then Exit Sub
-
- Do While blnTrue = True
- strPrompt = "Get Next Point: "
- dblNextPt = .GetPoint(dblPt, strPrompt)
- If Err.Number <> 0 Then blnTrue = False
- Set lineObj = ThisDrawing.ModelSpace.AddLine(dblPt, dblNextPt)
- dblPt = dblNextPt
- Loop
-
- On Error GoTo 0
- End With
- End Sub
GetPoint方法将在输入期间尊重正交设置,但如果使用对象捕捉,则不会。如果要解决这种组合,您必须编写自己的逻辑。
请参阅正在运行的代码的屏幕广播。
https://screencast.autodesk.com/main/details/46bb9fdd-e8b6-49c7-91de-f7ea2f113ef7 |