QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 2017|回复: 3
收起左侧

[分享] CAD文字技巧

[复制链接]
发表于 2008-3-28 01:12:30 | 显示全部楼层 |阅读模式 来自: 中国广东广州

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

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

x
:handshake

CAD文字技巧.rar

369.44 KB, 下载次数: 76

发表于 2008-3-28 10:31:28 | 显示全部楼层 来自: 中国山东东营

回复 1# 的帖子

对cad的文字向来不太明白 希望你给的资料能透露点好东西
发表于 2008-4-6 19:03:51 | 显示全部楼层 来自: 中国广西南宁
AutoCAD中自动批量修改图形文件的程序
# H: C4 ]) d0 j# \  z& B" L& ^一、概述 9 j- a8 c0 i8 {7 w. i5 X( m  S* j
  在工程CAD绘图中,常常会遇到下列棘手的问题:. ]! s4 \; x' n6 L0 `4 p8 X% _
  在施工图后期,大部分图形文件都已完成,但因某一条件的变化,需在某卷图中增加(或减少)一些图纸,这将导致许多相关图形文件的内容不得不进行相应的修改:如高层代号、图纸编号等。; N! S) N" Y: U* m0 ^
  在实际工程设计中,为了提高效率,60%的图形是通过修改已有的设计而形成新的图形,这时常常进行一些重复性的工作,比如图框的替换、设备元器件的变更等,有时,要几张图,甚至几十张图做同样的修改。
& _% o/ D6 G) ?7 d, g6 u  对于上述情况,过去一般的作法是将每一图形文件调出来,逐一修改。在图幅比较大时,只能反复使用ZOOM命令,当所涉及的图形文件较多时(有时会有几百个),采用手动操作,其工作量非常大,而且大部分操作都是重复性的工作,长时间操作很容易发生混淆和遗漏,不但效率低,图纸质量又不能保证。; y0 y" J# I. M. ~$ v
  能否将这些重复性的工作让计算机来完成呢?# }: A  _2 M7 x" D
  AutoCAD是图形设计的通用软件,它为各种专业用的CAD提供了尽可能多的图形编辑功能,但很难实现自动化作图的功能。. |- z' |! e& b& L( U
  在实践中我们用C语言编写了CHSCR应用程序,采用该程序设计人员只需编写一个简单的命令文件CH.SCR和要处理的文件表FILE.TAB,经过CHSCREXE应用程序转换,形成一个可以处理FILETAB所列出的所有文件的CHGESCR命令文件。然后利用AutoCAD的 SCRIPT命令,就可使计算机按命令自动批量修改图形并存盘或生成PLT绘图文件。由于采用了易于为非专业编程人员所接受的SCR文件方式来编写命令CHSCR,使用非常方便。
' w# [2 R# v" P- _  {6 F# V二、如何使用CHSCR. S' b$ u) p& E
  1. 创建CHSCR命令文件. a9 B) ]: ?7 W
  CH.SCR文件的内容是由AutoCAD的命令和响应序列所组成的ASCⅡ文件,是可在AotuCAD编辑状态下执行的文本文件。2 i5 Y" O' w# c% D
  CH.SCR包含了可在指定图形中自动重复执行命令序列。
