在cad中出现“代理对象不允许复制 因此写块操作被拒绝”的解决办法

网上找到的解决办法是这个

在cad中出现“代理对象不允许复制 因此写块操作被拒绝”的解决办法

经测试,方法是有效的,

不过是要在当前打开的dwg中“编辑---复制链接”,然后在新建打开的dwg中“编辑---原坐标粘贴”后保存,

如此这般问题才全部解决,可以完美使用(command “.wblock” ........)命令。。。

--------------------

另附今天遇到这问题的分图层输出文件autolisp代码,抄的基础上修改的,可以新建文件夹再保存各图层文件,哈哈

(vl-load-com)
;按层存文件 明经 ZZXXQQ 2011.1.6 ,nuist 2015.12.18
(defun c:tt ()
  (setvar "CMDECHO" 0)
  (setq lnm nil)
  (setq filepath (strcat (vla-get-Path (vla-get-ActiveDocument (vlax-get-acad-object))) "\") )
  (setq filepath (strcat (strcat filepath (getvar "dwgname")) "1\") )
  (command "sh" (strcat "rd/s/q " filepath))
  (command "sh" (strcat "md " filepath))
  (while (setq lnm (tblnext "LAYER" (not lnm)))
    (if (setq ss (ssget "X" (list (cons 8 (cdr(assoc 2 lnm))))))   
      (command ".WBLOCK" (strcat (strcat filepath (cdr(assoc 2 lnm))) ".dxf") "" "" "0,0" ss "")
    )
  )
  (setvar "CMDECHO" 1)
  (princ)
)

 ☞ 以上lisp代码在autocad dwg分层转mapgis文件时超级有用哦 ☜