乐筑天下

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

[编程交流] 如何将外部参照移动到0,0 aut

[复制链接]

51

主题

481

帖子

457

银币

后起之秀

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

铜币
262
发表于 2022-7-6 06:34:23 | 显示全部楼层 |阅读模式
大家好
 
我们在大多数项目中使用外部参照,并将其全部插入0,0,0点。
一些用户在工作时选择外部参照并移动它。
我想知道是否有办法避免这种情况。
Thnaks公司
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 06:44:18 | 显示全部楼层
一种避免的方法是,将外部参照放置在锁定的图层上。但当然,你仍然无法“避免”用户解锁该层,除非你使用反应堆。
回复

使用道具 举报

55

主题

402

帖子

357

银币

后起之秀

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

铜币
274
发表于 2022-7-6 06:53:52 | 显示全部楼层
是否要在插入点插入外部参照对象文件,插入点可以是任何值,而不是0,0。。。。。。。对的
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 07:05:13 | 显示全部楼层
我同意pBe-您最好的选择是将外部参照放置在锁定的图层上,并进一步教育您的同事不要移动外部参照。
 
下面是一个简短的程序,用于将所有外部参照移动到原点:
 
  1. (defun c:x2or ( / def enx inc lst sel )
  2.    (while (setq def (tblnext "block" (null def)))
  3.        (if (= 4 (logand 4 (cdr (assoc 70 def))))
  4.            (setq lst (vl-list* "," (cdr (assoc 2 def)) lst))
  5.        )
  6.    )
  7.    (if
  8.        (and lst
  9.            (setq sel
  10.                (ssget "_X"
  11.                    (list '(0 . "INSERT")
  12.                        (cons 2 (apply 'strcat (cdr lst)))
  13.                    )
  14.                )
  15.            )
  16.        )
  17.        (repeat (setq inc (sslength sel))
  18.            (setq enx (entget (ssname sel (setq inc (1- inc)))))
  19.            (entmod (subst '(10 0.0 0.0 0.0) (assoc 10 enx) enx))
  20.        )
  21.    )
  22.    (princ)
  23. )
回复

使用道具 举报

51

主题

481

帖子

457

银币

后起之秀

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

铜币
262
发表于 2022-7-6 07:16:47 | 显示全部楼层
thanx pBe
谢谢李
但是每次打开或关闭文件时,我都必须运行lisp
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 07:21:11 | 显示全部楼层
 
从ACADDOC加载并运行它。lsp
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 07:30:32 | 显示全部楼层
为外部参照选择一个专用的“锁定”图层,并将其保留在那里。我甚至会在启动时进行检查,以确保该层仍处于锁定状态。
 
外部参照移动并不总是一个糟糕的用户,我见过一个有许多外部参照的大型图形,挂起或暂时冻结,当试图查看程序是否再次响应时,您在屏幕上的单击会无意中选择并移动一点外部参照。当然,这是理所当然的假设,我不是一个坏用户。
 
代码不错,李。除非用户在一家将外部参照视为块(尤其是建筑块)的公司工作,否则这可能是一件好事。
回复

使用道具 举报

11

主题

968

帖子

919

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
99
发表于 2022-7-6 07:34:51 | 显示全部楼层
是的,这也是我的第一个想法。虽然这可能会有所帮助,但我确实不能经常使用它-我的外部参照很少实际放置在0,0,0上。大多数被多次放置在不同的位置(镜像和旋转):就像一个房间在平面上的不同位置重复放置一样。如果我运行这段代码,所有房间都会移动,在原点处彼此重叠。始终位于0,0上的唯一外部参照是网格线和剖面线-它们应相对于建筑保持在同一点上。 
我也倾向于用锁定层的方法,不得不,别无选择!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 18:33 , Processed in 0.715029 second(s), 68 queries .

© 2020-2025 乐筑天下

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