- UID
- 5129
- 积分
- 130
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2002-5-16
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2004-3-17 11:49:50
|
显示全部楼层
好,我看看!源代码如下:
Private Sub CommandButton1_Click()
Dim bzwu As AcadSelectionSet
Dim respond As String
Dim msg As String
Dim bzline(1000) As AcadLine
Dim hualine As AcadLine
Set bzwu = ThisDrawing.PickfirstSelectionSet
If bzwu.Count <> 0 Then
MsgBox "选择了" & bzwu.Count & "个直线进行标注"
Else:
respond = MsgBox("请先选择直线之后再运行程序", 0, "警告")
If respond = vbOK Then
End
End If
End If
Dim i As Integer
Dim n As Integer
Dim zbtextsx As AcadText
Dim zbtextsy As AcadText
Dim height As Double
Dim zbtexty As String
Dim zbtextx As String
Dim bzp1(0 To 2) As Double
Dim bzp2(0 To 2) As Double
Dim bzp3(0 To 2) As Double
Dim bzp4(0 To 2) As Double
Dim blc As Single
blc = TextBox1.Text
n = bzwu.Count
height = 3# * blc / 1000
Dim st(0 To 2) As Double
st(0) = 0: st(1) = 1: st(2) = 0
For i = 0 To n - 1
Set bzline(i) = bzwu.Item(i)
zbtexty = Left("Y=" & bzline(i).StartPoint(0), 12)
zbtextx = Left("X=" & bzline(i).StartPoint(1), 13)
If OptionButton1.Value = True Then
bzp1(0) = bzline(i).StartPoint(0) + 10 * blc / 1000
bzp1(1) = bzline(i).StartPoint(1) + 10.1 * blc / 1000
bzp1(2) = 0
bzp2(0) = bzline(i).StartPoint(0) + 10 * blc / 1000
bzp2(1) = bzline(i).StartPoint(1) + 10 * blc / 1000
bzp2(2) = 0
bzp3(0) = bzline(i).StartPoint(0) + 10 * blc / 1000
bzp3(1) = bzline(i).StartPoint(1) + 6.9 * blc / 1000
bzp3(2) = 0
bzp4(0) = bzline(i).StartPoint(0) + 40 * blc / 1000
bzp4(1) = bzline(i).StartPoint(1) + 10 * blc / 1000
bzp4(2) = 0
Set zbtextsx = ThisDrawing.ModelSpace.AddText(zbtextx, bzp1, height)
Set zbtextsy = ThisDrawing.ModelSpace.AddText(zbtexty, bzp3, height)
Call ThisDrawing.ModelSpace.AddLine(bzline(i).StartPoint, bzp2)
Call ThisDrawing.ModelSpace.AddLine(bzp2, bzp4)
Else
bzp1(0) = bzline(i).StartPoint(0) - 36 * (blc / 1000)
bzp1(1) = bzline(i).StartPoint(1) + 10.1 * blc / 1000
bzp1(2) = 0
bzp2(0) = bzline(i).StartPoint(0) - 10 * blc / 1000
bzp2(1) = bzline(i).StartPoint(1) + 10 * blc / 1000
bzp2(2) = 0
bzp3(0) = bzline(i).StartPoint(0) - 36 * (blc / 1000)
bzp3(1) = bzline(i).StartPoint(1) + 6.9 * blc / 1000
bzp3(2) = 0
bzp4(0) = bzline(i).StartPoint(0) - 40 * (blc / 1000)
bzp4(1) = bzline(i).StartPoint(1) + 10 * blc / 1000
bzp4(2) = 0
Set zbtextsx = ThisDrawing.ModelSpace.AddText(zbtextx, bzp1, height)
Set zbtextsy = ThisDrawing.ModelSpace.AddText(zbtexty, bzp3, height)
Call ThisDrawing.ModelSpace.AddLine(bzline(i).StartPoint, bzp2)
Call ThisDrawing.ModelSpace.AddLine(bzp2, bzp4)
End If
Next
UserForm1.Hide
End Sub
Private Sub CommandButton2_Click()
End Sub
Private Sub OptionButton2_Click()
End Sub
Private Sub TextBox1_Change()
End Sub
Private Sub UserForm_Click()
End Sub
Private Sub UserForm_Initialize()
TextBox1.Text = 1000
OptionButton1.Value = True
End Sub |
|