aardio 文档

com.cad.task 库模块帮助文档

任务执行与恢复

com.cad.task 成员列表 #

CAD LISP回执与通用执行编排;增强实例和技能共享,不依赖Autos。

com.cad.task.create(code,args,doc,options,cad) #

创建但不提交任务。code 是原始 LISP 源码,不是模板/文件名;args 在 LISP 中是局部变量。
要求显式 doc、兼容 Visual LISP 和 HWND。默认 PostCommand;不自动回退 SendCommand。
失败返回 null,err。

返回对象:comCadTaskObject

com.cad.task.open(path,doc) #

重新打开回执目录,可离线 read/wait/cancel。doc 可省略,只有 submit 与 nudge 时需要。
已有提交标记的任务不能再次提交;重启 CAD 不能据此重放未知任务。

返回对象:comCadTaskObject

com.cad.task.resume(taskPath,timeout,doc) #

打开原回执并等待,统一结果路径与耗时;可离线。返回result,err,task,不提交或覆盖nudge选项。

com.cad.task.run(code,args,doc,options,cad) #

创建并调用runTask;通常使用cad.RunLisp。可选cad传入已固定的增强实例以选择产品默认值。返回result,err,task。

com.cad.task.runTask(task,doc,options) #

执行已创建任务:先保存journal,再唯一submit并wait;共享于LISP/C#。返回result,err,task。journal失败不提交;idleTimeout默认3000,0不额外等待。

comCadTaskObject 成员列表 #

comCadTaskObject.cancel() #

写入执行前取消请求;只有cancelled回执确认接受。不会中断已开始的程序,也不发送Esc;不是回滚。

comCadTaskObject.id #

唯一请求 ID;不要另建 ID 重试未知的写操作。

comCadTaskObject.nudge() #

显式向原doc发送同步SendCommand("(princ)"),只刷新队列,不重发源码。
要求post任务仍submitted、原文档名称及HWND匹配且活动、CAD空闲;已有nudged标记不再刷新。
可驱动实例中其他排队命令;可能阻塞到队列执行完,wait超时不能中断。成功true并记录标记,无需操作false,失败null,err。不激活/取消/回滚。

comCadTaskObject.path #

回执目录;应保存此路径,以便跨会话继续查询。默认不会自动删除。

comCadTaskObject.read() #

不访问CAD,只读当前快照;失败null,err。terminal=true才有终态回执,ok=true仅表示completed,仍须业务验收。
nudged=true表示曾同步发送空操作刷新队列,不表示任务完成。

comCadTaskObject.submit(doc) #

唯一提交认领;成功true,失败null,err。已识别COM拒绝在认领内有限重试,其他异常不重发。
已有提交标记会拦截再次submit,重开任务需显式原doc。method=send可能在COM调用内阻塞,wait无法中断。

comCadTaskObject.target #

创建时固定的文档 name、documentHwnd 和 CAD 主窗口 hwnd 快照。

comCadTaskObject.wait(timeout) #

等待回执,默认options.timeout(10000毫秒),0只查询。返回result,err。
错误有parse/execute/serialize阶段;超时是state=timeout/terminal=false快照,不取消、不重发。
默认不访问COM。创建时显式nudge=true且持有原doc,才可在submitted超过nudgeDelay(默认800毫秒,0有效)后尝试一次同步刷新。此COM调用可能阻塞且超出timeout。

Markdown 格式