乐筑天下

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

[编程交流] 外部参照Lisp例程

[复制链接]

12

主题

31

帖子

19

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-6 06:57:24 | 显示全部楼层 |阅读模式
寻求以下例程的帮助:
 
-通过键入XO,然后单击参照,从图形中打开外部参照。
-通过键入XRX,然后单击参照,从图形中分离外部参照。
-通过键入XRR重新加载图形中的所有外部参照
 
提前谢谢你。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 07:01:04 | 显示全部楼层
 
打开外部参照
 
.....
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 07:05:16 | 显示全部楼层
 
快速一:
 
  1. (defun c:xrx ( / xn xr )
  2.    (while
  3.        (progn (setvar 'ERRNO 0) (setq xr (car (entsel "\nSelect XRef to Detach: ")))
  4.            (cond
  5.                (   (= 7 (getvar 'ERRNO))
  6.                    (princ "\nMissed, try again.")
  7.                )
  8.                (   (eq 'ENAME (type xr))
  9.                    (if
  10.                        (not
  11.                            (and
  12.                                (eq "INSERT" (cdr (assoc 0 (entget xr))))
  13.                                (= 4 (logand 4 (cdr (assoc 70 (tblsearch "BLOCK" (setq xn (cdr (assoc 2 (entget xr)))))))))
  14.                            )
  15.                        )
  16.                        (princ "\nObject is not an XRef.")
  17.                    )
  18.                )
  19.            )
  20.        )
  21.    )
  22.    (if xr (vla-detach (vlax-ename->vla-object (cdr (assoc 330 (entget (tblobjname "BLOCK" xn)))))))
  23.    (princ)
  24. )
  25. (vl-load-com) (princ)
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 07:07:02 | 显示全部楼层
 
  1. (defun c:xrr nil
  2.    (vlax-for block (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object)))
  3.        (if (eq :vlax-true (vla-get-isxref block)) (vla-reload block))
  4.    )
  5.    (princ)
  6. )
  7. (vl-load-com) (princ)
回复

使用道具 举报

12

主题

31

帖子

19

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-6 07:12:00 | 显示全部楼层
谢谢李麦克。。。
我在程序参数中找不到xopen。。。有没有其他方法可以修改键命令,这样就可以使用XO而不是键入整个命令?
回复

使用道具 举报

10

主题

895

帖子

887

银币

初来乍到

Rank: 1

铜币
49
发表于 2022-7-6 07:13:25 | 显示全部楼层
单击外部参照,单击鼠标右键,打开外部参照。
 
键入XO并点击tab,点击enter。
 
在pgp中,为xopen设置XO。
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 07:18:45 | 显示全部楼层
启动文件中很少有外部参照宏。。。
 
  1. ;; turn off all xref layers
  2. (defun c:XF (/) (command "_.-layer" "_off" "*|*" "") (princ))
  3. ;; turn on all xref layers
  4. (defun c:XN (/) (command "_.-layer" "_on" "*|*" "") (princ))
  5. ;UNLOAD ALL XREFS
  6. (defun c:xu (/) (command "_.-xref" "_UNLOAD" "*") (princ))
  7. ;RELOAD ALL XREFS
  8. (defun c:XE (/) (command "_.-xref" "_RELOAD" "*" ) (princ))
回复

使用道具 举报

12

主题

31

帖子

19

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-6 07:21:54 | 显示全部楼层
rkent。。。
我正在跑步2010。。。右键单击外部参照在2011年和2012年起作用。我的新公司还没有决定使用新软件。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 07:23:41 | 显示全部楼层
否则,只需:
 
  1. (defun c:xo nil (command "_.xopen" pause) (princ))
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 07:25:56 | 显示全部楼层
不需要暂停。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 10:00 , Processed in 0.360388 second(s), 72 queries .

© 2020-2025 乐筑天下

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