乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 42|回复: 4

[编程交流] 过滤层(包含n个

[复制链接]

6

主题

9

帖子

3

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-6 09:17:57 | 显示全部楼层 |阅读模式
下午的Cadders,
 
我想在过滤层时忽略字母,只过滤包含某些数字的层,即层名称:grid510,只按数字510过滤,而不是按整个层名称过滤。欢迎任何建议!!
这是我目前用来过滤我的图层的代码,这是Lee Mack从之前发布的问题中提供的。
 
  1. (defun test ( / ss ) (vl-load-com)
  2. (if (setq ss (ssget (setq l '((8 . "ti grid re510,ti grid re520,ti grid re540,ti grid re560,ti grid re570,ti grid re580,ti grid tx150,ti grid type 1,ti grid type 2,ti grid type 3,ti grid type 4")))))
  3.    (
  4.      (lambda ( l / i e sym )
  5.        (repeat (setq i (sslength ss))
  6.          (ssadd (setq e (ssname ss (setq i (1- i))))
  7.            (cond
  8.              (
  9.                (eval
  10.                  (setq sym
  11.                    (read
  12.                      (strcat "ss"
  13.                        (
  14.                          (lambda ( j )
  15.                            (vl-some
  16.                              (function
  17.                                (lambda ( x ) (setq j (1+ j))
  18.                                  (if (wcmatch (strcase (cdr (assoc 8 (entget e)))) (strcase x))
  19.                                    (itoa j)
  20.                                  )
  21.                                )
  22.                              )
  23.                              l
  24.                            )
  25.                          )
  26.                          0
  27.                        )
  28.                      )
  29.                    )
  30.                  )
  31.                )
  32.              )
  33.              ( (set sym (ssadd)) )
  34.            )
  35.          )
  36.        )
  37.      )
  38.      (LM:str->lst (cdar l) ",")
  39.    )
  40. )
  41. )
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 09:44:04 | 显示全部楼层
???
 
  1. ...
  2. (if (setq ss (ssget '((8 . "[color=red]*[/color]510[color=red]*[color=black],[/color]*[color=black]520[/color]*[/color]"))))
  3. ...
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-6 09:54:56 | 显示全部楼层
您应该阅读一下wcmatch函数。它将为您提供ssget选择筛选所需的信息。
回复

使用道具 举报

6

主题

9

帖子

3

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-6 10:16:34 | 显示全部楼层
现在感觉自己像一个成年累月的人,*510*起作用了!真不敢相信,看在上帝的份上,这就是我所需要做的一切。
谢谢大家
回复

使用道具 举报

11

主题

968

帖子

919

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
99
发表于 2022-7-6 10:24:18 | 显示全部楼层
wild-Cards的奇迹8)!只有当你开始使用它们时,你才开始注意到ACad的wcmatch函数的缺点:o。然后你开始考虑使用正则表达式——但这是一个完全不同的游戏!
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-7 03:21 , Processed in 0.560435 second(s), 62 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表