乐筑天下

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

[编程交流] 需要调整Lisp程序

[复制链接]

7

主题

24

帖子

17

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 18:31:41 | 显示全部楼层
别担心。
 
工作得很好!最后一个细节。。。它需要锁定x-ref层。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 18:37:03 | 显示全部楼层
好的
 
将其作为最终版本试用(如果您没有任何其他更新)。
 
  1. (defun c:xchx  (/ doc ss i sn e l)
  2. (setq doc (vla-get-activedocument (vlax-get-acad-object)))
  3. (vlax-for xr  (vla-get-blocks doc)
  4.    (if (eq :vlax-true (vla-get-isxref xr))
  5.      (setq l (cons (strcat "," (vla-get-name xr)) l))
  6.      )
  7.    )
  8. (if (not (tblsearch "LAYER" "x-ref"))
  9.    (entmake (list '(0 . "LAYER")
  10.                   '(100 . "AcDbSymbolTableRecord")
  11.                   '(100 . "AcDbLayerTableRecord")
  12.                   (cons 2 "x-ref")
  13.                   '(70 . 0)))
  14.    )
  15. (if (and l
  16.           (setq ss (ssget "_X" (list '(0 . "INSERT") (cons 2 (substr (apply 'strcat l) 2)))))
  17.           )
  18.    (progn
  19.      (repeat (setq i (sslength ss))
  20.        (if (vlax-write-enabled-p (vlax-ename->vla-object  (setq sn (ssname ss (setq i (1- i))))))
  21.          (entmod (subst '(8 . "x-ref") (assoc 8 (setq e (entget sn))) e))
  22.          )
  23.        )
  24.      (vla-put-lock  (vla-item (vla-get-layers doc) "x-ref") :vlax-true)
  25.      (vla-regen doc acallviewports)
  26.      )
  27.    )
  28. (princ)
  29. )(vl-load-com)
回复

使用道具 举报

7

主题

24

帖子

17

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 18:40:10 | 显示全部楼层
像冠军一样工作!
 
谢谢您!!
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 18:44:33 | 显示全部楼层
杰出的非常欢迎你。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-13 04:18 , Processed in 0.625950 second(s), 58 queries .

© 2020-2025 乐筑天下

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