Phil Shanks 发表于 2022-7-6 23:29:48

脚本问题

我是新的脚本编写,并试图使一个将取代标题栏在几百个文件。我的c:drive(c:\bctest)上的一个名为bctest的文件夹中有所有文件和DWG。我将在下面列出一个示例。
 
a、 102.0.01。图纸
a、 103.1.07。图纸
a、 104.1.01。图纸

kbi P&idTblk。图纸
bctest\u更新。球棒
bctest\u更新。lsp
bctest\u更新。可控硅
 
脚本文件
 
插入“kbi P&IDTblk”=c:\bctest\A*Y^c^c
0,0 1 1 0
删除L
(加载“c:\\bctest\\bctest\u update.lsp”)
bctest\u更新
退出
Y
 
lisp文件
 
(defun c:bctest\u更新(/dn pa panbdn)
(setq dn(getvar“dwgname”))
(setq pa(getvar“dwgprefix”))
(setq panbdn(strcat pa“new \”dn))
(命令“save”panbdn)
)
 
批处理文件
 
md c:\bctest\new
对于(c:\bctest\A*.dwg)中的%%f,请启动/等待c:\“program files”\“autodesk”\“Autocad 2015”\acad。exe“%%f”/b c:\bctest\bctest\u更新。可控硅
 
 
当我启动bat文件时,它会创建一个名为new的文件夹,打开acad,然后找不到任何文件。
 
我附上了出现错误的快照。
 
我对这一切都是陌生的。所以任何帮助都会很好
谢谢你的帮助。

YZ 发表于 2022-7-6 23:55:28

大家好,欢迎来到论坛。通常你会得到比这更快的回复,尽管论坛的脚本部分有时会被遗忘。
 
我为你努力实现自动化而喝彩!
 
我们可以从这个过程中去掉几个部分来进行故障排除吗?
 
首先,如果在打开的dwg上手动运行脚本,该脚本是否有效?
 
接下来,可以在不创建另一个名为“New”的文件夹的测试区域中运行批处理文件吗?只需在同一个文件夹中输入和输出即可。
 
看看结果如何,希望我们能缩小误差范围。

Phil Shanks 发表于 2022-7-7 00:00:07

脚本无法手动工作。
 
我是否只删除批次的这一部分?md c:\bctest\new
然后运行它?
 
谢谢YZ

BIGAL 发表于 2022-7-7 00:27:23

我将以一种可以简单阅读的形式编写脚本,然后通过lisp执行更改,您可以添加代码来表示acaddoc。lsp以这种方式自动加载,并可用于每次加载lisp的dwg第二个示例,我认为您的操作过于复杂。删除现有标题栏怎么样?您的脚本部分有许多错误
 
打开dwg1(bctest_更新)关闭n
打开dwg2(bctest_update)关闭n
 
好的,现在从Windows获得一些帮助,转到开始左下角键入CMD,您将打开一个命令窗口。
cd\b测试
目录*。图纸>目录/b
 
现在,bctest目录中的每个dwg都有一个文本文件列表
用word打开dirlst
使用搜索/替换
将^ p替换为^ popen
你现在有了
打开dwg1
打开dwg2
 
将^p替换为(加载“bctest”)关闭n^p
你现在有了
打开dwg1(负载“bctest”)关闭n
打开dwg2(负载“bctest”)关闭n
 
另存为文本文件bctest。可控硅

YZ 发表于 2022-7-7 00:33:26

 
要在AutoCAD中测试脚本,请在命令行中键入“script”,浏览到脚本文件,然后单击“打开”。
 
如果脚本不执行您希望它在其中一个图形上执行的操作,则首先要进行故障排除。稍后处理批处理文件。
页: [1]
查看完整版本: 脚本问题