level 1
win10以前,可以不用管版本号用
Set acadapp = GetObject(, "Autocad.Application")就能控制CAD进而操作
但现在win10的机器上用VB这语句不行了。一定要加上版本号
Set acadapp = GetObject(, "Autocad.Application.18")
所以问题是,我软件给别人用,怎么事先检测出他的机器上的CAD版本号?
当然折衷方法还是有的,就是在界面上让用户自己选择好CAD版本,但最好是自动检测出用户装的CAD版本
2018年04月27日 12点04分
1
level 1
可以尝试以管理员权限运行一次CAD,然后正常关闭。再进行后续操作。
我在Win10下使用是正常的,可能是你的系统哪里要改一下设置,什么UAC的。
就是运行权限问题
使用的vb估计是网上改版的吧,改版的VB强调了必须以管理员权限运行。
(VS也一样要求以管理员权限运行才行)
这时候,你的AUTOCAD软件也要以管理员权限打开,才能在调试时连接上。
编译成exe后,保证你的exe和AutoCAD运行权限一致,就可以正常使用。
2022年10月15日 06点10分
5
level 9
cad有com对象id与版本对应表,遍历创建对象,检查返回值不就行了,并且可以检测安装的所有版本,我的程序就这个方法
2022年10月17日 08点10分
6
是对象类名,不是id ,说错了
2022年10月17日 08点10分
level 6
getobject在win10里面要打个注册表补丁,估计就正常了
2022年10月17日 10点10分
7