+ {- j6 R1 [# U  O* C  s- m  例:把图形文件C800-01~ C800-98中的图纸编号2066DD3改变2087DD2。高层代号C13改为D24,设备型号DZ20改为C45AD。$ P, Y9 F4 ]$ d; N
  在DOS状态下用文本编辑软件建立CH.SCR文件:
; |1 E; `/ v9 ^: D) c8 u% K( s  CHTEXT_all _ _2066DD3<Enter>
6 b7 b: K4 t# u1 F/ ~# @2 \  2087DD2<Enter>
1 Y* X& r. |! a4 [  CHTEXT_all _ _C13<Enter>
$ i+ J+ @/ Z* y  ^  D24〈Enter〉7 }/ W2 t0 {4 H. O( ^
  CHTEXT _all _ _DZ20<Enter>/ h7 g; h# G. M/ l' d( m5 F  B) F
  C45AD〈Enter〉  J; w' R: w9 q
  PLOT〈Enter〉
" \6 [7 q8 T5 S* Q0 x' E% p) X6 \8 j  〈Enter〉: K- h. i0 Z* K, g2 j& Q2 k) Z7 `( p
  〈Enter〉3 S" Z# [& X! T; s; s2 N4 a
 其中:
5 V6 e  h' e+ N, ]% @  m  _代表一个空格
% x. k  V. P+ A7 P4 x* T  〈Enter〉代表回车" X- v7 q: H5 i! G8 @6 r# C2 R
  CHTEXT修改图中文字的LISP程序$ D! ^7 [7 w7 y$ j( H
  &#8226;AotoCAD中文字修改功能较弱,AutoCADR12.0中曾加了DDEDIT修改文字命令,但只能用鼠标器手工修改,且一次只能改一个字符串不适用程序化操作。/ ]5 T, C3 @* \/ Q  ]+ ]4 M
  因此,在编写SCR命令文件时我们采用了修改图中文字的LISP程序CHTEXT.LSP(其清单附后)。将其装入ACAD.LSP后,只要键入CHTEXT,就可按汉字提示使用,它一次可以修改多个字符串。
2 i! d1 k$ `9 @2 n% Y  &#8226;当编写命令文件时,必须考虑每条AutoCAD命令中的所有响应和提示。命令文件中的每个空格都是有意义的,因为AotuCAD将它看作回车,所以不能随意增减。' L- p7 w0 r/ k+ A. C. X* b
  &#8226;如果不需要输出PLT绘图文件,PLOT后面四行可以不要。
$ |) A; M/ G! n8 P  &#8226;CHSCR有两个作用:
/ |3 |" z* ?# Z: V& A' p0 k  ①如果需要修改的图形文件较少,可以在ACAD中通过SCRLPT命令直接调用CH.SCR。& r8 ]! S1 U! t& p# I
  ②可以在ACAD中通过SCRIPT命令试运行一次,看是否有错。: d, J4 ^/ A( ^) f- U4 i
  在ACAD命令状态下,键入以下命令即可按CH.SCR文件要求,对当前图形完成所需的修改。0 `) W2 l, [( i; g$ r% K: ?) D
  Command:script<Enter>; r8 d& \% e4 i0 [6 e: S% z
  Script file:ch<Enter>" V2 j7 Z2 r& c) k8 d) r
  当所涉及的图形文件较多时(十几个以上),采用手动操作,将每一图形文件调出来,逐一修改,效率太低。因此建议采用以下步骤,使计算机按命令自动批量修改图形文件。2 Y+ L& n) X5 p2 f; |- Z
  2. 建立图形文件表FILE.TAB$ w% b) w/ \2 U% @' J
  创建完CH.SCR后,下一步应把需要修改图形文件名(.DWG)存入FILE.TAB中:
0 J- k" r2 U" d; I) O5 V9 k( f  例如:1 {5 H& e) Y' W# E8 A6 ^
  C800-01
; l" L% V" ?" n, W  C800-025 p% m3 @. w8 I! D0 h; b$ m+ V1 \
  C800-03% y, U+ j4 _- r- m; Y2 G9 ?
   .& I, n4 K8 G: }& m0 b
   .
9 E( L* ~$ f* T   .
& j: k" s. S7 B3 b' b2 E7 Y  C800-98& z" k  S( Y: p! u5 F: J* g1 B8 t5 Y
  3. 编译生成CHGE.SCR文件
' t9 b2 w5 U- b3 X, H, G  当具备CH.SCR(试运行正常后)和FILE.TAB文件后,就可以进行编译工作,在DOS状态下键入CHSCR〈Enter〉即开始编译,若编译出现问题,系统会给出相应的提示,编译完成后,你会发现目录中多了一个CHGE.SCR文件(自动修改图形的文本文件)。; Z) E& m" z+ f
  &#8226;CHSCR.EXE:其功能是配制SCR文件格式的命令字符串并调入相关的绘图参数(源程序用C语言编写,清单附后)。# |* G% m; p8 j4 W! `; ]! U
  &#8226;当ACAD输出PLT文件时,如果发现有对应图形的PLT文件,将提示出是否覆盖掉它,这将引起SCRIPT命令中断运行。为此在CHSCR.EXE中,我们是这么处理的:当程序发现有相应图形的PLT文件,将自动把它删除掉,并在屏幕上显示出对应的信息。3 Y" g( I  s/ d% R0 `) t$ Q+ o
  经CHSCR.EXE所生成的CHGE.SCR文件:
& K$ H, T# F. F! I  open y C800-01
) ~: l: S$ F3 B  CHTEXT all 2066DD3
' X/ W6 v- R4 K* @& D1 J4 a6 N  2087DD2
  s6 `8 K$ e4 N8 \  CHTEXT all C13
5 V. |" h6 M  s$ O1 ?& @+ j  D24) i6 s- F) g' l. |0 O9 |, j4 M
  CHTEXT all DZ20! l9 ^4 i; C1 R
  C45AD
: R! B0 m- j# r$ j  ~  PLOT
% [" h; m- N" u1 P% d+ U- u  z  <Enter>
5 c+ p7 Z! u8 J8 {4 f8 V8 @  <Enter>
5 M) j) r" n" J' `8 Z- Z  <Enter>
* J  J# G8 M. r  save( U" }, {' _1 H$ P6 c8 ^% F9 ~
   .: U3 r5 @& M+ L  U$ N2 d- X0 K
   .
  J+ S$ K! J- Z' y   .
" M) h% }: r% Z4 m  open y C900-98
  q7 r; q. H) l  CHTEXT all 2066DD35 I1 U2 C- \6 K$ k( j" _% \% [# u
  2087DD2, i0 |# h1 L4 u; [! @
  CHTEXT all C13
5 R5 m1 j2 p1 a) j4 }* |. ^: y6 S  D24
4 o% C. p9 |( b, S  u+ c  CHTEXT all DZ20: }* r- M. E% l: G
  C45AD
4 e/ s2 k% n# Z  PLOT
6 Q1 B8 Q3 Y8 P% A0 f  <Enter>
  T) @7 `7 }! {/ {2 G  <Enter>
$ c  Q/ T+ A) I0 Q: j' P) O  D4 a  <Enter>
( n+ g* ]5 [- P: x  ^- Y, P5 O, c  save
, [( [- N* J- _& u6 t8 J4 r  quit y
0 @; o+ c1 y+ T/ }( U# P! I  4. 执行SCRIPT命令/ X* S, w/ }& m5 P6 e& v4 n
  ①在ACAD中通过SCRIPT命令直接调用CHGE.SCR:! c' _' A$ r: h9 G* U/ R. M
  Command:script chge<Enter>7 m: V  u' o/ A1 U, u
  ②启动AutoCAD时从操作系统提示符处输入以下正文:) D( `/ O$ {" w0 ^
  C:acad script chge<Enter>" ?9 t2 c: E/ i3 C
三、程序的安装
! e6 [% K  L; |6 W) l  1. 将CHTEXT.LSP装入ACAD.LSP中。" [0 S- M9 k6 `2 a. |
  2. 用通用C++编译器将CHSCR.C编译成可执行程序CHSCR.EXE,将其拷贝到CAD可找到的目录下。  p0 X: ~) i4 w) O4 u. U/ |3 ?0 Z
  程序CHSCR.EXE适用于AutoCAD R11.0、R12.0。# |$ r4 x* ~& s4 b6 j5 E
