adc111 发表于 2022-7-7 00:05:12

多张图纸的处理

我正在运行一个脚本来处理许多图形,该脚本在第一个图形之后结束。我已经找到了这个问题,但不知道如何解决它:
(c:test1“10.DWG”)\u2。打开“10.DWG”(c:test2)\u。qsave _。关
(c:test1“11.DWG”)\u2。打开“11.DWG”(c:test2)_。qsave _。关
...
 
问题似乎是在加载并关闭初始图形后,试图发出除“打开”以外的任何命令。如果我从第一行之后的所有行中删除“(c:test1)”,那么它可以正常工作。test1的细节并不重要,我尝试使用内置的AutoCAD命令来代替,同样的问题也发生了。
 
这就好像AutoCAD不会再处理任何脚本命令,除非在关闭前一个图形后立即打开另一个图形,否则脚本会关闭最后一个图形,并且没有更多打开的图形可对其执行命令。但事实并非如此,图1。dwg始终保持打开状态。
 
自绘图1起。dwg始终保持打开状态,我想如果我可以找到一个命令来“激活”或再次将其设置为“当前”,那么也许我可以在打开下一个图形之前发出test1命令,例如:
 
激活“Drawing.dwg”(c:test1“11.dwg”)\u。打开“11.DWG”(c:test2)_。qsave _。关
 
然而,我已经研究过了,没有找到任何这样的“激活”命令。
仅供参考-我需要在打开图形之前对文件名运行test1函数。
 
如果您有任何关于如何解决此问题的想法,我们将不胜感激。谢谢

BIGAL 发表于 2022-7-7 00:24:30

当您打开另一个dwg时,您现在将控制权转移到该dwg,以便在该dwg上运行任何新程序并忽略以前的dwg,如果您想在该dwg中执行某些操作并将其放入下一个dwg,则需要将其更改回drawing1。C:test1和Test2在做什么?

adc111 发表于 2022-7-7 00:35:08

谢谢你的回复。因此,我希望有一种方法,有人可以帮助您在关闭绘图后将控制权转移回Drawing1。Test1正在使用文件名对远程数据库进行一些处理,因此它只需要图形文件名,不需要打开图形。Test2正在图形上执行标准操作(打开/关闭图层等)。函数的细节似乎无关紧要,如果我删除test2并用一些标准AutoCAD命令替换test1,同样的问题也会发生。

MSasu 发表于 2022-7-7 00:43:57

然后分两个步骤进行处理如何:(1)在空图形中运行脚本以执行所述数据库验证;(2)在整个束上运行处理脚本之后?

adc111 发表于 2022-7-7 00:49:45

我已经考虑过了,这是我的计划B,但如果可能的话,最好是一步完成,这样每个绘图都可以发送到不同的业务流程,而不必等待第一步,这将需要很长时间(数千个绘图)。如果这只是一个简单的命令问题,我需要插入(或什么)来将控制转移到Drawing1。那我就走那条路。
谢谢

miff 发表于 2022-7-7 01:04:59

有什么理由不使用scriptpro或autoscript吗?

dbroada 发表于 2022-7-7 01:09:31

没有阅读你所做的一切,我在SDI模式下运行我的脚本,并以
qsave
open <drawing name>
页: [1]
查看完整版本: 多张图纸的处理