利用“每个”模块打开零件进行操作,重复次数等于文件夹中的文件个数

动作需求 · 1180 次浏览
夏兔子 创建于 2022-05-10 21:02

机械狗小白一枚,求助各路大神。前天偶尔刷B站看到了Quicker,果断入坑。

先介绍下背景:

经过一天的摸索,按照之前玩游戏接触过的按键精灵的原理,搞出了一个重复从三维软件导CAD图的小工具。从此以后导出图纸再也不需要人工操作了。大致逻辑是这样的,先分屏,分好之后三维软件(NX2008)和放三维软件的文件夹都固定了,通过截图识别鼠标的位置,进行操作,中间夹杂了一些键盘快捷键,一套操作下来,成功导出图纸。我是用“重复”模块做的,要导多少个图,开始的时候会有弹窗要求输入。今天做了一天的试验,对于小零件这么做没什么问题,毕竟都差不多,导出时间都接近,等待时间可以用一个。但是如果中间夹杂了复杂的零件,导出时间就会变得很长,会导致整个循环失效。

我是这么想的,是否可以创建两个文件夹(指定路径),文件夹F1放大零件,文件夹F2放小零件。大零件文件导出的等待时间是a,小零件文件导出的等待时间是b。用“每个”模块,打开F1中的文件,导出图纸,对F1中的每个文件都执行这样的操作,等待时间设置为a;同理,对F2中的文件也这样处理,等待时间设置为b。最后把两个“每个”模块组合下,合并成一个新的导图工具。我想请教各路大神,这样做是否可行?

我膜拜了wilson大神的批量重命名中的一些方法,读取了F1中的每个文件的文件名,并获得了列表。但是后面我卡住了,软件是NX2008,我不知道如何用quicker去控制这款软件去挨个打开列表里面的文件。恳求各路大神,帮忙看下,在下感激不尽,定有厚报。

 

以下是我今天鼓捣出来的第一版自动导图工具


回复内容
CL 2022-05-10 21:09
#1

可以有几种思路可以参考下。

1) 可以把导出过程封装成子程序,其中某些关键的等待时间作为子程序的参数。 这样用两个“每个”模块分别循环调用这个子程序,传入不同的等待时间参数。

2)在一些关键的步骤,看看有么什么程序可以判断状态的节点。 比如窗口的标题、某个固定的显示内容(找图)等,这样就可以用一个相同的逻辑进行处理所有的文件。 等待窗口可以参考这里的子程序:https://getquicker.net/Share/SubPrograms?tag=&filter=%E7%AD%89%E5%BE%85 

3)一些关键节点也可以用“等待窗口”、“等待按键” 等步骤来进行人工介入。

夏兔子 回复 CL 2022-05-10 21:25 :

感谢大神指点,第二点让我茅塞顿开。其实导出图纸后,软件会有提示的,可以通过找图,来进行逻辑判断。第一点我还不知道什么是子程序,回头有空在看看。鞠躬,再次感谢大神。激动不已的我,忍不住要去调试下。

回复主贴