如何获取属性和方法
大家好。我想知道如何获得图层、布局、尺寸样式和文档等的属性。。。。。。。。
无法通过使用函数*vlax dump object*或任何其他函数进行选择。
我的目的是获得可用于此类事情的属性和方法。
谢谢。
塔瓦特 [编辑]
我有点惊讶你竟然提出了这个问题。
无论如何。。。
[/编辑]
这适用于任何有效的VLA-OBJECT:
(defun DUMP (arg)
(if (= 'VLA-OBJECT (type arg))
(progn
(textpage)
(vlax-dump-object arg T))
(prompt "\n** Invalid argument ** "))
(princ))
然而,以下是我的工具箱中特定于层的转储例程的一些示例:
(defun c:DUMPLAY(/ layerName)
(if (and (setq layerName (getstring "\nEnter layer name: "))
(tblsearch "layer" layerName))
(DUMPLAY layerName)
(prompt "\n** Layer does not exist ** "))
(princ))
(defun DUMPLAY(layerName)
(if (tblsearch "layer" layerName)
(progn
(textpage)
(vlax-dump-object
(vla-item (vla-get-layers
(vla-get-activedocument (vlax-get-acad-object)))
layerName)
T))
(prompt "\n** Layer does not exist ** "))
(princ))
正如Renderman正确指出的那样,vlax转储对象将与任何VLA对象一起使用,无论此类VLA对象是AutoCAD对象模型的一部分还是其他对象。
为了研究AutoCAD对象模型层次结构中的对象,我有时发现在ActiveX Developer Reference中使用对象模型流程图更容易。
要访问它,请在VLIDE帮助文档中导航到:
ActiveX和VBA参考»对象模型
从这里,您可以单击对象模型流程图上列出的任何对象,以查看与该对象相关的属性/方法,此外,您可以快速导航到每个属性/方法的文档。 李-你会笑的,如果我找不到我想要的东西,我甚至会去VBAIDE/Visual Studio仔细阅读Object Viewer。英雄联盟 谢谢你的代码,它们非常有用。
ً亲爱的伦德曼,你为什么感到惊讶?
谢谢。
嗯,VS Object Browser可能最适合AutoCAD对象模型之外的对象,因此您不会错得太多
这就是我知道的,但不知道如何让它的Vla对象提取其道具和方法。
那么DIM、组和视口等呢。。。。。。
谢谢
单击图表上的项目。
列出了模型中的每个对象。 如果我完全偏离主题,那么我道歉。但我以前也有过类似的“问题”。蒂姆·威利把我推上了TblInf32。DLL文件。您需要通过vlax导入类型库函数加载它,然后通过下载此帮助文件来查看其中的内容:http://support.microsoft.com/kb/q224331/
这样,您就可以将所有属性/方法放到一个列表中,这样您就可以将它们(比如)放在一个对话框中。这实际上是VBA中的对象浏览器本身所使用的。
在这个主题下,这是一个非常有趣的调查,调查用于公开其他对象(TlbInf32.dll)的属性和方法的工具的属性和方法。正如迈克尔在那篇文章中所说,它确实在语句的递归性中有一种美感。
页:
[1]