Yeatsliu 发表于 2006-3-14 15:01:00

一个关于选择的问题!!

在界面内画很多图形,比如有圆、直线,点画线,正方形,要把它们都转化为多段线,然后统一线宽,但是只有点画线要求比其它图形的线宽都细,请问如何把点画线单独过滤出来,单独设制线宽?谢谢了!!

xinghesnak 发表于 2006-3-14 15:51:00

<P>判断linetype属性</P>

Yeatsliu 发表于 2006-3-14 16:20:00

<P>不好意思,我是新手,您能告诉我怎么判断linetype属性?在VBA里直线是什么linetype,点画线又是什么linetype?</P>

雪山飞狐_lzh 发表于 2006-3-14 17:03:00

<P>点画线的线型名很多,不知道绘图的单位有没有一个标准,有就好办</P>
<P>&nbsp;</P>

xinghesnak 发表于 2006-3-15 09:15:00

楼主说的是中心线还是双点划线什么的.....版主的意思是点划线的线型很多,你可以逐个遍历实体,用linetype属性过滤下点划线,也可以用selection过滤机制过滤下点划线,就效率而言,我选择后者......

雪山飞狐_lzh 发表于 2006-3-16 14:32:00

本帖最后由 作者 于 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]
查看完整版本: 一个关于选择的问题!!