明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1998|回复: 13

[提问] 问一个简单的问题:为什么vla-*函数没有帮助文档?

[复制链接]
发表于 2022-8-6 09:14:38 | 显示全部楼层 |阅读模式
如题,无论是Autodesk官方开发文档,还是其他社区(比如明经社区),都找不到vla-*函数的帮助文档?

经常看到各种源码里有vla-*函数,但是始终找不到帮助文档。

普通的AutoLisp函数和vl-*、vlax-*、vlr-*函数都有,为什么就是找不到vla-*函数的?
发表于 2022-8-6 09:34:51 | 显示全部楼层
问一个简单的问题:为什么别人找得到你找不到?

本帖子中包含更多资源

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

x
回复 支持 1 反对 0

使用道具 举报

发表于 2022-8-6 10:46:33 | 显示全部楼层
本帖最后由 llsheng_73 于 2022-8-6 11:04 编辑

vla-基本就是vba模型下所有对象的属性或方法的使用,其实不需要记住那么多vla-,只需要会查所使用对象的属性或方法,那么,vlax-几大神器基本可以解决一切
vlax-dump-Object 查询对象所具有的属性或方法,一般情况不同对象的属性是不一样的,支持的方法也不相同,比如直线有长度属性,而一个文字显然没有长度,但它有文本内容。。。比如可以对一个圆进行偏移,显然没法对文字也进行偏移
vlax-property-available-p检查对象是否具备某个属性,对于不确定或不太熟悉的对象的某个特性可以用它检查
vlax-method-applicable-p检查对象能否用某个方法来处理,比如能不能对一个圆设置凸度
要使用对象,必须先对它的属性、方法有足够的了解,前边几个可以帮助我们知道一个或一类对象的属性和方法,但实际上还不够,因为还不知道使用它们需要的参数,这个一般情况可以通过vba模型去查它的属性、方法及相关的说明和示例
对要使用的对象的属性和方法足够了解后,怎么使用它就简单了,只需要三个函数就够了
vlax-get-property获取对象指定属性的值
vlax-put-property修改对象指定属性的值
vlax-invoke-method执行对象的某个方法
对于这三个函数的使用,前两个对使用者要求不太高,就算不清楚对象的属性,可以用前边说的vlax-dump-Object和vlax-property-available-p来查,查到有什么属性就可以用,不知道怎么vlax-put-property那么可以先vlax-get-property来看,就这么简单
但vlax-invoke-method没这么简单,虽然vlax-dump-Object和vlax-method-applicable-p可以查出对象的方法,但对于方法的调用,通常需要一些参数,通过vlax-dump-Object只能查到某个方法需要的参数个数,但每个参数是什么,这里已经查不到了,所以还是无法使用它的方法,这就需要再到帮助的对象模型下边,去查指定对象的特定方法的说明及示例


回复 支持 3 反对 0

使用道具 举报

发表于 2022-8-11 20:35:42 | 显示全部楼层
先了解面向对象编程思想。
(vla-get-属性   对象)
(vla-put-属性    对象   值)
(vla-方法  对象  参数1 参数2 ...)

了解了上面三个表达式,查 CAD帮助中的 ActiveX 参数手册 套用就可以了。

回复 支持 2 反对 0

使用道具 举报

发表于 2022-8-6 16:30:39 | 显示全部楼层
不妨到这里看看,几乎全了。

https://www.highflybird.cn/autolisp.html

评分

参与人数 1明经币 +1 收起 理由
muwind + 1 神马都是浮云

查看全部评分

回复 支持 2 反对 0

使用道具 举报

 楼主| 发表于 2022-8-6 09:38:30 | 显示全部楼层
菜卷鱼 发表于 2022-8-6 09:34
问一个简单的问题:为什么别人找得到你找不到?

:D感谢!
确实没找到,但是也知道这是个弱智问题,所以特地加了一个定语。
再次感谢!
 楼主| 发表于 2022-8-6 09:55:27 | 显示全部楼层
菜卷鱼 发表于 2022-8-6 09:34
问一个简单的问题:为什么别人找得到你找不到?

这个帮助文档里,只有vla-get-*、vla-put-*函数,其他的vla-*函数去哪里找?
发表于 2022-8-6 10:09:28 | 显示全部楼层
ThinkerHua 发表于 2022-8-6 09:55
这个帮助文档里,只有vla-get-*、vla-put-*函数,其他的vla-*函数去哪里找?

https://help.autodesk.com/view/O ... 2-A254-FB57BAB01C44
 楼主| 发表于 2022-8-6 11:18:34 | 显示全部楼层
llsheng_73 发表于 2022-8-6 10:46
vla-基本就是vba模型下所有对象的属性或方法的使用,其实不需要记住那么多vla-,只需要会查所使用对象的属性 ...

感谢耐心指教!
发表于 2022-8-6 19:36:23 | 显示全部楼层
highflybird 发表于 2022-8-6 16:30
不妨到这里看看,几乎全了。

https://www.highflybird.cn/autolisp.html

感谢分享
 楼主| 发表于 2022-8-7 22:04:10 | 显示全部楼层
highflybird 发表于 2022-8-6 16:30
不妨到这里看看,几乎全了。

https://www.highflybird.cn/autolisp.html

Nice!非常感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 15:56 , Processed in 0.194058 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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