明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1314|回复: 1

CASS软件的批量选择

[复制链接]
发表于 2023-9-7 16:07:05 | 显示全部楼层 |阅读模式
CASS软件的批量选择中,命令为mssx,
但是按颜色选择会出现一些偏差,

批量选择房子,但是就是选不上
这是因为cass是采用图元颜色索引值过滤
-----"当前过滤条件: ((62 . 6))"-----
62就是对图元颜色进行判断,如果图元颜色索引值=6的就选上,不是的就不选。
现实情况是如果图元的颜色采用随层的话,图元颜色索引值就是256,这就是选不上的原因,怎么办呢?
图元的颜色有三种情况,以颜色6为例,
1、图层颜色为6,但是本图层的图元全部随层颜色显示,也就是本图层的图元颜色索引值为256。这些图层颜色6,图元颜色值256的图元需要选取
2、图层颜色为6,但是本图层的图元颜色人为变更为其他值了,此时图层颜色值为6,图元颜色值不是256,也不是6的不能选。
3、其他图层颜色值非6,但是图元颜色是6的,需要选取

解决办法是,通过选取图元样本,确定需要过滤的颜色索引值,再通过对图层颜色值判断确定哪些图层的随层图元需要选择

上源码

YanSe = TuYuan.color     ’样本图元的颜色值     
'''''''''''''''''''''''''''''''''''''通过样本图元颜色值判断哪些图层也是同样颜色
        If YanSe = 256 Then
            TuCeng = TuYuan.Layer
            For Each Tc In ThisDrawing.Layers
                If Tc.Name = TuCeng Then
                    YanSe = Tc.color
                    Exit For
                End If
            Next Tc
        End If
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''计算有多少个相同颜色的图层数量
           For Each Tc In ThisDrawing.Layers
            If Tc.color = YanSe Then
                YStc = YStc + 1
            End If
        Next Tc
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
        
''''''''''''''''''''''''''''开始过滤''''''''''''''''''''''''''''''''
'''''''''图元颜色满足的,或(or),图层颜色满足且图元颜色是256的'''''''''''''''''''''''''''''''
''''''''''''''''''''''循环是对图层颜色满足要求的图元全部选取''''''''''''''''''''''''''''''''''''''''''''''''''''''
        Ftt(0) = -4
        Fdd(0) = "<or"

        Ftt(1) = 62
        Fdd(1) = YanSe
               
        For j = 1 To YStc
            Ftt(j * 4 - 2) = -4
            Fdd(j * 4 - 2) = "<and"
            Ftt(j * 4 - 1) = 8
            Fdd(j * 4 - 1) = str(j - 1)
            Ftt(j * 4) = 62
            Fdd(j * 4) = 256
            Ftt(j * 4 + 1) = -4
            Fdd(j * 4 + 1) = "and>"
        Next j

        Ftt(i) = -4
        Fdd(i) = "or>"
        XuanZeji.Select acSelectionSetAll, , , Ftt, Fdd '


搞定,这样就比cass的更全面一些了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2023-9-8 18:02:53 | 显示全部楼层
顶一下,CASS没用过,跟cad啥区别?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-17 21:16 , Processed in 0.181234 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表