guangdonglbq 发表于 2021-8-28 17:02:00

aardio以com方式开发autocad的库(补充智能提示)

当前的aardio版本已含一个简单的开发库,但缺少智能提示,现予以补充。
    目前补充了智能提示功能的开发库,对写形如:acad.ActiveDocument.ActiveSpace.AddLine(StartPoint, EndPoint)这样,从acad程序到最终操作层的代码的情况,可以实现智能提示,但形如以下的代码,则未实现智能提示:
varactModel=acad.ActiveDocument.ModelSpace;
               actModel.AddLine(pt1,pt2)
   未能确认是什么原因。
   现把补充了智能提示功能的开发库及相关整理的过程资料都发出来,有兴趣的朋友可以一起升级完善相关功能。
   2021年09月23日升级完善,有需要的朋友可重新下载。


压缩包中autocad.aardio即是成果文件。2021年09月23日修改
智能提示示例


**** Hidden Message *****

jacenhe 发表于 2022-2-13 16:53:00


自动提示的代码里有些语法错误,例如 -> 只是用来转义 . 不能写到代码里。
另外智能提示变量是全局有效的,最好加上前缀避免冲突干扰,例 !Documents. 可能带来问题。
如果基于 com.cad 扩展,也可以这样写:
这样可以继承标准库所有的功能、同步更新,也可以任意修改扩展。
看了一下你代码里 GetAcCmColor 这几个函数是用不了的,
代码里不能用 -> 代替点,直接写 "AutoCAD.AcCmColor" 就可以。
而且他这个比较特别,必须加上版本号,com.cad 最新版本添加了一个 GetCadInterfaceObject 函数用于做这事。
然后 com.cad 添加了这几个函数:
测试了一下这样写就可以用了。
像 AutoCAD 这样复杂的接口,智能提示不能完全替代文档,如果把所有智能提示做起来工作量太大,建议加一些常用的就可以了。

jacenhe 发表于 2022-4-19 15:05:00


非常感谢你反馈的意见,这些反馈非常有价值。
aardio 会重视并收集类似的反馈,如果确实有很多用户需要某个功能,我们会认重考虑这些需求并在后续继续努力改进。
aardio 整个开发环境只有几 MB,
如果要在 aardio 里找其他大型开发工具的一些特性,
这确实就像在自行车里找房车里的舒适零件大概率是找不到的。
目前运行检测错误仍然是一般桌面开发工具最主要的手段,
很多时候运行也不一定知道是不是写错了,所以软件发布以后还要不断的修改 BUG。
aardio 仍然尽可能地提供了方便的智能提示、同词高亮这些功能,排除一般的编写笔误并不难:

实际上更强大的编程语言、开发环境都可以用于 aardio 开发,aardio 可以方便地调用十余种编程语言。
例如 Python肯定不缺强大的开发环境,但是 Google 一下 "Python + aardio" 可以找到很多文章分享了他们在用 aardio 编写软件界面去调用 Python 代码的愉快体验。
所以 aardio 一般不与其他开发工具对比,而是专注于更好地利用其他开发工具。

jacenhe 发表于 2022-4-19 15:18:00


确实 aardio 打不过不计其数更强大的编程语言。
正是为了摆脱匹马打天下的模式,所以我们在十几年前就开始重视在 aardio 中调用并利用其他的编程语言。
目前在 aardio 中已经可以方便地调用C语言、C++、C#、Java、Python、R、Javascript、Node.Js、Fortran、VB、Flash ActionScript、PHP、VBScript、PowerShell、NewLISP、AutoLISP、Delphi、FreeBASIC、Ruby、Rust、Julia、Nim、Go 语言、批处理 ...... 并且还在继续增加。


陨落 发表于 2021-8-29 14:56:00

同一版本打开多个cad,指定特定cad的问题解决了吗?

guangdonglbq 发表于 2021-8-29 15:44:00


我没偿试,只是有个想法:lisp调用时,想办法发送程序窗口句柄hwnd;在aardio中,通过hwnd调用autocad。不知道是否可行。

陨落 发表于 2021-8-29 21:28:00


那你可以研究一下。通过HWND是无法获取到com接口的。我尝试过通过ROT获取,但是这也是一条死路。这个问题aardio作者也回复过我,他的建议跟其他人一样:自己建立一个ROT,那就有点复杂而且不方便了。

leipengshang 发表于 2021-11-5 09:48:00

想问一下 这个智能提示,支持vba自带的函数么

guangdonglbq 发表于 2021-11-9 15:25:00


vba用的就com。

landsat99 发表于 2021-11-15 11:52:00

aardio必须赞 国产语言的先锋,铁杆支持!。
页: [1] 2
查看完整版本: aardio以com方式开发autocad的库(补充智能提示)