明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 858|回复: 10

[讨论] 这里怎么写才能正确打开cad呢?

[复制链接]
发表于 2024-6-22 10:21:18 | 显示全部楼层 |阅读模式
请教一下前辈们,这里怎么写才对?有哪里有Aardio开发CAD的基础教程呢?

本帖子中包含更多资源

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

x
发表于 2024-6-22 10:52:11 | 显示全部楼层
只能搞com,那是没有好结果的
 楼主| 发表于 2024-6-22 11:27:54 | 显示全部楼层
你有种再说一遍 发表于 2024-6-22 10:52
只能搞com,那是没有好结果的

也只能com,想着写界面走捷径.
发表于 2024-6-22 14:47:15 来自手机 | 显示全部楼层
228378553  2024-6-22 11:27
也只能com,想着写界面走捷径.

学c#啊,WPF那么多东西学,winform也很快啊
 楼主| 发表于 2024-6-22 15:08:56 | 显示全部楼层
你有种再说一遍 发表于 2024-6-22 14:47
学c#啊,WPF那么多东西学,winform也很快啊

看来确实得学C#了,听说更容易上手
发表于 2024-6-22 15:22:50 | 显示全部楼层
228378553 发表于 2024-6-22 15:08
看来确实得学C#了,听说更容易上手

关键是有ifox类库啊,前人写了那么多东西,你直接调用就好了
 楼主| 发表于 2024-6-22 15:29:16 | 显示全部楼层
你有种再说一遍 发表于 2024-6-22 15:22
关键是有ifox类库啊,前人写了那么多东西,你直接调用就好了

从hello world开始了
发表于 2024-6-26 09:58:27 | 显示全部楼层
本帖最后由 guangdonglbq 于 2024-6-26 10:48 编辑

1.运行范例前,需要先在ide里打开一个aardio项目
2.还不行,再检查安装了什么cad,是否是正常安装。
用了几年aardio做autocad的开发,还是比较方便的。
选择技术,建议以适合自己为依据。
发表于 2024-6-27 08:59:32 | 显示全部楼层
本帖最后由 jacenhe 于 2024-6-27 09:23 编辑

1、COM 是很强大的技术,没有完美的东西,但凡事应多利用优点。

例如 WebView2 就是可以通过 COM 接口实现浏览器控件的跨进程通信,因此拥有卓越的性能与方便的开发接口。

很多时候技术没有优劣,怎么去使用才是最重要的。

2、为什么不能创建 COM 接口。

正常不会出现这种问题。

如果创建 COM 接口失败,检查一下是否没有正确安装 AutoCAD,或者使用了绿色阉割版。

3、哪里有 aardio 开发 AutoCAD 的教程。

aardio + AutoLISP 快速入门 (qq.com)

aardio 自带了很多调用 AutoCAD 的范例。

4、能调用 COM 不等于只能 COM。

不使用 COM 接口,混写 LISP 与 aardio 代码的示例。

  1. import process;
  2. import com.cad;

  3. for hwnd in process.eachWindow( "@acad.exe" ) {  
  4.      
  5.     com.cad.sendCopyData(hwnd,`(print '<?={
  6.         {
  7.             {car=12,cdr=23},//LISP 点对
  8.             {1,2,3,path},//LISP 列表
  9.             {name="Tom",age=23},//LISP 关联列表
  10.             "来自 aardio  代码的字符串",
  11.             123,
  12.             false,
  13.             true
  14.         }  
  15.     }?>)`)
  16. }


5、其实很简单,以实现多文件对话框为例。

在工程向导界面点选『窗口程序 / ActiveX EXE 』。

发布生成 EXE 文件,双击 EXE 注册控件(或调用 /r 命令行参数静默注册)。

然后在 AutoLISP 里就可以直接调用 aardio 编写的函数了( aardio 会自动生成下面的 AutoLISP 代码)。

  1. (defun GetFiles (filter title / obj files)
  2.   (setq obj (vlax-get-or-create-object "aardioTestControl.Sample"))
  3.   
  4.   (setq hwndOwner (itoa(vla-get-hwnd(vlax-get-acad-object))))
  5.   (setq files (vlax-invoke obj 'GetFiles filter title hwndOwner))
  6.    
  7.   (vlax-release-object obj)  

  8.   files
  9. )

 楼主| 发表于 2024-6-27 10:11:24 | 显示全部楼层
guangdonglbq 发表于 2024-6-26 09:58
1.运行范例前,需要先在ide里打开一个aardio项目
2.还不行,再检查安装了什么cad,是否是正常安装。
用了 ...

谢谢前辈,我再试试去
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 14:48 , Processed in 0.214723 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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