四、结束语
4 V, {5 V: T1 m/ {: ~  以上所举例仅是该程序应用的一个简单例子,在实践中还可用于图块的重新定义、图框更新、建立绘图标准配制、连续显示幻灯片、连续出图,限于篇幅不一一列举。
$ g; Y% {0 _3 X+ _  a  自从我们把该程序应用于批量修改图形文件后,不但将设计人员从繁锁的人工修改图纸中解脱出来,而且大大提高了设计效率和图纸质量
发表于 2008-4-6 19:11:45 | 显示全部楼层 来自: 中国广西南宁
AutoCAD中自动批量修改图形文件的程序
( A6 ?% D0 e5 i7 B) B. {一、概述
) g8 g4 t; T9 @  在工程CAD绘图中,常常会遇到下列棘手的问题:, X/ w$ `8 E0 x* n9 S
  在施工图后期,大部分图形文件都已完成,但因某一条件的变化,需在某卷图中增加(或减少)一些图纸,这将导致许多相关图形文件的内容不得不进行相应的修改:如高层代号、图纸编号等。
6 D. M: M5 P, M+ a- z  在实际工程设计中,为了提高效率,60%的图形是通过修改已有的设计而形成新的图形,这时常常进行一些重复性的工作,比如图框的替换、设备元器件的变更等,有时,要几张图,甚至几十张图做同样的修改。
* L# i/ ^1 I; c  对于上述情况,过去一般的作法是将每一图形文件调出来,逐一修改。在图幅比较大时,只能反复使用ZOOM命令,当所涉及的图形文件较多时(有时会有几百个),采用手动操作,其工作量非常大,而且大部分操作都是重复性的工作,长时间操作很容易发生混淆和遗漏,不但效率低,图纸质量又不能保证。
4 a; G5 u% T' o& B  能否将这些重复性的工作让计算机来完成呢?
! A* ^; e1 f4 r0 Z( H  AutoCAD是图形设计的通用软件,它为各种专业用的CAD提供了尽可能多的图形编辑功能,但很难实现自动化作图的功能。
; W5 ]  u2 l5 b  在实践中我们用C语言编写了CHSCR应用程序,采用该程序设计人员只需编写一个简单的命令文件CH.SCR和要处理的文件表FILE.TAB,经过CHSCREXE应用程序转换,形成一个可以处理FILETAB所列出的所有文件的CHGESCR命令文件。然后利用AutoCAD的 SCRIPT命令,就可使计算机按命令自动批量修改图形并存盘或生成PLT绘图文件。由于采用了易于为非专业编程人员所接受的SCR文件方式来编写命令CHSCR,使用非常方便。
! Q$ X, T# R# Y# L8 {2 U5 L二、如何使用CHSCR1 S7 _8 ?; S) d2 E) C
  1. 创建CHSCR命令文件
5 s# f' u' k8 {, w  CH.SCR文件的内容是由AutoCAD的命令和响应序列所组成的ASCⅡ文件,是可在AotuCAD编辑状态下执行的文本文件。' s" f0 ~7 W. q/ L% s" q
  CH.SCR包含了可在指定图形中自动重复执行命令序列。
  L3 j! w% H$ \. O/ N  例:把图形文件C800-01~ C800-98中的图纸编号2066DD3改变2087DD2。高层代号C13改为D24,设备型号DZ20改为C45AD。$ ~6 a! X1 x0 X6 U& P
  在DOS状态下用文本编辑软件建立CH.SCR文件:) E" p2 I! F  m4 R4 G0 z9 J0 P, Z
  CHTEXT_all _ _2066DD3<Enter>
, }( [3 h- I; E. J  2087DD2<Enter>
" n6 e! t# |, y  CHTEXT_all _ _C13<Enter>2 E" d. p, n" H7 S8 y/ P/ m$ R
  D24〈Enter〉0 I3 P/ ]" O- ~4 r$ x
  CHTEXT _all _ _DZ20<Enter>0 K. R' W: @6 M  S8 C
  C45AD〈Enter〉
% h" B+ i- V% E4 H5 v$ d  PLOT〈Enter〉
+ N# O$ z3 C8 t2 p; c) [' b  〈Enter〉
4 U( }& e# W  l  〈Enter〉
' E5 j, G, p/ \) s4 f 其中:8 @  J/ L! z+ @6 \( p
  _代表一个空格
! b( a* j. v7 p0 B5 F, |2 \  〈Enter〉代表回车
* n1 u6 y, a$ c4 f' ]( G6 L4 q  CHTEXT修改图中文字的LISP程序
6 k. S9 }8 D) S$ f6 \2 @  &#8226;AotoCAD中文字修改功能较弱,AutoCADR12.0中曾加了DDEDIT修改文字命令,但只能用鼠标器手工修改,且一次只能改一个字符串不适用程序化操作。; d5 H. _! A. ^& |% ]0 [
  因此,在编写SCR命令文件时我们采用了修改图中文字的LISP程序CHTEXT.LSP(其清单附后)。将其装入ACAD.LSP后,只要键入CHTEXT,就可按汉字提示使用,它一次可以修改多个字符串。
( t0 m  P3 N7 _5 V/ K- d2 y  &#8226;当编写命令文件时,必须考虑每条AutoCAD命令中的所有响应和提示。命令文件中的每个空格都是有意义的,因为AotuCAD将它看作回车,所以不能随意增减。
7 z8 C6 [$ L$ q$ Y$ D  &#8226;如果不需要输出PLT绘图文件,PLOT后面四行可以不要。
  Q7 Y) V, G! {, Y  &#8226;CHSCR有两个作用:
+ v" j! |8 c- O- f3 M  ①如果需要修改的图形文件较少,可以在ACAD中通过SCRLPT命令直接调用CH.SCR。
; i0 O2 V6 h, C; R. f  ②可以在ACAD中通过SCRIPT命令试运行一次,看是否有错。, r+ [2 ?- s9 \7 Y
  在ACAD命令状态下,键入以下命令即可按CH.SCR文件要求,对当前图形完成所需的修改。
, h0 v0 }" e# }  Command:script<Enter>6 c4 t1 z6 s& E/ L( ~5 F. b# u
  Script file:ch<Enter>
& p$ D2 ^4 A* v4 S; Z  当所涉及的图形文件较多时(十几个以上),采用手动操作,将每一图形文件调出来,逐一修改,效率太低。因此建议采用以下步骤,使计算机按命令自动批量修改图形文件。
# C, M. F% n9 o- R  2. 建立图形文件表FILE.TAB
1 i. m0 f1 o* V+ x! d2 i/ s6 M  创建完CH.SCR后,下一步应把需要修改图形文件名(.DWG)存入FILE.TAB中:
& @+ A4 H5 p( v; w& G# t  例如:  f8 u. B, \3 d
  C800-01  c) E1 e1 r: v+ ?3 ~' A6 M' u
  C800-02
4 t5 Q7 q: U5 H8 u6 [  C800-03
% G4 u: q# w, Y' j6 \3 ?& n   .
1 |+ |0 x4 }7 ]% R) f7 o- C% l, J" r   .5 N, j3 ]' e; z% _2 @
   .0 c* H1 ~, k9 g8 s- u
  C800-981 @& b! I" N% Q/ E- {1 v
  3. 编译生成CHGE.SCR文件
( s/ E6 V3 T, C# p! ]  当具备CH.SCR(试运行正常后)和FILE.TAB文件后,就可以进行编译工作,在DOS状态下键入CHSCR〈Enter〉即开始编译,若编译出现问题,系统会给出相应的提示,编译完成后,你会发现目录中多了一个CHGE.SCR文件(自动修改图形的文本文件)。
* H/ s# w, k( n  &#8226;CHSCR.EXE:其功能是配制SCR文件格式的命令字符串并调入相关的绘图参数(源程序用C语言编写,清单附后)。
  D7 W  U0 j$ F  &#8226;当ACAD输出PLT文件时,如果发现有对应图形的PLT文件,将提示出是否覆盖掉它,这将引起SCRIPT命令中断运行。为此在CHSCR.EXE中,我们是这么处理的:当程序发现有相应图形的PLT文件,将自动把它删除掉,并在屏幕上显示出对应的信息。
+ ^3 `9 d' }( d8 U4 A* @  经CHSCR.EXE所生成的CHGE.SCR文件:% i. e- I) C  I1 L: M/ Z7 y0 N! K8 D
  open y C800-01
- I- T7 s5 h: r  {  CHTEXT all 2066DD3
; u7 F' ]& l' s& k- C  2087DD20 J2 E2 I( h9 z# |; T0 i' h
  CHTEXT all C13
2 t2 T" J9 g) {: a  D24
4 M$ J& ~! \. L2 r, U  CHTEXT all DZ20
% T: W% Y0 A# V3 r# |% T! H  C45AD  {3 M* y& I, G" ]. P
  PLOT
4 c* e5 b( _' e/ D' }4 o  <Enter>3 W  J" }) ^# r& c# h8 J9 ^! R
  <Enter>3 j& K4 k8 }1 P% s9 g9 a
  <Enter>! R- g9 ]) z. `0 B: o( l3 r! I
  save
7 R2 n% d3 ^+ ], h' u   .! u" R. s( e3 e2 U
   .
  d( @! @$ \* M( B( }0 G& w   .
8 k! J- `9 L* e# ~  open y C900-98
: k) V: j+ N; i$ }  CHTEXT all 2066DD3
9 Y3 c/ A# @9 s1 L, k8 ?1 h  2087DD2& a: W) B8 ^6 q) n% O
  CHTEXT all C135 h% b% n+ T8 a4 O
  D24( F: Q- s+ }8 y# F
  CHTEXT all DZ206 n6 v: i. [% I$ m, n, v+ e3 c) r
  C45AD
