本帖最后由 marting 于 2021-2-3 14:22 编辑
你去试试N版发布的这个函数
(XD::ODBX)处理外部DWG通用接口函数0 个回复 - 0 次查看 **** 本内容被作者隐藏 **** 设置存盘版本通过函数: xd::odbx:savevertion 函数实现,如:(xd::odbx:savevertion "2004")
下面是一个通用的框架,可以修改,处理外部DWG的图层,图块,线型。。。。
 - (defun c:tt ()
- (defun _remove (doc)
- (defun _print-progess (doc gap / dwg)
- (setq dwg (vla-get-name doc)
- dwg (strcat (vl-filename-base dwg) (vl-filename-extension dwg))
- )
- (princ (xd::string:tailcut (strcat "\n处理 " dwg) gap "..."))
- )
- (textpage)
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;单文件信息打印框架
- (setq num1 0)
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- (_print-progess doc 30)
- (setq lay (vla-item (vla-get-layers doc) "0"))
- (setq e (vlax-vla-object->ename lay))
- (xdrx_database_setpropertyvalue e "clayer" "0")
- (xdrx_database_select e)
- (setq lst1 nil)
- (vlax-for blk (vla-get-blocks doc)
- (if (and (/= (vla-get-isxref blk) :vlax-true)
- (/= (vla-get-islayout blk):vlax-true))
- (progn
- (setq lst1 (cons (vla-get-name blk) lst1))
- )
- )
- )
- (xdrx_database_select)
- (setq num (1+ num))
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;单文件信息打印框架
- (setq lxd lst1)
- (princ (strcat " 处理了 " (itoa (length lst1)) " 图块."))
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- (princ)
- )
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- (defun _check ()
- (if (or (not xd::vla:odbx) (not (= (type xd::vla:odbx) 'SUBR)))
- (progn (princ "\n请加载晓东通用LISP函数库再执行.") (exit))
- t
- )
- )
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;主程序框架 ;
- (defun _main ()
- (xdrx_begin)
- (setq num 0
- fns 0
- )
- (xd::odbx '_remove nil t)
- (princ (strcat "\n\n共处理了 " (itoa num) " 个DWG文件."))
- (xdrx_end)
- (princ)
- )
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;main ;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- (_main)
- (princ)
- )
命令: TT
处理 坝下浑何南绥化路北地.... 处理了 201 图块.
共处理了 1 个DWG文件.
命令:
命令: !lst1
("树01" "13" "网球场1" "新块" "GUIBAI" "B07031" "B07008" "ll" "14" "阔叶1" "阔叶7" "16" "TREE-2" "块别墅2" "块别墅" "01" "301" "929" "927" "512" "175" "503" "2006" "2005" "942" "247" "950" "998" "454" "994" "912" "509" "520" "POLYLINE478" "箭头" "gc168" "gc126" "gc251" "gc253" "gc201" "GC038" "GC115" "252" "677" "302" "GC079" "GC151" "gc129a" "gc019" "GC041" "gc211" "gc232" "gc254" "gc208" "gc043" "gc212" "GC143" "gc086" "gc013a" "gc146" "gc106" "gc181" "gc013c" "gc013b" "gc170" "GC200" "ARC979" "ARC380" "ARC377" "ARC376" "ARC375" "ARC374" "ARC373" "ARC372" "ARC371" "ARC370" "ARC369" "ARC368" "ARC367" "ARC366" "ARC365" "ARC364" "ARC363" "ARC362" "ARC361" "ARC360" "ARC359" "ARC358" "ARC357" "ARC356" "ARC355" "ARC354" "ARC353" "ARC352" "ARC351" "ARC350" "ARC349" "ARC348" "ARC347" "ARC346" "ARC345" "ARC344" "ARC343" "ARC342" "ARC341" "ARC340" "ARC339" "ARC338" "ARC337" "ARC336" "ARC335" "ARC334" "ARC333" "ARC332" "ARC331" "ARC330" "ARC329" "ARC328" "ARC327" "ARC326" "ARC325" "ARC324" "ARC323" "ARC322" "ARC321" "ARC320" "ARC164" "ARC163" "ARC162" "ARC161" "ARC160" "ARC159" "ARC158" "ARC157" "ARC156" "ARC155" "ARC154" "ARC153" "ARC152" "ARC151" "ARC150" "ARC149" "ARC148" "ARC147" "ARC146" "ARC145" "ARC144" "ARC143" "ARC142" "ARC141" "ARC140" "ARC139" "ARC138" "ARC137" "ARC87" "ARC86" "ARC83" "GC134" "ELLIPSE" "GC048" "GC042" "GC129" "GC104" "GC132" "GC111" "GC091" "GC050" "GC133" "GC160" "GC096" "GC107" "GC243" "GC021" "GC161" "GC052" "GC245" "GC244" "GC297" "GC095" "GC123" "GC103" "GC223" "GC097" "GC155" "GC154" "GC018" "GC250" "GC098" "GC100" "GC044" "GC037" "GC156" "GC120" "GC125" "GC124" "GC159" "GC121" "GC122" "GC119" "GC002")
|