[讨论]关于利用ObjectDbx技术获取或修改图元数据
关于利用ObjectDbx技术获取或修改图元数据,请教两个问题:1.除了在 VBA环境下使用之外,能否在VB或OFFICE VBA中使用?若能,需要哪些设置?
2.访问图元时是否只能通过遍历所有图元并逐一判断是否为期望的图元,能否根据图元句柄直接获取图元?
回答1:除了在AutoCAD VBA环境下使用之外,ObjectDbx技术能在VB或OFFICE VBA中使用,须在VB或OFFICE VBA中引用 ObjectDbx 类型库;
回答2:AutoCAD图元句柄是在图纸打开随机生成的,也就是说图纸中某一图元的句柄不是固定不变的。访问图元时不用通过遍历所有图元,你可以根据你要访问图元的类型过滤掉不需要遍历的图元,提高效率。
问题3:用ObjectDbx的open方法打开一个文件执行完处理之后,如何将DWG文件释放?不释放的话,CAD不能打开该图,说是该图正在被使用。
在VB或OFFICE VBA中均没有测试成功,已经引用 ObjectDbx 类型库。
执行语句 Set objDBX = CreateObject("ObjectDBX.AxDbDocument.1") 时报错:ActiveX部件不能创建对象
无论CAD是否启动都是如此,在VB或OFFICE VBA中所报错误相同,同样的语句在AutoCAD VBA中运行正常
问题4:用ObjectDbx技术可以读取属性块的属性值,请问如何修改并保存属性块的属性值? 问题5:我的机器上安装的是CAD2002,除了有ObjectDBX1.0类型库之外,还有一个AutoCAD/ObjectDBX Common 1.0类型库,请问两者有什么关系,后者如何使用? 看来没什么人关心ObjectDbx。 不太懂这个方面的东西,你如果懂不妨拿出一些例子程序来,或者书单也行
我们学习学习,
学习的人多了,有问题时回的人自然就多了。
Private Sub Command1_Click()
Set Acad = GetObject(, "AutoCAD.Application.16")
Set AcadDbx = Acad.GetInterfaceObject("ObjectDBX.AxDbDocument.16")
End Sub
猫老师是高手啊,搜了好久,都没发现别人知道这个
页:
[1]