乐筑天下

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

[编程交流] 可以做额外的东西

[复制链接]

17

主题

87

帖子

70

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
85
发表于 2022-7-5 19:47:21 | 显示全部楼层 |阅读模式
你好
 
此例程删除属于相同组名的重复块。
那太好了,但我想在他删除之前先看看哪一个是重复的!
 
事实上,他只说了“删除x块”,但你不知道在计划的哪里。
 
因此,在发出命令后,可以执行以下操作:
1) 通过选择,可以看到所有重复块的位置
2) 然后删除
 
非常感谢。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 20:00:15 | 显示全部楼层
您可能在这个命令(vla delete objc)之前放了一些东西,比如未测试的(getstring“press enter”)。
回复

使用道具 举报

17

主题

87

帖子

70

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
85
发表于 2022-7-5 20:07:58 | 显示全部楼层
我只是复制/粘贴。。。我不懂lisp代码。
这就是我寻求帮助的原因。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 20:17:17 | 显示全部楼层
试试这个程序,让你知道事情进展如何。
 
  1. (defun c:Test (/ b nm bks ss i sn e l lst g n)
  2. ;;------------------------------------;;
  3. ;;        Tharwat 20.05.2015                ;;
  4. ;;        Highligh Duplicated blocks        ;;
  5. ;;------------------------------------;;
  6. (while (setq b (tblnext "BLOCK" (not b)))
  7.    (if (and (not (assoc 1 b))
  8.             (not (wcmatch (setq nm (cdr (assoc 2 b))) "*|*"))
  9.        )
  10.      (setq bks (cons nm bks))
  11.    )
  12. )
  13. (princ
  14.    "\nSelect Blocks to highligh duplicates in position :"
  15. )
  16. (if (setq g  (ssadd)
  17.            ss (ssget
  18.                 "_:L"
  19.                 (list
  20.                   '(0 . "INSERT")
  21.                   (cons
  22.                     2
  23.                     (apply 'strcat (mapcar '(lambda (u) (strcat u ",")) bks))
  24.                   )
  25.                 )
  26.               )
  27.      )
  28.    (progn
  29.      (repeat (setq i (sslength ss))
  30.        (setq sn (ssname ss (setq i (1- i)))
  31.              e  (entget sn)
  32.              l  (cons (list sn (cdr (assoc 10 e))) l)
  33.        )
  34.      )
  35.      (mapcar '(lambda (p)
  36.                 (if (vl-some '(lambda (q)
  37.                                 (and
  38.                                   (equal (cadr p) (cadr q) 1e-4)
  39.                                   (not (eq (car p) (car q)))
  40.                                   (not (member (cadr q) lst))
  41.                                 )
  42.                               )
  43.                              l
  44.                     )
  45.                   (progn
  46.                     (setq lst (cons (cadr p) lst))
  47.                     (ssadd (car p) g)
  48.                   )
  49.                 )
  50.               )
  51.              l
  52.      )
  53.      (if (< 0 (setq n (sslength g)))
  54.        (princ (strcat "\nNumber of Duplicated Blocks found [ "
  55.                       (itoa n)
  56.                       " ] :"
  57.               )
  58.        )
  59.        (princ "\nNo duplicate Blocks found !")
  60.      )
  61.    )
  62. )
  63. (sssetfirst nil g)
  64. (princ)
  65. )
回复

使用道具 举报

17

主题

87

帖子

70

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
85
发表于 2022-7-5 20:24:26 | 显示全部楼层
塔尔瓦特。。。。再一次
 
此lisp还会选择一个在我的平面中不重复的外部参照。
是否可以仅对块使用此选项,而不使用外部参照选项?
谢谢
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 20:38:37 | 显示全部楼层
一次又一次
 
以上代码已更新。
回复

使用道具 举报

17

主题

87

帖子

70

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
85
发表于 2022-7-5 20:43:34 | 显示全部楼层
再一次。。。太棒了!!!
下次见
 
非常感谢。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 20:54:38 | 显示全部楼层
 
 
不客气。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-8-18 22:43 , Processed in 2.211606 second(s), 68 queries .

© 2020-2025 乐筑天下

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