找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2849|回复: 7

[求助] 能不能把XREF文件的一部分给拷贝出来?

[复制链接]

已领礼包: 19个

财富等级: 恭喜发财

发表于 2013-4-29 23:03:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我工作中会用到很多的XREF文件,能不能用LISP程序把其中的一部分给拷贝出来?我刚学LISP很多东西还摸不到头脑。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 51个

财富等级: 招财进宝

发表于 2013-4-30 01:25:28 | 显示全部楼层
给你提供的命令,copyn 类似express的ncopy 。但比ncopy强。可以生成XREF里面的选定的实体的拷贝。

[pcode=lisp,true]
(defun c:copyn (/ blk blks e i lst obj tm ss)
  (setq    blks (vla-get-blocks
               (vla-get-activedocument (vlax-get-acad-object))
             )
        ss   (ssadd)
  )
  (while (and (setq e (nentselp "Select nested object to copy: "))
              (setq tm (caddr e))
              (setq blk (car (cadddr e)))
              (setq blk (vlax-ename->vla-object blk))
              (setq i (vla-item blks (vla-get-name blk)))
         )
    (if        (= (vla-get-isxref i) :vlax-false)
      (vlax-for        be i
        (if (and (setq e (entget (vlax-vla-object->ename be)))
                 (not (cdr (assoc 102 e)))
                 (setq obj (entmakex e))
                 (setq obj (vlax-ename->vla-object obj))
            )
          (progn
            (vla-transformby obj (vlax-tmatrix tm))
            (setq lst (cons (list obj (vla-get-color obj)) lst))
            (vla-put-color obj 1)
            (vla-update obj)
          )
          (princ (strcat "\nComplex entity not created [ "
                         (cdr (assoc 0 e))
                         " ]"
                 )
          )
        )
      )
      (progn
        (setq obj (vlax-ename->vla-object (entmakex (entget (car e)))))
        (vla-transformby obj (vlax-tmatrix tm))
        (setq lst (cons (list obj (vla-get-color obj)) lst))
        (vla-put-color obj 1)
        (vla-update obj)
      )
    )
  )
  (if lst
    (progn (foreach o lst
             ;;(vla-put-color (car o) (cadr o))
             (setq ss (ssadd (vlax-vla-object->ename (car o)) ss))
             (command ".draworder"
                      (vlax-vla-object->ename (car o))
                      ""
                      "front"
             )
           )
           (sssetfirst nil ss)
    )
  )
  (princ)
)

[/pcode]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

 楼主| 发表于 2013-4-30 13:22:30 | 显示全部楼层

谢谢,测试了,可以实现,这个程序还需要一次点一个,能不能像平时用窗口选需要的拷贝出来呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1489个

财富等级: 财源广进

发表于 2013-6-15 21:54:39 | 显示全部楼层
很不错!Lispboy。能叫这个名字的估计是高手来的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1489个

财富等级: 财源广进

发表于 2013-6-17 13:18:44 | 显示全部楼层
Lispboy,高手您好!您的代码在模型空间我测试过,没有问题,但是再布局空间就不行了,请大侠相助!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1489个

财富等级: 财源广进

发表于 2013-7-1 17:08:43 | 显示全部楼层
Lispboy,你好。发给你的压缩包一起解压再打开“helplispboy.dwg”,“平面图参照.dwg”和 “图框A3.dwg” 是参照来的,布局当中提出就有问题,请大侠试试。另外属性块也不行,参照中的块也不理想。

请lispboy帮忙.zip

812.63 KB, 下载次数: 5, 下载积分: D豆 -1 , 活跃度 1

点评

你好,你试了刚发布的插件吗 http://bbs.xdcad.net/thread-669138-1-1.html 试验下,然后告诉我结果,另外,你单独开一个帖子吧,放这里容易发现不了。  详情 回复 发表于 2013-7-1 18:10
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 51个

财富等级: 招财进宝

发表于 2013-7-1 18:10:07 | 显示全部楼层
flowerson 发表于 2013-7-1 17:08
Lispboy,你好。发给你的压缩包一起解压再打开“helplispboy.dwg”,“平面图参照.dwg”和 “图框A3.dwg”  ...

你好,你试了刚发布的插件吗

http://bbs.xdcad.net/thread-669138-1-1.html

试验下,然后告诉我结果,另外,你单独开一个帖子吧,放这里容易发现不了。


论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2021-11-15 21:01:12 | 显示全部楼层
Lispboy 发表于 2013-4-30 01:25
给你提供的命令,copyn 类似express的ncopy 。但比ncopy强。可以生成XREF里面的选定的实体的拷贝。

你好大神,我试了这个代码。发现如果是天正图元,就会死机,不知道能否优化一下?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-12-23 06:31 , Processed in 0.458162 second(s), 54 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表