乐筑天下

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

[编程交流] 在multiple上运行脚本(.scr)

[复制链接]

6

主题

29

帖子

23

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-5 15:32:07 | 显示全部楼层 |阅读模式
你好
我需要在多个文件上运行scrit,我希望它选择wich SCR在DWG文件名的开头运行bas。
在这种情况下,我与24363648等文件。。。我的scr需要运行2436INS。2436 ans上的SCR与3648等相同。。。我曾尝试使用Script Pro 2.0,但由于它正在打开一个新文件,而该文件中没有任何内容,因此无法正常运行srcip。
这是我的。可控硅
在宏命令中也有
我至少可以在Script Pro中运行它,但如果有人能够制作一个.bat或lisp quith,那就太棒了
 
我真的很抱歉我的英语不好!
谢谢大家!
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 15:41:19 | 显示全部楼层
脚本不能根据文件名选择要执行的操作,但脚本可以将文件名传递给lisp并运行正确的序列。
 
您可以创建一个lisp,其中包含命令序列作为一个defun小程序,但您将有两个程序2436和3648。打开每个dwg时,将自动加载此lisp或加载
 
这未经测试
  1. (defun 2436 ( )
  2. (command _-view _Left "" "")
  3. (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" "" "" "")
  4. (command "_-view" "_top")
  5. (command "-INSERER" "C:/Users/jlarrivee/Desktop/pattes/2436OVA.dwg" "0,0,0" 1 1 0 ANNULER fin decompos "_last" "" "")
  6. (command "_save" "Y" "close")
  7. )
  8. (defun 3648 ()
  9. .......
  10. .......
  11. )
  12. (defun mysize (dwgname / )
  13. (setq stfile  (substr dwgname 1 4))
  14. (cond
  15. ((= stfile "2436)(2436)) ; check 4 characters and runs correct defun
  16. ((= stfile "3648)(3648))
  17. )
  18. )

 
剧本
  1. open dwg1
  2. (mysize (getvar "dwgname"))
  3. open dwg2
  4. (mysize (getvar "dwgname"))

 
; lisp称为24363648。lsp
  1. open dwg1
  2. (if (not 2436)(load "24363648"))
  3. (mysize (getvar "dwgname"))
  4. open dwg2
  5. (if (not 2436)(load "24363648"))
  6. (mysize (getvar "dwgname"))
回复

使用道具 举报

rlx

21

主题

1505

帖子

1551

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
81
发表于 2022-7-5 15:53:58 | 显示全部楼层
 
 
在这件事上我百分之百支持你。如果你有一些简单的命令,比如plot命令,我会使用记事本,把命令的所有提示放在一行中。但当它变得更复杂时,我为它编写了一个lisp和一个简单的脚本来调用这个lisp:打开dwg,加载lisp,运行lisp,保存图形,下一步。。。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 16:05:32 | 显示全部楼层
谢谢Rlx
 
这里有另一个由Jord_91发布的类似主题的帖子,希望能被阅读。
回复

使用道具 举报

6

主题

29

帖子

23

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-5 16:07:43 | 显示全部楼层
如果我错了,我想理解并纠正我
所以我必须加载lisp,然后运行脚本?
我根据自己的需要完成了Lisp,但我不确定脚本是否正确,因为我有8个不同的值。
 
Lisp代码:
 
还有剧本
 
很抱歉我发了很多帖子,只是因为我的需求已经改变了,我不想让人们太困惑。
 
正如我之前所说的,我可能完全错了,我正在努力学习这些,但我现在是个笨蛋
回复

使用道具 举报

rlx

21

主题

1505

帖子

1551

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
81
发表于 2022-7-5 16:16:00 | 显示全部楼层
不,脚本加载lisp,就像bigal的例子一样。脚本文件可能类似于:
 
打开dwg1
(加载“mysize.lsp”)
(mysize)
.快存
打开dwg2
(加载“mysize.lsp”)
(mysize)
,qsave
等等等等。。。
 
这有几个潜在问题,dwg和lisp都必须在搜索路径中,或者必须指定完整路径。如果dwgname包含空格,则必须将名称放入字符串“c:/test/mydwg dwg1.dwg”或使用(findfile)。此外,所有(子)函数必须在一个文件中,或者必须分别加载它们。
 
gr.Rlx
回复

使用道具 举报

4

主题

2143

帖子

2197

银币

限制会员

铜币
-24
发表于 2022-7-5 16:31:25 | 显示全部楼层
请阅读代码发布指南,并将您的代码包含在代码标签中,而不是报价标签中。[NOPARSE]
  1. Your Code Here[/NOPARSE]
=
  1. Your Code Here
回复

使用道具 举报

6

主题

29

帖子

23

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-5 16:32:37 | 显示全部楼层
谢谢,下次我一定用proprer的方式。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-14 13:06 , Processed in 1.582324 second(s), 68 queries .

© 2020-2025 乐筑天下

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