. E, J7 `; P8 g* P0 _  PLOT
; |2 ?- A/ h* I' \1 e( p* i1 ?6 ~5 z- M  <Enter>2 Z9 Z2 T+ q! [/ w7 N
  <Enter>
, z9 q, P( N3 ]. j  <Enter>  v  h3 w3 ?0 ?+ [: o
  save
" a9 ~9 l9 E9 \1 m' P8 _  quit y
4 x  z& R, R2 w7 E- r  4. 执行SCRIPT命令
' ~5 F( b; F1 ^) I, G5 ]* q- g  ①在ACAD中通过SCRIPT命令直接调用CHGE.SCR:
3 q  f/ A( w. P# q5 }# j# Y  Command:script chge<Enter>9 L* d/ ^. S8 H% s
  ②启动AutoCAD时从操作系统提示符处输入以下正文:4 m, L6 N4 W0 }  ?- R
  C:acad script chge<Enter>. j3 L! f4 |5 R6 O3 _
三、程序的安装
. ^# Z. g2 _' J/ X) g$ X  1. 将CHTEXT.LSP装入ACAD.LSP中。2 ^% J  z1 N5 `2 R, x& E
  2. 用通用C++编译器将CHSCR.C编译成可执行程序CHSCR.EXE,将其拷贝到CAD可找到的目录下。
  p1 `) a: X/ p$ W: \# M  程序CHSCR.EXE适用于AutoCAD R11.0、R12.0。
7 T' E$ f% G( E0 K" V) }; P9 W四、结束语1 _2 F% }) F, a$ _1 w9 |
  以上所举例仅是该程序应用的一个简单例子,在实践中还可用于图块的重新定义、图框更新、建立绘图标准配制、连续显示幻灯片、连续出图,限于篇幅不一一列举。
- C7 {* Z  p' j( k4 }  自从我们把该程序应用于批量修改图形文件后,不但将设计人员从繁锁的人工修改图纸中解脱出来,而且大大提高了设计效率和图纸质量
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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