|
发表于 2004-3-14 20:33:00
|
显示全部楼层
Sub 镜像()
Dim 用户选择集合 As AcadSelectionSet
Dim 轴线集合 As AcadSelectionSet
Dim 标注集合 As AcadSelectionSet
Dim 轴线(0 To 0) As AcadLine
Dim 标注(0 To 0) As AcadText
SetVariable "MIRRTEXT", 0
MsgBox "MIRRTEXT的值是:" & GetVariable("MIRRTEXT")
Set 用户选择集合 = ThisDrawing.SelectionSets.Add("用户选择集合")
Set 轴线集合 = ThisDrawing.SelectionSets.Add("轴线集合")
Set 标注集合 = ThisDrawing.SelectionSets.Add("标注集合")
' 提示用户选择对象并将它们添加到选择集中。
' 要完成选择,按回车。
用户选择集合.SelectOnScreen
' 在选择集中循环并将每一对象的颜色改为蓝色。
'''
'''过虑选择集,筛选出垂直钢筋和paixs
'''
For Each 图元 In 用户选择集合
Select Case 图元.EntityName
Case "AcDbLine"
Set 轴线(0) = 图元
If 图元.Layer = "PAXIS" And _
图元.StartPoint()(0) - 图元.EndPoint()(0) Abs(标注文字的x坐标 - 对称轴线.StartPoint()(0)) Then
最小值 = 标注文字的x坐标 - 对称轴线.StartPoint()(0)
最近的x坐标 = 对称轴线.StartPoint()(0)
End If
Next 对称轴线
' 定义镜像轴
Dim point1(0 To 2) As Double
Dim point2(0 To 2) As Double
point1(0) = 最近的x坐标: point1(1) = 0: point1(2) = 0
point2(0) = 最近的x坐标: point2(1) = 1: point2(2) = 0
'MsgBox "被镜像的文字是:" & _
'&"镜像的坐标是:" &最近的x坐标
Dim 镜像文字 As AcadText
Set 镜像文字 = 标注文字.Mirror(point1, point2)
Next 标注文字
End Sub
这段代码还会时不时的出错
不知道是为什么
在autocad2000里面可以运行而且文字镜像好好的,但是在r14里面不可以
昨天是不可以,刚刚就出错了,在"For Each 图元 In 用户选择集合"这个位置
谢谢 |
|