明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: pxt2001

[提问] 如何判断是否在运行Lisp命令

[复制链接]
发表于 2025-8-1 15:01:07 | 显示全部楼层
没法子判断, 我也发现某些命令是异步的, 还没执行就结束, 都没法判断是否执行完毕
回复 支持 反对

使用道具 举报

发表于 2025-8-1 16:18:04 | 显示全部楼层
单线程面向过程的程序,怎么可能存在异步?除非是调用了外部程序,外部程序异步且驻留内存。
CAD命令也不应该有异步,除了透明命令,不可能同时执行两个命令。真那样了,同时修改DWG数据,岂不很容易让DWG崩溃?
回复 支持 反对

使用道具 举报

发表于 2025-8-1 16:36:40 | 显示全部楼层
本帖最后由 你有种再说一遍 于 2025-8-1 17:15 编辑
22693766 发表于 2025-8-1 15:01
没法子判断, 我也发现某些命令是异步的, 还没执行就结束, 都没法判断是否执行完毕

哪有命令是异步,顶多只是打印和发送异步命令是异步.
命令应该是不会不执行的啊,
不然看看是否执行 命令触发前事件,命令触发后事件.
还是说你没有\n\r.
回复 支持 反对

使用道具 举报

发表于 2025-8-1 16:50:33 | 显示全部楼层
本帖最后由 你有种再说一遍 于 2025-8-1 18:30 编辑

这个事情还真的要在ARX或者C#上面干才行,
因为lisp判断lisp是否执行是必然执行.

其实官方可以做一个事件空穴,
也就是技术上面没有什么难度,毕竟事件是一层抽象,
可能还是因为嫌麻烦所以没做.

以下是ARX的lisp表达式执行触发的事件(反应器)
https://help.autodesk.com/view/O ... ispWillStart_ACHAR_


延伸一下:
判断ARX是否触发执行?
这样就需要通过软件分层实现,让ARX有专属的域内.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-8-20 17:09 , Processed in 0.155902 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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