一个关于选择的问题!!
在界面内画很多图形,比如有圆、直线,点画线,正方形,要把它们都转化为多段线,然后统一线宽,但是只有点画线要求比其它图形的线宽都细,请问如何把点画线单独过滤出来,单独设制线宽?谢谢了!! <P>判断linetype属性</P> <P>不好意思,我是新手,您能告诉我怎么判断linetype属性?在VBA里直线是什么linetype,点画线又是什么linetype?</P> <P>点画线的线型名很多,不知道绘图的单位有没有一个标准,有就好办</P><P> </P> 楼主说的是中心线还是双点划线什么的.....版主的意思是点划线的线型很多,你可以逐个遍历实体,用linetype属性过滤下点划线,也可以用selection过滤机制过滤下点划线,就效率而言,我选择后者...... 本帖最后由 作者 于 2006-3-18 14:58:23 编辑
引用这里的TlsSel类
dispbbs.asp?boardid=4&star=1&replyid=78298&id=28869&skin=0&page=1
Sub test123()
Dim ss As New TlsSel
Dim i As AcadLayer
zxxNames = "ACAD_ISO04W100"
ss.Init
ss.SetFilter -4, "<or", 6, zxxNames
For Each i In ThisDrawing.Layers
If InStr(zxxNames, i.LineType) <> 0 Then
ss.AppendFilter -4, "<and", 8, i.Name, 6, "bylayer", -4, "and>"
End If
Next
ss.AppendFilter -4, "or>"
ss.Selectobject acSelectionSetAll
MsgBox ss.Count
End Sub
其中 zxxNames是你的线型名,如果有多个用逗号隔开
页:
[1]