明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1039|回复: 8

CopyObjects 函数在 CAD2012 中变慢

[复制链接]
发表于 2019-8-1 08:30:31 | 显示全部楼层 |阅读模式

使用 CopyObjects 函数编制了一个合并图纸的小程序,技术细节就是遍历图纸中的每个对象,然后将其复制到当前图纸了。在CAD 2007 2008 64Bit里面运行非常的快,但是到了 cad 2012 64Bit 就变成蜗牛了。无意中打开任务管理器,发现 CAD 2012 VBA Enabler 64 是互相独立运行的两个 windows 程序。是因为这个原因么?还是因为别的技术因素?


发表于 2019-8-1 17:23:04 | 显示全部楼层
CopyObjects这个方法没用过,不了解它的用法。
你说的合并图纸,不知道是不是说多张图纸的内容合并到一张图上,并保持原来的坐标不变,就像CAD的粘贴到原坐标一样。如果是这样的话,你可以换个思路试试:用AcadSelection选择集acSelectionAll方法选择屏幕中所有对象,然后用CopyObjects复制,不知道这样操作行不行的通。
 楼主| 发表于 2019-8-1 17:32:44 | 显示全部楼层
对的,就是将多张图纸内容放到一个图纸中,坐标不变的。以前尝试过用键盘事件 Ctrl + all 然后选择黏贴失败了,,,那我试试你这个建议
发表于 2019-8-1 20:43:34 | 显示全部楼层
本帖最后由 风言无际 于 2019-8-1 20:47 编辑
Oceanable 发表于 2019-8-1 17:32
对的,就是将多张图纸内容放到一个图纸中,坐标不变的。以前尝试过用键盘事件 Ctrl + all 然后选择黏贴失败 ...

你试一下这个方法 InsertBlock。它可以直接插入图形文件,避免了一个个遍历对象的问题。
发表于 2019-8-2 16:10:56 | 显示全部楼层
跨进程,肯定很慢
 楼主| 发表于 2019-8-2 17:05:50 | 显示全部楼层
zzyong00 发表于 2019-8-2 16:10
跨进程,肯定很慢

真的是一步步逼 VBA 退位了
 楼主| 发表于 2019-8-2 17:07:08 | 显示全部楼层
真的是一步步逼 VBA 退位了
 楼主| 发表于 2019-8-2 17:11:15 | 显示全部楼层
真的是一步步逼 VBA 退位了
发表于 2019-8-11 21:57:22 来自手机 | 显示全部楼层
说啥好了    。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 05:40 , Processed in 0.175359 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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