明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2215|回复: 14

cad利用选择集选择OLE

[复制链接]
发表于 2017-10-25 15:19:53 | 显示全部楼层 |阅读模式
请教下,我在用vb做cad的二次开发,现在我想选择每张图纸中“OLE”
其中代码是   ft(0) = 0: fd(0) = “OLE”
但是在调试的时候发现选择不到ole内容?请问这个该如何操作?
发表于 2017-11-6 22:21:34 | 显示全部楼层
虽然我下载了很多电子书,包括网友热捧的《VisualBasic与AutoCAD二次开发》张晋西版本,其实就上面说的这两本电子书常用。

还有就是有空的话把所有帖子都看一遍,自己感觉用的上就先收集起来。

我在学习CAD二次开发以前,已经会VB很多年了,因为工作中需要处理数据,懂编程是很方便的,最开始对CAD编程是一个同事的需要,他为电力设计院打工,需要手动把变电站二次系统图纸中的端子排关联的电缆清理出来,然后汇总编辑成做成电子表格版的电缆清册(而每张CAD的图纸中是没有电缆清册的表格)。
我的思路是把所有图元信息都提取出来,放到数据库,然后分析端子排的编号、连接线,电缆头,然后根据信息,分析出每条电缆的芯数,起点、止点、判断型号,最后按电缆清册模板生成电子表格数据。
当时怎么调用CAD都不知道,我搜索了一下CAD论坛,WORD天,一些有名的CAD论坛都注册不了,什么邀请码,指定时间开放注册等等,完全不懂管理员是怎么想的。

明经也不好注册,可以用QQ注册明经,但由于QQ有后门、收集用户信息,所以我个人是不用QQ、微信的(给我发私信要qq号的就抱歉了),工作上有公用qq号在专用电脑上。当时为了注册明经,特地注册了微博,用微博来登录明经。

编程的人本来就少,还又加诸多限制,搞技术的多少有点保守,但是网络上的人其实与你关系不大,不会影响到你的地位与收入,希望有共享精神的网友多一点。

后来有热心的网友告诉我怎么连接CAD,读取信息。很遗憾,忘记这位好心网友的名字了。

虽然最终完成了这个小工具,但是有很大的局限(只能完成他给的样图),不能通用,原因是在实际应用中每张图纸都不是一样的规范,作图不标准,比如端子箱连接的线不是横平竖直,有的是由几根直线拼凑组成,有的是多段线,有的几根线重叠一起,电缆头做图不规范,有的图纸中的电缆头采用的是块,有的图纸中电缆头是画一个三角形然后填充等等。
这个工具最终没有用上,但是通过编写这个工具开启了CAD编程之路。


 楼主| 发表于 2018-1-3 10:44:53 | 显示全部楼层
vbcad 发表于 2017-11-4 12:59
这个没有找资料,是自己分析出来的。
过程:把对象的名字属性列出来,OLE对象名用DEBUG.PRINT 列出来为ACA ...

您好,能否把这个过程详细说下,我现在要选择所有外部参照的集合,又遇到了上次的问题,这个fd(0)=这个后面应该怎么填写,1,对象的名字属性怎么列出来,现在对象都没有办法选择2、如果列出了名字属性,直接用debug.print +名字  就可以吗?
发表于 2018-1-4 15:09:01 | 显示全部楼层
看来你也就是随便问问,只有碰到问题的时候你才会到论坛来,那我说了也等于没有说,你只是想要个结果。

不过我还是再一次的说一编,“有空把所有帖子都看一下,里面就有你想要的结果。”

你也别自己测试了,AcDbBlockReference,AcDbBlock,Block,Reference都不会成功的,你安安心心看看帖子吧,会有的。
发表于 2017-10-26 11:32:41 | 显示全部楼层
回帖是一种美德!感谢楼主的无私分享 谢谢
 楼主| 发表于 2017-10-26 20:46:27 | 显示全部楼层
我想使用vb选择cad 中所有的ole ,这个怎么实现?
发表于 2017-10-26 21:54:18 | 显示全部楼层
OLE是单行文字吗?
 楼主| 发表于 2017-10-27 09:02:36 | 显示全部楼层
vbcad 发表于 2017-10-26 21:54
OLE是单行文字吗?

不是 ,是插入的excel文件,直接粘贴进去的
发表于 2017-10-29 09:19:14 | 显示全部楼层
OLE对象名应该为“OLE2FRAME”
所以
将fd(0) = “OLE”改为fd(0) = “OLE2FRAME”即可
 楼主| 发表于 2017-11-3 09:30:19 | 显示全部楼层
vbcad 发表于 2017-10-29 09:19
OLE对象名应该为“OLE2FRAME”
所以
将fd(0) = “OLE”改为fd(0) = “OLE2FRAME”即可

非常感谢,找了好久都没有找到类似的资料,请问vb中这种对象名及属性及方法应该去哪里查询到?
发表于 2017-11-4 12:59:52 | 显示全部楼层
这个没有找资料,是自己分析出来的。
过程:把对象的名字属性列出来,OLE对象名用DEBUG.PRINT 列出来为ACADOLE2FRAME,去掉前面的,然后用选择语句验证。
 楼主| 发表于 2017-11-6 09:20:41 | 显示全部楼层
vbcad 发表于 2017-11-4 12:59
这个没有找资料,是自己分析出来的。
过程:把对象的名字属性列出来,OLE对象名用DEBUG.PRINT 列出来为ACA ...

如果我想找资料查询有好的资料推荐吗?
发表于 2017-11-6 21:48:26 | 显示全部楼层
如果有VB的基础,明经翻译的《ActiveX 和 VBA 参考》必不可少,然后CAD自带的开发人员手册(只要是完整安装的都有),基本就差不多了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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