关于图层的问题
各位能否提供一个方法,比如一张图只插入另一张图一个或几个图层中的全部内容 (command "copyclip" (ssget "x" '((8 . "0"))) "")Then switch to another drawing...
pasteclip 能否提供一个完整的lisp程序啊 你问得就很片面呀! 我是想把一个图中某个图层中的所有图形都插入另一个图,我现在是把他们作成一个块,然后插入,我想有没有简便的方法 2楼不是已经答复你了吗? 只有这个语句只能完成拷贝功能啊,我的意思是,在目标图纸里打开一个界面之类的东西,可以选择要拷贝的图纸,提示哪个图纸里所有的图层,我现在想知道如何不打开一个图(只选择)就能得到哪个图纸的图层的信息 ;;BY 龙龙仔(LUCAS)
;;如何不打开一个图(只选择)就能得到哪个图纸的图层的资讯;;得到了图层的资讯,你就会了吗? (defun REGISTEROBJECTDBX (/ DBXSERVER);by Tony Tanzillo
(cond
((vl-registry-read
"HKEY_CLASSES_ROOT\\ObjectDBX.AxDbDocument\\CLSID"
)
)
((not (setq DBXSERVER (findfile "AxDb15.dll")))
(alert "Error: Can't locate ObjectDBX Library (AxDb15.dll)")
)
(t
(startapp "regsvr32.exe" (strcat "/s \"" DBXSERVER "\""))
(or
(vl-registry-read
"HKEY_CLASSES_ROOT\\ObjectDBX.AxDbDocument\\CLSID"
)
(alert
"Error: Failed to register ObjectDBX ActiveX services."
)
)
)
)
)(defun C:TT (/ DWGNAME APP DOC BLOCKS DBXDOC LAYERS LAYERS_LIST)
(vl-load-com)
(setq DWGNAME (getfiled "选取图档" (getvar "dwgprefix") "dwg" 8))
(setq APP (vlax-get-acad-object))
(setq DOC (vla-get-activedocument APP))
(if (> (atoi (getvar "AcadVer")) 15)
(setq DBXDOC (vla-getinterfaceobject
APP
"ObjectDBX.AxDbDocument.16"
)
)
(progn
(if (not (REGISTEROBJECTDBX))
(exit)
)
(setq DBXDOC (vla-getinterfaceobject
APP
"ObjectDBX.AxDbDocument"
)
)
)
)
(vla-open DBXDOC (findfile DWGNAME))
(setq LAYERS (vla-get-layers DBXDOC))
(vlax-for LAYLAYERS
(setq LAYERS_LIST
(append LAYERS_LIST (list (vla-get-name LAY)))
)
)
(mapcar 'vlax-release-object (list APP DOC DBXDOC LAYERS))
(acad_strlsort LAYERS_LIST)
) 本帖最后由 作者 于 2004-7-15 12:59:30 编辑 <br /><br /> CopyObjects Method.
BTW, Lucas, should we close it somewhere after
(vla-open DBXDOC (findfile DWGNAME)) ?
and how to close it?<BR> 那版主能不能给我一个完整得程序啊
页:
[1]
2