在multiple上运行脚本(.scr)
你好我需要在多个文件上运行scrit,我希望它选择wich SCR在DWG文件名的开头运行bas。
在这种情况下,我与24363648等文件。。。我的scr需要运行2436INS。2436 ans上的SCR与3648等相同。。。我曾尝试使用Script Pro 2.0,但由于它正在打开一个新文件,而该文件中没有任何内容,因此无法正常运行srcip。
这是我的。可控硅
在宏命令中也有
我至少可以在Script Pro中运行它,但如果有人能够制作一个.bat或lisp quith,那就太棒了
我真的很抱歉我的英语不好!
谢谢大家! 脚本不能根据文件名选择要执行的操作,但脚本可以将文件名传递给lisp并运行正确的序列。
您可以创建一个lisp,其中包含命令序列作为一个defun小程序,但您将有两个程序2436和3648。打开每个dwg时,将自动加载此lisp或加载
这未经测试
(defun 2436 ( )
(command _-view _Left "" "")
(command "_ai_selall" "section" "_crossing" "0,0" "23-1/8,84" "" "0,4-1/2" "23-3/8,4-1/2" "26,8" "" "" "effacer" "_crossing" "0,0" "23-1/8,4" "" "" "")
(command "_-view" "_top")
(command "-INSERER" "C:/Users/jlarrivee/Desktop/pattes/2436OVA.dwg" "0,0,0" 1 1 0 ANNULER fin decompos "_last" "" "")
(command "_save" "Y" "close")
)
(defun 3648 ()
.......
.......
)
(defun mysize (dwgname / )
(setq stfile(substr dwgname 1 4))
(cond
((= stfile "2436)(2436)) ; check 4 characters and runs correct defun
((= stfile "3648)(3648))
)
)
剧本
open dwg1
(mysize (getvar "dwgname"))
open dwg2
(mysize (getvar "dwgname"))
; lisp称为24363648。lsp
open dwg1
(if (not 2436)(load "24363648"))
(mysize (getvar "dwgname"))
open dwg2
(if (not 2436)(load "24363648"))
(mysize (getvar "dwgname"))
在这件事上我百分之百支持你。如果你有一些简单的命令,比如plot命令,我会使用记事本,把命令的所有提示放在一行中。但当它变得更复杂时,我为它编写了一个lisp和一个简单的脚本来调用这个lisp:打开dwg,加载lisp,运行lisp,保存图形,下一步。。。 谢谢Rlx
这里有另一个由Jord_91发布的类似主题的帖子,希望能被阅读。 如果我错了,我想理解并纠正我
所以我必须加载lisp,然后运行脚本?
我根据自己的需要完成了Lisp,但我不确定脚本是否正确,因为我有8个不同的值。
Lisp代码:
还有剧本
很抱歉我发了很多帖子,只是因为我的需求已经改变了,我不想让人们太困惑。
正如我之前所说的,我可能完全错了,我正在努力学习这些,但我现在是个笨蛋 不,脚本加载lisp,就像bigal的例子一样。脚本文件可能类似于:
打开dwg1
(加载“mysize.lsp”)
(mysize)
.快存
打开dwg2
(加载“mysize.lsp”)
(mysize)
,qsave
等等等等。。。
这有几个潜在问题,dwg和lisp都必须在搜索路径中,或者必须指定完整路径。如果dwgname包含空格,则必须将名称放入字符串“c:/test/mydwg dwg1.dwg”或使用(findfile)。此外,所有(子)函数必须在一个文件中,或者必须分别加载它们。
gr.Rlx 请阅读代码发布指南,并将您的代码包含在代码标签中,而不是报价标签中。
Your Code Here=
Your Code Here 谢谢,下次我一定用proprer的方式。
页:
[1]