明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: guangdonglbq

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

[复制链接]
发表于 2021-11-16 08:52 来自手机 | 显示全部楼层
给各种语言 app,UI界面和数据传递接口。可能是aardio的亮点目前
发表于 2022-2-13 16:53 | 显示全部楼层
本帖最后由 jacenhe 于 2022-2-13 16:55 编辑

自动提示的代码里有些语法错误,例如 -> 只是用来转义 . 不能写到代码里。
另外智能提示变量是全局有效的,最好加上前缀避免冲突干扰,例 !Documents. 可能带来问题。

如果基于 com.cad 扩展,也可以这样写:
import com.cad;

class com.cad2{
   
ctor(...){
        
this = ..com.cad(...)
    };
}

这样可以继承标准库所有的功能、同步更新,也可以任意修改扩展。

看了一下你代码里 GetAcCmColor 这几个函数是用不了的,
代码里不能用 -> 代替点,直接写 "AutoCAD.AcCmColor" 就可以。
而且他这个比较特别,必须加上版本号,com.cad 最新版本添加了一个 GetCadInterfaceObject 函数用于做这事。

然后 com.cad 添加了这几个函数:
namespace com;

class cad{

   
//.....其他代码省略
   
    GetLayerStateManager =
lambda() this.GetCadInterfaceObject("AutoCAD.AcadLayerStateManager");
    GetAcCmColor =
lambda( ) this.GetCadInterfaceObject("AutoCAD.AcCmColor");
    GetSecurityParams =
lambda() this.GetCadInterfaceObject("AutoCAD.SecurityParams");
}

测试了一下这样写就可以用了。

像 AutoCAD 这样复杂的接口,智能提示不能完全替代文档,如果把所有智能提示做起来工作量太大,建议加一些常用的就可以了。

 楼主| 发表于 2022-2-13 17:30 | 显示全部楼层
jacenhe 发表于 2022-2-13 16:53
自动提示的代码里有些语法错误,例如 -> 只是用来转义 . 不能写到代码里。
另外智能提示变量是全局有效的 ...

理解,谢谢。现在的私库已经作了一些修改,加了一些功能性的东西,并已用到开发中。后续有空继续修改,然后发上来。
发表于 2022-4-18 07:07 | 显示全部楼层
aardio写代码过程中没有错误提示,写错了都不知道,只有运行结束了才会有错误提示,不太好啊。
 楼主| 发表于 2022-4-19 10:12 | 显示全部楼层
    运行过程中出错就会提示。看看aardio的调试范例。
   写代码的过程就能提示出错的,要看ide吧。没感觉有多少ide有这个功能——也许是我孤陋寡闻了。
发表于 2022-4-19 15:05 | 显示全部楼层
烟盒迷唇 发表于 2022-4-18 07:07
aardio写代码过程中没有错误提示,写错了都不知道,只有运行结束了才会有错误提示,不太好啊。

非常感谢你反馈的意见,这些反馈非常有价值。
aardio 会重视并收集类似的反馈,如果确实有很多用户需要某个功能,我们会认重考虑这些需求并在后续继续努力改进。

aardio 整个开发环境只有几 MB,
如果要在 aardio 里找其他大型开发工具的一些特性,
这确实就像在自行车里找房车里的舒适零件大概率是找不到的。

目前运行检测错误仍然是一般桌面开发工具最主要的手段,
很多时候运行也不一定知道是不是写错了,所以软件发布以后还要不断的修改 BUG。

aardio 仍然尽可能地提供了方便的智能提示、同词高亮这些功能,排除一般的编写笔误并不难:



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

所以 aardio 一般不与其他开发工具对比,而是专注于更好地利用其他开发工具。




本帖子中包含更多资源

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

x
发表于 2022-4-19 15:18 | 显示全部楼层
landsat99 发表于 2021-11-15 12:00
aardio很好 很有特点,也希望能早日摆脱匹马打天下的模式

确实 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 语言、批处理 ...... 并且还在继续增加。




本帖子中包含更多资源

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

x
发表于 2022-4-22 09:46 | 显示全部楼层
jacenhe 发表于 2022-4-19 15:18
确实 aardio 打不过不计其数更强大的编程语言。
正是为了摆脱匹马打天下的模式,所以我们在十几年前就开 ...

独立开发工具的一种坚持!  国产工具的骄傲。大赞!
发表于 2022-6-3 18:33 | 显示全部楼层
想问下,这个怎么在VS 中使用?
 楼主| 发表于 2022-6-5 12:17 | 显示全部楼层
yunle51 发表于 2022-6-3 18:33
想问下,这个怎么在VS 中使用?

vs太大,没研究。用来写aardio代码,应该没有用官方ide方便。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-8 14:54 , Processed in 0.234748 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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