QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 3753|回复: 6
收起左侧

[已解决] AUTOCAD中脚本文件是怎么生成的?

[复制链接]
发表于 2010-12-2 15:16:29 | 显示全部楼层 |阅读模式 来自: 中国北京

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
各位大侠,谁有关于AUTOCAD scr脚本文件的资料,scr文件是怎样生成的,我急需了解这方面的知识,谁能帮帮我,谢谢了
发表于 2010-12-2 16:11:44 | 显示全部楼层 来自: 中国辽宁鞍山
记事本 自己编辑     里面是CAD的命令
发表于 2010-12-2 16:12:54 | 显示全部楼层 来自: 中国辽宁鞍山
以下是我转的
  Z- C* U; ~, W; q2 y6 o2 }" d8 S( `7 C0 K4 c+ m
SCR是CAD的脚本文件,属于文本文件,这就可以利用批处理来进行编辑。SCR是由一系列AutoCAD命令构成的文本文件.SCR类似于操作系统中的的批处理命令。通过执行脚本,可以一次完成一系列任务,运行SCR脚本可以反复执行一个任务,可提高绘图的速度. 如下例子,是我写的一个南方CASS符号制作中,SCR脚本与系统批处理的综合利用,达到最终目的. set /p lay=请定义这个符号的所在层(如LDW):
; t, _3 U  ]$ O9 q" m6 Zif '%lay%'=='' goto error15 c: l* S6 C/ }1 D" \
这二句是让用户输入图层名,并判断如果没有输入任务文字就跳转到error1
7 L- s6 l; N5 ]4 O# r3 vset /p DWG1=请输入绘好符号的CAD文件(如图块名为100.DWG请输入100):
. E7 \, E. `/ _if not exist "%cd%\%dwg1%.dwg" goto error4
, W0 o9 D: E- p! t这二句是让用户输入绘好的DWG文件名,如果当前不存在这个文件,就跳转到error4
, B3 K- Y/ f) Jecho open>cass.scr
$ Z! r) f3 E, ?$ j: J. Y把OPEN写入到CASS.SCR这个文件中,在后面CAD执行这个脚本的时候,第一句就是执行OPEN这个命令,打开一个文件
4 b6 T2 M; j4 s: secho ^"%cd%\%dwg1%.dwg^">>cass.scr9 ]: Q1 D( o( a0 S
把本程序当前目录下的,用户输入的DWG文件名,写入到CASS.SCR文件中,并在OPEN这个命令后面,实际也就把路径写入到这里了
3 r' V0 d4 U% }8 x9 K2 Eecho zoom>>cass.scr' E+ \$ ~9 K. G3 n' n- ~  G
把ZOOM写入到CASS.SCR,意思是在CAD中执行ZOOM这个命令
1 g9 W) x% \( m4 C% ]echo e>>cass.scr2 C8 }2 [, E$ q
把E写入到CASS.SCR.在执行ZOOM后,接着执行E,意思是全范围显示! B" H5 x. E- q2 p+ I' O
echo mslide>>cass.scr- ~3 ~2 s6 z, P4 Y6 K' \0 g# g
把MSLIDE写入到CASS.SCR中,意思是执行幻灯片制作命令。
0 G: Q$ E. Y* Q5 H3 o1 [echo %dwg1%^.sld>>cass.scr
7 H* I- H6 |+ O) D把用户输入的DWG文件,在后面加个.SLD输入到CASS.SCR中,意思是把执行后的幻灯片进行保存3 O" M/ L2 O( g( t: H
echo qsave>>cass.scr
5 Z+ |# Z; R0 b* N2 O+ v$ \4 S0 {把QSAVE写入到CASS中,意思是保存幻灯片后,再保存当前的DWG文件.
* o0 y1 m  ]2 `! s% u# F本来是想在这里写入EXIT的,但不知为什么,CAD却无法在SCR脚本中执行EXIT这个命令.好了,看看最终的SCR文件如下:
, Y* r3 o( k: fopen! P# O% P) j) s# t
"c:\casstemp\g000.dwg"
6 k; j4 `: P' `& U: e& ]2 o% szoom. F' u5 V+ T7 [$ f/ b& _( u
e
. A0 a7 f' V& T# J# c1 G, Jmslide
. p' T, E' m; h8 l- C8 r$ Kg000.sld1 l% ~8 K. N0 s8 k
qsave现在SCR脚本有了,如何执行呢,请看下面的批处理代码:
- q% t. Q8 f$ J* g$ }4 G* }for %%i in (c d e f g) do (, n% u; F; x( n6 ]
    for /f "delims=" %%j in ('dir /a-d /b /s "%%i:\program files"^|findstr /i /c:"acad.exe"') do echo %%j>cad.txt# p6 d/ z8 j5 s
)
1 A& V3 x, S# o6 g: z: `( X) g在C.D.E.F.G这几个盘查找CAD的安装目录,并把路径写入到CAD.TXT这个文本中.本来想写全盘查找的,但这个太费时,一般很少有人安装CAD到CDEFG之外的其他盘。 set /p DWG2=请再次输入绘好符号的CAD文件名(如图块名为100.DWG请输入100):
) ^4 `4 @  o6 F! wif not exist %dwg2%.dwg goto error8 if not "%~1"=="h" (
5 d6 P$ {  v0 q! l4 E, P1 X. S$ l( B% u   start "" "%~0" h& q; n( [0 @# X7 r
   for /f "delims=?" %%g in ('type cad.txt') do ("%%g" /b "%cd%\cass"&exit)( w$ ?' T( C3 M) D& P
)9 C/ u! Z/ }+ v8 g3 r1 s
在上面的代码中,读取CAD.TXT中的CAD安装路径,并在批处理中启动他,/b "%cd%\cass"
$ ?3 Q# `9 O9 [- |$ O, `指的是启动CAD后,执行当前程序路径下CASS.SCR这个脚本.可以看成是这样:" `5 b- q% [, l" g2 R& c5 v
"d:\program files\Autodesk Map 2004\acad.exe" /B "C:\casstemp\CASS"; e9 ]0 V" [# f, h# E6 ^  J# Q
启动D盘安装的CAD后,并执行C:\casstemp\CASS.SCR echo 正在制作,约30秒.请稍候...
+ t3 |. S+ H8 i; sping -n 30 127.1>nul- c) H/ @7 ^) M. x; A" V# s
这里延时30秒,是希望CAD能在30秒内,把CASS.SCR里的命令依次执行完后接着执行下一条命令。如果机器配置够强劲,可以改为10,如果不能在30秒内启动CAD并执行完CASS.SCR里的脚本命令,可改为更大的数字. 初步接触CAD的脚本,只能理解这么多,正在学习中。。。
 楼主| 发表于 2010-12-2 16:19:19 | 显示全部楼层 来自: 中国北京
谢谢大家,我试试看,呵呵
 楼主| 发表于 2010-12-2 16:28:45 | 显示全部楼层 来自: 中国北京
各位大侠,还有一个问题,Excel表格中的数据能通过脚本文件导入CAD生成曲线吗?如果能的话,具体该怎么做呢?
发表于 2010-12-2 20:11:35 | 显示全部楼层 来自: 中国广东汕头
各位大侠,还有一个问题,Excel表格中的数据能通过脚本文件导入CAD生成曲线吗?如果能的话,具体该怎么做呢?- y, I2 _5 H. V( g' Y
sdytdzd 发表于 2010-12-2 16:28 http://www.3dportal.cn/discuz/images/common/back.gif
- b/ K) {7 G0 G8 J9 f7 Q4 T" i. a- M3 F
; M  E# D; X* U2 c2 k
Excel里面有数据在画曲线时也可以直接粘贴到命令行里面生成曲线。,,,而通过脚本还没研究过,不过答案一定是可以的。
 楼主| 发表于 2010-12-3 08:10:36 | 显示全部楼层 来自: 中国北京
谢谢大侠,我先自己摸摸看,呵呵
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

快速回复 返回顶部 返回列表