- UID
- 107309
- 积分
- 5021
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2004-2-28
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
前段一直没时间,工作太忙,回到家也静不下来心,现在工作告一段落,就写了这个程序!你说你装了2000,那就应该可以用!
Option Explicit
Sub mzjzb()
On Error Resume Next
Dim Intobj As AcadEntity
Dim sset As AcadSelectionSet
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim INTPTS As Variant
Dim pnt(0 To 2) As Double
Dim pnt1(0 To 2) As Double
Dim pnt2(0 To 2) As Double
Dim TXT As AcadText
Dim x(0 To 2) As Double
Dim y(0 To 2) As Double
Dim zjx As AcadLWPolyline
Dim vers(0 To 5) As Double
Set sset = ThisDrawing.SelectionSets.Add("tt")
sset.SelectOnScreen
Dim cobj As AcadCircle
For i = 0 To sset.Count - 1
For j = i + 1 To sset.Count - 1
INTPTS = sset.Item(i).IntersectWith(sset.Item(j), acExtendNone)
If VarType(INTPTS) <> vbEmpty Then
For k = 0 To UBound(INTPTS) Step 3
pnt(0) = INTPTS(k): pnt(1) = INTPTS(k + 1): pnt(2) = 0
pnt1(0) = pnt(0) + 5: pnt1(1) = pnt(1) + 5: pnt1(2) = 0
pnt2(0) = pnt1(0) + 20
pnt2(1) = pnt1(1)
pnt2(2) = 0
x(0) = pnt1(0) + 2: x(1) = pnt1(1) + 1: x(2) = 0
y(0) = pnt1(0) + 2: y(1) = pnt1(1) - 3: y(2) = 0
vers(0) = pnt(0): vers(1) = pnt(1): vers(2) = pnt1(0): vers(3) = pnt1(1): vers(4) = pnt2(0): vers(5) = pnt2(1)
Set zjx = ThisDrawing.ModelSpace.AddLightWeightPolyline(vers)
Set TXT = ThisDrawing.ModelSpace.AddText("X=" & Format(pnt(1), "###0.000"), x, 2)
Set TXT = ThisDrawing.ModelSpace.AddText("Y=" & Format(pnt(0), "###0.000"), y, 2)
Next
End If
Next
Next
sset.Delete
End Sub |
|