kinglau 发表于 2006-2-27 22:49:00

[请教]如何计算出图形中线段和圆弧的数量

用选择集可以实现"如何计算出图形中线段和圆弧的数量"么

hzx2000_0 发表于 2006-2-27 22:57:00

<P>dim n as integer,k as&nbsp; integer</P>
<P>for n = 0 to thisdrawing.modelspace.count-1</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if thisdrawing.modelspace(n).entityname="AcDbLine" then</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;k=k+1</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if</P>
<P>next</P>
<P>msgbox&nbsp;&nbsp; k</P>

kinglau 发表于 2006-2-28 16:26:00

谢谢,我自己试试,嘿嘿

雪山飞狐_lzh 发表于 2006-2-28 17:15:00

本帖最后由 作者 于 2006-2-28 17:44:44 编辑

在图元很多的时候历遍模型空间会很慢
用选择集解决要好些
Sub test2()
On Error Resume Next
Dim ss As AcadSelectionSet
Dim ft(0) As Integer, fd(0)
ft(0) = 0: fd(0) = "line,arc"
ThisDrawing.SelectionSets("TlsTest").Delete
Set ss = ThisDrawing.SelectionSets.Add("TlsTest")
ss.Select acSelectionSetAll, , , ft, fd
MsgBox ss.Count
End Sub

songzhi 发表于 2006-3-5 09:40:00

斑竹说的好,能够用选择集的地方就不要用遍历,否则太慢.

shirazbj 发表于 2006-3-5 10:27:00

原来选择集是这么用的。谢谢。
页: [1]
查看完整版本: [请教]如何计算出图形中线段和圆弧的数量