EDA365电子论坛网

标题: 如何编写界面宏 [打印本页]

作者: 梦话王子    时间: 2023-4-17 14:28
标题: 如何编写界面宏
从论坛上下载的不少skill都有类似这样的函数    drlcomm = sprintf(nil   "setwindow pcb;
                                                         ncdrill legend;
                                                         setwindow form.nc_drilllegend;
                                                         FORM nc_drilllegend done;  
                                                         close;
                                                         setwindow pcb")

    axlShell(drlcomm)

可以看到这一段代码实际上就是操作界面上的放置钻孔表这个操作。那么请问类似的操作界面的代码如何编写,有哪些学习的途径。比如我想打开菜单中的Tools选项,并选择Database Check选项,在DBDoctor界面中的三个checkbox选择都选中,然后点击Check按钮等等这一系列的操作如何用skill来实现?


作者: db-_-    时间: 2023-4-17 14:32
录制宏,然后用记事本打开,你就知道咋弄的了
作者: 梦话王子    时间: 2023-4-17 14:35
db-_- 发表于 2023-4-17 14:32
录制宏,然后用记事本打开,你就知道咋弄的了

多谢,多谢,我试试

作者: 梦话王子    时间: 2023-4-18 17:11
db-_- 发表于 2023-4-17 14:32
录制宏,然后用记事本打开,你就知道咋弄的了

你好,我录制了宏之后,编写了如下的代码
        ;进行数据库检查
        dbCheck = sprintf(nil   "setwindow pcb;
                                                    dbdoctor;
                                                        setwindow form.dbdoctor_allegro;
                                                        FORM dbdoctor_allegro drc YES;
                                                        FORM dbdoctor_allegro shapes YES;
                                                        FORM dbdoctor_allegro xnets YES;
                                                        FORM dbdoctor_allegro execute;
                                                        FORM dbdoctor_allegro close;   
                                                        setwindow pcb")
        axlShell(dbCheck)


执行dbCheck之后,只是弹出了dbdoctor对话框,三个checkbox也没有选中,检查更没有执行。可以请教一下这个是为什么吗?

作者: db-_-    时间: 2023-4-20 09:45
梦话王子 发表于 2023-4-18 17:11
你好,我录制了宏之后,编写了如下的代码
        ;进行数据库检查
        dbCheck = sprintf(nil   "setwind ...

cmdResigter改为general试试

作者: Liu9611    时间: 2023-4-26 16:41
axlcmdregister("command" 'test ?cmdtype "general" ?donecmd 'testdone ?cancelcmd 'testcancel)
command换成你的执行命令
test换成你的执行函数




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2