明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2697|回复: 5

[求助]如何替外部参考档增加图层?

[复制链接]
发表于 2007-1-9 20:04:00 | 显示全部楼层 |阅读模式
<br/>请问在A图档,<br/>XREF参考进来 B图档,<br/>该如何去替换其物件的图层?<br/>且若该图档没有此图层,<br/>可以写入此档案中,<br/>这样的过程<br/>该怎样编写程式完成呢?<br/>烦请各位高手可以解答一下<br/>谢谢~<br/>
发表于 2007-1-10 12:23:00 | 显示全部楼层
這要用到objectdbx暗地裡打開B圖檔並修改你說的,再更新B檔案
 楼主| 发表于 2007-1-11 07:37:00 | 显示全部楼层

那请教该怎样使用呢?

是否可以说明一下

谢谢

发表于 2007-1-16 14:48:00 | 显示全部楼层

不要只問,要寫點東西出來,是那裡不會寫,我在Objectdbx上不是有例子了嗎?

发表于 2007-1-18 09:11:00 | 显示全部楼层
本帖最后由 作者 于 2007-1-18 9:18:24 编辑

;;Test R2005
;;要先加載Thumbnailer.arx
;;改XREF--->圖層名稱 & 增加"LUCAS"圖層 & 改所有空間物件為紅色
(defun C:TT (/ APP BNAME DBXDOC DOC DWGNAME LAYERS)
  (vl-load-com)

  (defun SAVEASEX (DBXDOC DWGNAME)
    (vlax-invoke-method
      (vla-getinterfaceobject
 (vlax-get-acad-object)
 "Thumbnailer.Application"
      )
      'PRESERVETHUMBNAIL
      (vlax-get-property DBXDOC 'DATABASE)
    )
    (vlax-invoke-method DBXDOC 'SAVEAS DWGNAME)
  )

  (if (vlax-property-available-p
 (setq DWGNAME (vlax-ename->vla-object
   (car (entsel "\nSelect Xref: "))
        )
 )
 'PATH
      )
    (progn
      (setq APP (vlax-get-acad-object))
      (setq DOC (vla-get-activedocument APP))
      (setq DBXDOC (vla-getinterfaceobject
       APP
       (strcat "ObjectDBX.AxDbDocument."
        (substr (getvar "ACADVER") 1 2)
       )
     )
      )
      (setq
 BNAME (vla-item (vla-get-blocks DOC) (vla-get-name DWGNAME))
      )
      (setq DWGNAME (vla-get-path DWGNAME))
      (vla-open DBXDOC DWGNAME)
      (vlax-for BLK (vla-get-blocks DBXDOC)
 (if (= :vlax-true (vla-get-islayout BLK))
   (vlax-for OBJ BLK
     (vla-put-color OBJ 1)
   )
 )
      )
      (vlax-for LAY (setq LAYERS (vla-get-layers DBXDOC))
 (if (/= "0" (vla-get-name LAY))
   (vla-put-name LAY (strcat (vla-get-name LAY) "-lai"))
 )
      )
      (vla-add LAYERS "LUCAS")
      (if (> (atoi (getvar "AcadVer")) 15)
 (SAVEASEX DBXDOC DWGNAME)
 (vla-saveas DBXDOC DWGNAME)
      )
      (vla-reload BNAME)
      (mapcar 'vlax-release-object (list APP DOC DBXDOC LAYERS))
    )
  )
  (princ)
)

发表于 2007-1-18 14:59:00 | 显示全部楼层
;;很多人不會註冊ObjectDbx(繁體系統測試通過,簡體系統未測試),支持R2000以上
;;加載DbxDoc.vlx
;;(load "dbxdoc.vlx" nil)
;;(setq DBXDOC (DBXDOC))
;;即註冊ObjectDbx完成

本帖子中包含更多资源

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

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 07:37 , Processed in 0.180075 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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