乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 56|回复: 6

[编程交流] 使用脚本转换样式

[复制链接]

24

主题

147

帖子

123

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
120
发表于 2022-7-5 17:14:49 | 显示全部楼层 |阅读模式
你好
 
我有一些绘图需要运行CONVERTPSTYLES才能使用打印样式。ctb文件。否则显示缺失。
 
因此,我在下面创建了一个脚本(顺便说一句,这是我有史以来的第一个脚本)。
 
  1. CONVERTPSTYLES
  2. QSAVE
  3. QUIT

 
如果文件夹中的所有文件都存在缺少打印样式的问题,则该脚本运行良好。如果任何一个文件没有此问题,则脚本停止。我注意到CONVERTPSTYLES有两个不同的响应,如果文件没有任何问题,那么它会弹出不同的窗口,导致脚本停止。
 
第一个图像是正常的弹出窗口,一旦确定。命令关闭有问题的文件(工作正常)。
 
第二个图像是当文件没有问题时查找某些文件的额外弹出窗口。
 
有什么建议吗
181455ujp7k8ajnxr7ph7f.png
181456m105u0h38tzwk3u5.png
回复

使用道具 举报

13

主题

36

帖子

23

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2022-7-5 17:33:20 | 显示全部楼层
嗨,shailujp,
 
首先,我将参考AutoCAD帮助:
图形可以使用命名打印样式或颜色相关打印样式,但不能同时使用两者。
CONVERTPSTYLES将当前打开的图形从颜色相关打印样式转换为命名打印样式,或从命名打印样式转换为颜色相关打印样式,具体取决于图形当前使用的打印样式方法。
转换图形时,CONVERTPSTYLES将PSTYLEMODE系统变量设置为适当的设置(0=命名,1=颜色相关)。
例如,使用颜色相关打印样式的图形按颜色为对象和图层指定打印特性。换句话说,具有相同颜色的所有对象具有相同的打印特性。CONVERTPSTYLES将图形转换为使用命名打印样式,该样式可以应用于与颜色指定无关的对象或图层。换句话说,具有相同颜色的所有对象可以具有不同的打印特性。
 
脚本文件不是根据条件生成的。你不能写一个脚本来检查一条线是否是蓝色的,然后把它变成红色。
不管发生什么,脚本都会变成红色。
 
但是如果你写一个lispfile,你可以设置条件。
 
以下代码检查系统变量PSTYLEMODE是否为0(命名打印样式),如果为0,则运行命令CONVERTPSTYLES,否则不运行。
  1. (if (= (getvar "PSTYLEMODE") 0)
  2. (command "convertpstyles")
  3. )
  4. (command "_.qsave")

 
 
如果您想从脚本文件加载lispfile,那么可以在脚本文件中这样编写。
  1. (load "c:\\temp\\lispfile.lsp")

 
也许可以消除问题的根源,而不是像这样修复它,但我不太擅长使用ctb和stb文件。
回复

使用道具 举报

24

主题

147

帖子

123

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
120
发表于 2022-7-5 17:44:04 | 显示全部楼层
谢谢你,里普兹。
 
你的建议对我有效。现在,当我运行这个脚本时,它运行得很平稳,没有停止。
 
今天我又学到了一件关于lisp的事情。我的印象是LISP文件必须包含DEFUN,但我错了。
 
但在批处理文件中有一个问题。目前,我正在为批处理文件使用以下代码。我复制所有文件以转换到此文件夹并运行该实用程序。是否可以选择文件夹,这样我就不会将图纸复制/粘贴到此文件夹?或者我应该每次更改批处理中的文件夹名称吗?只是想知道别人是怎么做的?
 
还有,如何添加多个文件夹,这样我就可以在五个不同的文件夹上运行。
 
如果可能的话,有人能描述一下批次代码下面列出的功能吗。
 
  1. FOR %%V IN (C:\Myfolder\*.dwg) DO start "T" /w "C:\Program Files\AutoCAD 2008\acad.exe" %%V /b "FIXPSTYLE.scr"
回复

使用道具 举报

24

主题

147

帖子

123

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
120
发表于 2022-7-5 17:54:30 | 显示全部楼层
我在一些网站上做了一些基本的阅读,但找不到START,“T”和/W代表什么。有线索吗?
回复

使用道具 举报

0

主题

2

帖子

2

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-5 17:55:23 | 显示全部楼层
大家好。
 
对不起,我没有看到代码,。
你能寄给我吗。。。或者直接使用lisp文件。
 
谢谢
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 18:07:11 | 显示全部楼层
为什么不呢?
  1. (if (= (getvar "PSTYLEMODE") 0)
  2. (setvar "Pstylesmode" 1)
  3. )

 
您可以使用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
回复

使用道具 举报

0

主题

2

帖子

2

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-5 18:18:09 | 显示全部楼层
非常感谢BIGAL!
 
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-8-24 09:50 , Processed in 0.511398 second(s), 70 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表