求助,关于vla-CopyObjects
本帖最后由 xiaoquansb 于 2018-3-27 12:35 编辑(defun CopyBlock (DwgName BlkName / blocks dbxDoc);插入其他DWG里的图块
(setq *acad* (vlax-get-acad-object))
(setq blocks (vla-get-blocks (vla-get-ActiveDocument *acad*)))
(setq dbxDoc (vla-GetInterfaceObject *acad* (strcat "ObjectDBX.AxDbDocument." (itoa (atoi (getvar "AcadVer" ))))))
(vla-open dbxDoc DwgName)
(vla-CopyObjects
dbxDoc
(vlax-safearray-fill
(vlax-make-safearray vlax-vbObject '(0 . 0))
(list (vla-item (vla-get-blocks dbxDoc) BlkName))
);end vlax-safearray-fill
blocks
);end vla-CopyObjects
(vlax-release-object dbxDoc)
(vla-item blocks BlkName)
);end defun
上面是不开图从其他图里拷贝图块的代码,一般图块都没有问题,可以遇到有wipeout的就出问题了
比如,Copy过来是这样的
但实际上应该是这样的
遮挡的次序乱套了
请问有哪位前辈有遇到过类似的情况吗,有没有解决的办法,谢谢
函数用法举例:
(CopyBlock "D:\\螺栓.dwg" "HEX.BOLT - M12x120 - COM")
乍一看还以为是vlisp,原来是 objectdbx ,这个还真没接触过 楼主请上DWG LPACMQ 发表于 2018-3-27 09:22
楼主请上DWG
已传上,请帮忙看看:handshake 自己顶起:P 本帖最后由 LPACMQ 于 2018-3-28 16:55 编辑
你动态块里面包含遮罩图元,显示问题regen刷新一下就一样了。 regen也没什么变化啊,进去编辑也是被遮罩盖住了,是什么情况下regen呢 最后还是用insert代替了,真是无奈
页:
[1]