明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1566|回复: 8

[源码] 求助,关于vla-CopyObjects

  [复制链接]
发表于 2018-3-26 19:24:04 | 显示全部楼层 |阅读模式
本帖最后由 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")




本帖子中包含更多资源

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

x
发表于 2018-3-27 08:04:28 | 显示全部楼层
乍一看还以为是vlisp,原来是 objectdbx ,这个还真没接触过
发表于 2018-3-27 09:22:08 | 显示全部楼层
楼主请上DWG
 楼主| 发表于 2018-3-27 12:36:54 | 显示全部楼层

已传上,请帮忙看看
发表于 2018-3-28 16:11:52 | 显示全部楼层
本帖最后由 LPACMQ 于 2018-3-28 16:55 编辑

你动态块里面包含遮罩图元,显示问题regen刷新一下就一样了。
 楼主| 发表于 2018-3-28 23:29:06 | 显示全部楼层
regen也没什么变化啊,进去编辑也是被遮罩盖住了,是什么情况下regen呢
 楼主| 发表于 2018-4-6 10:13:57 | 显示全部楼层
最后还是用insert代替了,真是无奈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-19 17:29 , Processed in 0.196674 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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