以下程式无法颜色过滤
<P>问题如下:</P><P>假如一条线的颜色是红色,另一条是绿色,颜色不用ByLayer,程式有过滤作用;可是当都是ByLayer刚失效,用此程式失效的结果是两条线都被选择,请问如何解决,本以为将obj.color改成obj.Truecolor,结果不对</P>
<P>Public Sub Ys()<BR>On Error Resume Next<BR>Dim Ssetobj As AcadSelectionSet, Str As Integer, Obj As AcadEntity, Pt As Variant<BR>ThisDrawing.Utility.GetEntity Obj, Pt: Obj.Highlight True<BR>Str = Obj.color<BR>ThisDrawing.SelectionSets("ys").Delete<BR>Err.Clear<BR>Set Ssetobj = ThisDrawing.SelectionSets.Add("ys")<BR>Dim Ftype(1) As Integer, Fdata(1) As Variant<BR>Ftype(0) = 0<BR>Fdata(0) = "*"<BR>Ftype(1) = 62<BR>Fdata(1) = Str<BR>Ssetobj.SelectOnScreen Ftype, Fdata<BR>End Sub<BR></P> 如果bylayer 哪就再判断下层的颜色吧 請問一下,下層的顏色是什麼意思?能不能用VBA關鍵字提示一下 <P>判断下层的颜色</P>
<P>先得到object.layer,</P>
<P>再判断</P>
<P>layer.color</P> <P>先謝謝,我去試試</P> 試了一下,好象不行,大師可不可以在我的程式上修改一下,就如選擇的參考物體的顏色是綠色,那麼我就只要過濾綠色的物體,不管Bylayer是綠色,還是實際是綠色 <P>引用我的增强选择集类(在我的博客里找:)),运行下面的程序</P>
<P>Sub ttx()<BR> Dim ss As New TlsSelectSet<BR> ss.Init<BR> ss.Filter.SetData -4, "<or", 62, acRed<BR> For Each i In ThisDrawing.Layers<BR> If i.Color = acRed Then<BR> ss.Filter.AppendData -4, "<and", 8, i.Name, 62, acByLayer, -4, "and>"<BR> End If<BR> Next i<BR> ss.Filter.AppendData -4, "or>"<BR> ss.SelectObject acSelectionSetAll<BR> MsgBox ss.Count<BR>End Sub<BR></P>
<P>或者</P>
<P>Sub ttx()<BR> Dim ss As New TlsSelectSet<BR> ss.Init<BR> For Each i In ThisDrawing.Layers<BR> If i.Color = acRed Then<BR> s = s & i.Name & ","<BR> End If<BR> Next i<BR> s = Left(s, Len(s) - 1)<BR> ss.Filter.SetData -4, "<or", 62, acRed, -4, "<and", 8, s, 62, acByLayer, -4, "and>", -4, "or>"<BR> ss.SelectObject acSelectionSetAll<BR> MsgBox ss.Count<BR>End Sub<BR></P> <P>请问一下版主,你的那个New TlsSelectSet 是自定义的变量,它是acadselectionset还是什么呢?能不能把那个自定义的变量也发上来,因为我用你的程式,发现也找不到 Init这个属性<BR></P> <P>不是让你在我的博客上找了么:)</P>
<P>还是贴过来吧:)</P>
<P>下面的代码放在TlsSelectSet类模块中</P>
<P><A href="http://xsfhlzh.139.com/article/325507.html" target="_blank" >http://xsfhlzh.139.com/article/325507.html</A></P>
<P>下面的模块放在TlsResultBuffer类模块中</P>
<P><A href="http://xsfhlzh.139.com/article/332841.html" target="_blank" >http://xsfhlzh.139.com/article/332841.html</A></P> 先謝謝版主
页:
[1]