乐筑天下

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

[编程交流] 按名称和rota选择块

[复制链接]

42

主题

173

帖子

132

银币

后起之秀

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

铜币
220
发表于 2022-7-5 17:42:37 | 显示全部楼层
如何从lisp中删除select bylayer
回复

使用道具 举报

0

主题

375

帖子

385

银币

限制会员

铜币
-7
发表于 2022-7-5 17:45:36 | 显示全部楼层
在同一位置,从两个列表中删除6和62。
在这种情况下,线路可能更简单:
  1. (mapcar '(lambda (a) (assoc a e)) '(0 8 50))
回复

使用道具 举报

42

主题

173

帖子

132

银币

后起之秀

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

铜币
220
发表于 2022-7-5 17:47:32 | 显示全部楼层
 
我将ssb和ssr lisp中的行更改为上面的行,它仍然选择由原始块层过滤的块
回复

使用道具 举报

0

主题

375

帖子

385

银币

限制会员

铜币
-7
发表于 2022-7-5 17:52:51 | 显示全部楼层
好啊请澄清要求,简洁完整。
回复

使用道具 举报

42

主题

173

帖子

132

银币

后起之秀

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

铜币
220
发表于 2022-7-5 17:57:47 | 显示全部楼层
 
1-lisp按名称和旋转角度选择块,忽略图层
1-lisp仅按名称选择块,忽略图层和其他特性
 
谢谢你的耐心和帮助
回复

使用道具 举报

0

主题

375

帖子

385

银币

限制会员

铜币
-7
发表于 2022-7-5 18:01:08 | 显示全部楼层
SSR表示块名和旋转,SSB仅表示块名。
 
  1. (defun C:SSR ( / s1 i e l f o n s2)
  2. (princ "\nSelect source object(s):")
  3. (if
  4.    (if
  5.      (setq s1 (ssget "I" '((0 . "INSERT"))))
  6.      (progn (sssetfirst nil nil) s1)
  7.      (setq s1 (ssget '((0 . "INSERT"))))
  8.    )
  9.    (progn
  10.      (repeat (setq i (sslength s1))
  11.        (setq i (1- i)
  12.              o (vlax-ename->vla-object (ssname s1 i))
  13.              e (entget (ssname s1 i))
  14.              l (mapcar '(lambda (a) (assoc a e)) '(0 50))
  15.              n (cons (vlax-get o (if (vlax-property-available-p o 'EffectiveName) 'EffectiveName 'Name)) n)
  16.              )
  17.        (if (not (member l f)) (setq f (cons l f)))
  18.        )
  19.      (setq f (mapcar '(lambda (a) (append '((-4 . "<AND")) a '((-4 . "AND>")))) f))
  20.      (setq f (append '((-4 . "<OR")) (apply 'append f) '((-4 . "OR>"))))
  21.      (princ "\n\nSelect area for similar blocks...")
  22.      (if (setq s2 (ssget f))
  23.        (repeat (setq i (sslength s2))
  24.          (if
  25.            (not (member (vlax-get (setq o (vlax-ename->vla-object (setq e (ssname s2 (setq i (1- i)))))) (if (vlax-property-available-p o 'EffectiveName) 'EffectiveName 'Name)) n))
  26.            (ssdel e s2)
  27.            )
  28.          )
  29.        )
  30.      (if s2 (princ (strcat (itoa (sslength s2)) " objects")))
  31.      (sssetfirst nil s2)
  32.      )
  33.    )
  34. (if (zerop (getvar 'cmdactive)) (princ) s2)
  35. )
  36. (defun C:SSB ( / s1 i e l o n s2)
  37. (princ "\nSelect source object(s):")
  38. (if
  39.    (if
  40.      (setq s1 (ssget "I" '((0 . "INSERT"))))
  41.      (progn (sssetfirst nil nil) s1)
  42.      (setq s1 (ssget '((0 . "INSERT"))))
  43.    )
  44.    (progn
  45.      (repeat (setq i (sslength s1))
  46.        (setq o (vlax-ename->vla-object (ssname s1 (setq i (1- i))))
  47.              n (vlax-get o (if (vlax-property-available-p o 'EffectiveName) 'EffectiveName 'Name))
  48.        )
  49.        (if (not (member n l)) (setq l (cons n l)))
  50.      )
  51.      (princ "\n\nSelect area for similar blocks...")
  52.      (if (setq s2 (ssget '((0 . "INSERT"))))
  53.        (repeat (setq i (sslength s2))
  54.          (if
  55.            (not
  56.              (member
  57.                (vlax-get
  58.                  (setq o
  59.                    (vlax-ename->vla-object
  60.                      (setq e (ssname s2 (setq i (1- i))))
  61.                    )
  62.                  )
  63.                  (if (vlax-property-available-p o 'EffectiveName)
  64.                    'EffectiveName
  65.                    'Name
  66.                  )
  67.                )
  68.                l
  69.              )
  70.            )
  71.            (ssdel e s2)
  72.            )
  73.          )
  74.        )
  75.      (if s2 (princ (strcat (itoa (sslength s2)) " objects")))
  76.      (sssetfirst nil s2)
  77.      )
  78.    )
  79. (if (zerop (getvar 'cmdactive)) (princ) s2)
  80. )
回复

使用道具 举报

42

主题

173

帖子

132

银币

后起之秀

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

铜币
220
发表于 2022-7-5 18:05:38 | 显示全部楼层
@斯特凡BMR
工作完美。。。非常感谢先生
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-14 02:11 , Processed in 8.081849 second(s), 65 queries .

© 2020-2025 乐筑天下

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