AutoCAD VBA开发遇到的坑(一)

为什么用AutoCAD VBA

很多人说VBA是老古董,新手上路CAD二次开发都是推荐C#。我的情况是这样的:我工作的内网机,无法联网。(你能想象装一个vs要下载离线安装包拷到内网的痛苦吗,同理vscode)绘图常用的辅助工具是excel。vba属于开箱即用,能无缝衔接excel的工具(excel自带,高版本cad不自带,但拷一个百来M的vba安装文件也不大)。缺点,我认为一个是自带的vba的IDE太垃圾了,另一个是cad向vba开放的api接口太少了,甚至不如visual lisp,譬如vba缺乏graphic相关api,无法做JIG的相关开发。

AutoCAD VBA开发遇到的坑

边学VBA用VBA写了一个几百行的小程序,遇到不少坑,想到哪写到哪,也是自己心得体会的一个总结:

  1. 在网上搜索一些语法时,经常混淆vb和vba,vba时子集,很多vb的功能没有,建议查看Excel相关vba知识或者Microsoft Learn的VBA或者vba编辑器帮助菜单里的vba文档;
  2. Variant。variant是万用数据类型,AutoCAD暴露的相关api大都是用variant传递的。我的建议是variant一把梭(函数的参数和返回值都variant),利用vartype函数来做判断。只要你写了几个自定义function或者sub就能体会到这点。
  3. 数据类型的隐式转换。vba是弱类型语言,各个数据类型之间会隐式转换,这是个坑点,多打断点,利用debug.assert
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值