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块变量未设置”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值