使用脚本转换样式
你好我有一些绘图需要运行CONVERTPSTYLES才能使用打印样式。ctb文件。否则显示缺失。
因此,我在下面创建了一个脚本(顺便说一句,这是我有史以来的第一个脚本)。
CONVERTPSTYLES
QSAVE
QUIT
如果文件夹中的所有文件都存在缺少打印样式的问题,则该脚本运行良好。如果任何一个文件没有此问题,则脚本停止。我注意到CONVERTPSTYLES有两个不同的响应,如果文件没有任何问题,那么它会弹出不同的窗口,导致脚本停止。
第一个图像是正常的弹出窗口,一旦确定。命令关闭有问题的文件(工作正常)。
第二个图像是当文件没有问题时查找某些文件的额外弹出窗口。
有什么建议吗
嗨,shailujp,
首先,我将参考AutoCAD帮助:
图形可以使用命名打印样式或颜色相关打印样式,但不能同时使用两者。
CONVERTPSTYLES将当前打开的图形从颜色相关打印样式转换为命名打印样式,或从命名打印样式转换为颜色相关打印样式,具体取决于图形当前使用的打印样式方法。
转换图形时,CONVERTPSTYLES将PSTYLEMODE系统变量设置为适当的设置(0=命名,1=颜色相关)。
例如,使用颜色相关打印样式的图形按颜色为对象和图层指定打印特性。换句话说,具有相同颜色的所有对象具有相同的打印特性。CONVERTPSTYLES将图形转换为使用命名打印样式,该样式可以应用于与颜色指定无关的对象或图层。换句话说,具有相同颜色的所有对象可以具有不同的打印特性。
脚本文件不是根据条件生成的。你不能写一个脚本来检查一条线是否是蓝色的,然后把它变成红色。
不管发生什么,脚本都会变成红色。
但是如果你写一个lispfile,你可以设置条件。
以下代码检查系统变量PSTYLEMODE是否为0(命名打印样式),如果为0,则运行命令CONVERTPSTYLES,否则不运行。
(if (= (getvar "PSTYLEMODE") 0)
(command "convertpstyles")
)
(command "_.qsave")
如果您想从脚本文件加载lispfile,那么可以在脚本文件中这样编写。
(load "c:\\temp\\lispfile.lsp")
也许可以消除问题的根源,而不是像这样修复它,但我不太擅长使用ctb和stb文件。 谢谢你,里普兹。
你的建议对我有效。现在,当我运行这个脚本时,它运行得很平稳,没有停止。
今天我又学到了一件关于lisp的事情。我的印象是LISP文件必须包含DEFUN,但我错了。
但在批处理文件中有一个问题。目前,我正在为批处理文件使用以下代码。我复制所有文件以转换到此文件夹并运行该实用程序。是否可以选择文件夹,这样我就不会将图纸复制/粘贴到此文件夹?或者我应该每次更改批处理中的文件夹名称吗?只是想知道别人是怎么做的?
还有,如何添加多个文件夹,这样我就可以在五个不同的文件夹上运行。
如果可能的话,有人能描述一下批次代码下面列出的功能吗。
FOR %%V IN (C:\Myfolder\*.dwg) DO start "T" /w "C:\Program Files\AutoCAD 2008\acad.exe" %%V /b "FIXPSTYLE.scr"
我在一些网站上做了一些基本的阅读,但找不到START,“T”和/W代表什么。有线索吗? 大家好。
对不起,我没有看到代码,。
你能寄给我吗。。。或者直接使用lisp文件。
谢谢 为什么不呢?
(if (= (getvar "PSTYLEMODE") 0)
(setvar "Pstylesmode" 1)
)
您可以使用Lee mac scriptwriter并从Autocad内部运行它,也可以在lisp FINDFILE中使用并编写脚本,这样目录就不会硬编码。
我我会用
命令
cd\myfolder
目录*。图纸>目录/b
在word use Replace中打开目录列表,脚本完成。
打开dwg1 z e(if(=(getvar“PSTYLEMODE”)0)(setvar“Pstylesmode”1))qsave
打开dwg2 z e(如果(=(getvar“PSTYLEMODE”)0)(setvar“Pstylesmode”1))qsave
打开dwg3 z e(if(=(getvar“PSTYLEMODE”)0)(setvar“Pstylesmode”1))qsave 非常感谢BIGAL!
页:
[1]