AutoCAD VBA对齐对象
AutoCAD VBA對齊對象,代碼如下。
Sub AlignEnt()
Dim ss As AcadSelectionSet
Set ss = CreateSelectionSet
ss.SelectOnScreen
Dim ent As AcadEntity
Dim MinPoint As Variant
Dim MaxPoint As Variant
If ss.Count > 0 Then
Dim AlignMode As String
On Error Resume Next
ThisDrawing.Utility.InitializeUserInput 0, "Left Middle Right"
AlignMode = ThisDrawing.Utility.GetKeyword("選擇對齊方式[左對齊(L)/對中(M)/右對齊(R)]<左對齊>:")
If Err Then AlignMode = "Left"
If AlignMode = "" Then AlignMode = "Left"
Dim AlignPoint As Variant
Dim MovePoint(2) As Double
AlignPoint = ThisDrawing.Utility.GetPoint(, "請選擇對起點:")
For Each ent In ss
ent.GetBoundingBox MinPoint, MaxPoint
Select Case AlignMode
Case "Left"
MovePoint(0) = MinPoint(0)
MovePoint(1) = AlignPoint(2)
MovePoint(2) = MinPoint(2)
Case "Middle"
MovePoint(0) = (MinPoint(0) + MaxPoint(0)) / 2
MovePoint(1) = AlignPoint(1)
MovePoint(2) = MinPoint(2)
Case "Right"
MovePoint(0) = MaxPoint(0)
MovePoint(1) = AlignPoint(1)
MovePoint(2) = MaxPoint(2)
End Select
ent.Move MovePoint, AlignPoint
Update
Next
Else
ThisDrawing.Utility.Prompt vbCr & "未選定對象,自動退出……"
End If
End Sub
Public Function CreateSelectionSet(Optional ssName As String = "ss") As AcadSelectionSet
Dim ss As AcadSelectionSet
On Error Resume Next
Set ss = ThisDrawing.SelectionSets(ssName)
If Err Then Set ss = ThisDrawing.SelectionSets.Add(ssName)
ss.Clear
Set creatselectionset = ss
End Function
代碼完。
運行時提示“對象變量或with塊變量未設置”。
總結
以上是生活随笔為你收集整理的AutoCAD VBA对齐对象的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#合并数组
- 下一篇: 双击word,excel等office文