QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 3739|回复: 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 | 显示全部楼层 来自: 中国辽宁鞍山
以下是我转的
- L2 r! Y+ Y6 x! G3 A
/ n2 P+ p  U  L5 i) k' bSCR是CAD的脚本文件,属于文本文件,这就可以利用批处理来进行编辑。SCR是由一系列AutoCAD命令构成的文本文件.SCR类似于操作系统中的的批处理命令。通过执行脚本,可以一次完成一系列任务,运行SCR脚本可以反复执行一个任务,可提高绘图的速度. 如下例子,是我写的一个南方CASS符号制作中,SCR脚本与系统批处理的综合利用,达到最终目的. set /p lay=请定义这个符号的所在层(如LDW):" ^& o& d9 S  z% Q) p
if '%lay%'=='' goto error1
! Y" j4 A1 v/ e7 T! u这二句是让用户输入图层名,并判断如果没有输入任务文字就跳转到error1
; U  i& S7 G4 B( o% D7 f0 n) N' Fset /p DWG1=请输入绘好符号的CAD文件(如图块名为100.DWG请输入100):% ^! W/ L' {( E4 d$ ]: B
if not exist "%cd%\%dwg1%.dwg" goto error4$ P3 \3 c7 {, x. K
这二句是让用户输入绘好的DWG文件名,如果当前不存在这个文件,就跳转到error40 |9 K9 G7 ~7 D1 [7 C5 p- M
echo open>cass.scr* Z* n9 Y6 F$ {0 N8 }
把OPEN写入到CASS.SCR这个文件中,在后面CAD执行这个脚本的时候,第一句就是执行OPEN这个命令,打开一个文件
2 I5 m/ @0 E3 M: R' z+ Z& i, Y! ]) mecho ^"%cd%\%dwg1%.dwg^">>cass.scr  c8 \0 [2 T+ u5 @$ o2 P- G
把本程序当前目录下的,用户输入的DWG文件名,写入到CASS.SCR文件中,并在OPEN这个命令后面,实际也就把路径写入到这里了$ Q6 O) V: j) h4 P) c% t# W) X
echo zoom>>cass.scr9 I# a# h' P- ?: E4 u. |
把ZOOM写入到CASS.SCR,意思是在CAD中执行ZOOM这个命令* x2 F/ a" |. O% i& z
echo e>>cass.scr, C+ P( k) U, W! M+ h/ S; C
把E写入到CASS.SCR.在执行ZOOM后,接着执行E,意思是全范围显示) C, Z7 N8 S7 L1 |  J1 D/ E5 T; K; B
echo mslide>>cass.scr
- m9 M! C% f: C* @' D6 v& O把MSLIDE写入到CASS.SCR中,意思是执行幻灯片制作命令。
  O& F6 O& p# h  B. ~2 Becho %dwg1%^.sld>>cass.scr
& r; ?3 E8 M6 S' u( C1 b7 X% E把用户输入的DWG文件,在后面加个.SLD输入到CASS.SCR中,意思是把执行后的幻灯片进行保存
) `" V2 W3 `+ cecho qsave>>cass.scr
# g- X8 F2 J, D+ U, e7 O把QSAVE写入到CASS中,意思是保存幻灯片后,再保存当前的DWG文件.1 I! n' f: [+ t$ e5 I3 K+ @' r
本来是想在这里写入EXIT的,但不知为什么,CAD却无法在SCR脚本中执行EXIT这个命令.好了,看看最终的SCR文件如下:
7 k. N: p0 J' Q. v# H* j- R$ Qopen
1 S2 U( }# N4 \5 e9 w8 ^"c:\casstemp\g000.dwg"
- R2 I+ G2 R( Fzoom
4 `! T6 l) M) E% A  {* c& E3 He
( K) L6 j% W2 ^+ a: Zmslide
9 [5 b; m4 c0 u4 ?g000.sld
* v7 n9 ]0 [5 pqsave现在SCR脚本有了,如何执行呢,请看下面的批处理代码:
/ \7 g- @  ?. T7 A$ s; [1 afor %%i in (c d e f g) do (
3 h0 `& U" R( Y7 h    for /f "delims=" %%j in ('dir /a-d /b /s "%%i:\program files"^|findstr /i /c:"acad.exe"') do echo %%j>cad.txt
+ t1 [% F6 C+ N6 w5 t)- y4 u2 T7 H9 M; {$ A9 h
在C.D.E.F.G这几个盘查找CAD的安装目录,并把路径写入到CAD.TXT这个文本中.本来想写全盘查找的,但这个太费时,一般很少有人安装CAD到CDEFG之外的其他盘。 set /p DWG2=请再次输入绘好符号的CAD文件名(如图块名为100.DWG请输入100):
% ]! ?3 N" V6 s: t# t: b1 W# h1 u8 Aif not exist %dwg2%.dwg goto error8 if not "%~1"=="h" (4 M8 L* ~1 K* U6 z/ B
   start "" "%~0" h
. x4 o# G2 J: h/ ]# U7 P   for /f "delims=?" %%g in ('type cad.txt') do ("%%g" /b "%cd%\cass"&exit)
6 n! G: k' e* \% t8 ~)) d0 [7 I; ]- S' l1 S
在上面的代码中,读取CAD.TXT中的CAD安装路径,并在批处理中启动他,/b "%cd%\cass"
/ G" f2 M# f" L) u9 I* o指的是启动CAD后,执行当前程序路径下CASS.SCR这个脚本.可以看成是这样:
3 \3 C, K' u9 T" M1 a4 R"d:\program files\Autodesk Map 2004\acad.exe" /B "C:\casstemp\CASS"
8 H7 X/ `% o3 g6 v+ m  d9 y/ b启动D盘安装的CAD后,并执行C:\casstemp\CASS.SCR echo 正在制作,约30秒.请稍候...
, H! }0 t4 ]; J' bping -n 30 127.1>nul
/ [5 q) R$ P! f6 e' b/ {% R; O这里延时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生成曲线吗?如果能的话,具体该怎么做呢?
( S4 Z# y3 E- a: N# p( l+ U6 usdytdzd 发表于 2010-12-2 16:28 http://www.3dportal.cn/discuz/images/common/back.gif

& j. @* V2 O8 M7 u' d
4 ~4 u; V, v! C0 ~; |7 kExcel里面有数据在画曲线时也可以直接粘贴到命令行里面生成曲线。,,,而通过脚本还没研究过,不过答案一定是可以的。
 楼主| 发表于 2010-12-3 08:10:36 | 显示全部楼层 来自: 中国北京
谢谢大侠,我先自己摸摸看,呵呵
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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