QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 2019|回复: 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中自动批量修改图形文件的程序  `( z( J; J. P: L* F) O
一、概述
& m, ~# o5 I- o% H9 W$ E* Y  在工程CAD绘图中,常常会遇到下列棘手的问题:
/ P1 ~" A3 t& _1 V* k2 E1 p- Q  在施工图后期,大部分图形文件都已完成,但因某一条件的变化,需在某卷图中增加(或减少)一些图纸,这将导致许多相关图形文件的内容不得不进行相应的修改:如高层代号、图纸编号等。8 Q' v# i) _: [# N2 d
  在实际工程设计中,为了提高效率,60%的图形是通过修改已有的设计而形成新的图形,这时常常进行一些重复性的工作,比如图框的替换、设备元器件的变更等,有时,要几张图,甚至几十张图做同样的修改。
4 ?/ p/ S" F! J5 ~  对于上述情况,过去一般的作法是将每一图形文件调出来,逐一修改。在图幅比较大时,只能反复使用ZOOM命令,当所涉及的图形文件较多时(有时会有几百个),采用手动操作,其工作量非常大,而且大部分操作都是重复性的工作,长时间操作很容易发生混淆和遗漏,不但效率低,图纸质量又不能保证。6 u+ }% [# R5 p  F* _3 Z3 y
  能否将这些重复性的工作让计算机来完成呢?2 p# y; B" F) C! {
  AutoCAD是图形设计的通用软件,它为各种专业用的CAD提供了尽可能多的图形编辑功能,但很难实现自动化作图的功能。5 X2 Z# ^+ W! j9 f6 w
  在实践中我们用C语言编写了CHSCR应用程序,采用该程序设计人员只需编写一个简单的命令文件CH.SCR和要处理的文件表FILE.TAB,经过CHSCREXE应用程序转换,形成一个可以处理FILETAB所列出的所有文件的CHGESCR命令文件。然后利用AutoCAD的 SCRIPT命令,就可使计算机按命令自动批量修改图形并存盘或生成PLT绘图文件。由于采用了易于为非专业编程人员所接受的SCR文件方式来编写命令CHSCR,使用非常方便。3 I3 G/ |; O& m1 T! M, T7 r
二、如何使用CHSCR
; T5 q/ B2 i6 W) [5 l7 J2 H5 V  1. 创建CHSCR命令文件
' {- g: n2 C+ R9 f! _  CH.SCR文件的内容是由AutoCAD的命令和响应序列所组成的ASCⅡ文件,是可在AotuCAD编辑状态下执行的文本文件。
& {9 @' \8 L! ]& U: i  CH.SCR包含了可在指定图形中自动重复执行命令序列。
; k  v" B* E1 r: n+ i/ @3 \  例:把图形文件C800-01~ C800-98中的图纸编号2066DD3改变2087DD2。高层代号C13改为D24,设备型号DZ20改为C45AD。1 f  W0 e' H0 N3 r' J
  在DOS状态下用文本编辑软件建立CH.SCR文件:
' F9 s* [' |( J& b5 O: V$ C  CHTEXT_all _ _2066DD3<Enter>
: a. i/ }0 Z# B( v  2087DD2<Enter>  V; i" ?+ O1 D6 _
  CHTEXT_all _ _C13<Enter>0 m, J- s8 U) H& Z2 ?. H; m
  D24〈Enter〉. b0 o7 r* |! n) Z3 O( i6 x2 m
  CHTEXT _all _ _DZ20<Enter>
+ ~- j* U0 t' q& Z  C45AD〈Enter〉9 c% x3 G8 W( o; C9 d* q
  PLOT〈Enter〉
: r0 X( Z. O  W) E8 T1 K  〈Enter〉! [! c2 m9 I- j: F+ F3 e
  〈Enter〉8 D0 Z4 F# R" M, l. ]2 ?
 其中:7 N0 {) P1 y: f" g1 p3 m
  _代表一个空格8 Z) T0 v  k3 {( e$ Q
  〈Enter〉代表回车
% G1 S. q' W6 b0 U% u5 a( [  CHTEXT修改图中文字的LISP程序
9 ~3 N7 D1 }6 l6 i9 R+ K- ~  &#8226;AotoCAD中文字修改功能较弱,AutoCADR12.0中曾加了DDEDIT修改文字命令,但只能用鼠标器手工修改,且一次只能改一个字符串不适用程序化操作。
8 L- g: t$ i( i1 H7 c( p  因此,在编写SCR命令文件时我们采用了修改图中文字的LISP程序CHTEXT.LSP(其清单附后)。将其装入ACAD.LSP后,只要键入CHTEXT,就可按汉字提示使用,它一次可以修改多个字符串。
1 y  P# V* c$ t$ G5 x' m/ y) O  &#8226;当编写命令文件时,必须考虑每条AutoCAD命令中的所有响应和提示。命令文件中的每个空格都是有意义的,因为AotuCAD将它看作回车,所以不能随意增减。) `+ \0 A+ E1 I0 y$ C0 ]- p/ e
  &#8226;如果不需要输出PLT绘图文件,PLOT后面四行可以不要。; U5 Y5 f) j0 l& r+ b3 T9 ~
  &#8226;CHSCR有两个作用:
6 e! F6 ~3 l( A9 ~  ①如果需要修改的图形文件较少,可以在ACAD中通过SCRLPT命令直接调用CH.SCR。, k4 R( D. K$ a* @" ^/ ^/ I
  ②可以在ACAD中通过SCRIPT命令试运行一次,看是否有错。( a& j2 s+ Q$ \
  在ACAD命令状态下,键入以下命令即可按CH.SCR文件要求,对当前图形完成所需的修改。4 u7 M9 [) V0 G) g: Y
  Command:script<Enter>) i4 i- J0 j, e, O. y
  Script file:ch<Enter>
4 K7 D" {' c. I2 ]( w. T' P  当所涉及的图形文件较多时(十几个以上),采用手动操作,将每一图形文件调出来,逐一修改,效率太低。因此建议采用以下步骤,使计算机按命令自动批量修改图形文件。5 v' P: t0 p. N1 H' F
  2. 建立图形文件表FILE.TAB) K3 i8 _; t0 @8 E+ c
  创建完CH.SCR后,下一步应把需要修改图形文件名(.DWG)存入FILE.TAB中:; h: E! M& [9 r% p& P
  例如:
: `" j5 ]3 v! j0 W5 p1 X  C800-01& _. z+ w0 w: [" n1 n6 a) r7 f6 u0 F
  C800-02
% j' f4 N$ h& m/ |0 J* S2 m  C800-032 j5 d8 x, _/ ?; d0 |: A4 [
   .4 N) C) n0 q8 d9 ~! i
   .
% a1 }+ F8 w" D9 j   .! d" M+ G. w- z/ E3 g, X
  C800-98
/ p# D' G5 J& V; E" C  3. 编译生成CHGE.SCR文件
1 N" T% F; t9 L2 f; R$ Y# m  当具备CH.SCR(试运行正常后)和FILE.TAB文件后,就可以进行编译工作,在DOS状态下键入CHSCR〈Enter〉即开始编译,若编译出现问题,系统会给出相应的提示,编译完成后,你会发现目录中多了一个CHGE.SCR文件(自动修改图形的文本文件)。
% c; z- p  P! {  &#8226;CHSCR.EXE:其功能是配制SCR文件格式的命令字符串并调入相关的绘图参数(源程序用C语言编写,清单附后)。8 F6 Y$ m& S+ X
  &#8226;当ACAD输出PLT文件时,如果发现有对应图形的PLT文件,将提示出是否覆盖掉它,这将引起SCRIPT命令中断运行。为此在CHSCR.EXE中,我们是这么处理的:当程序发现有相应图形的PLT文件,将自动把它删除掉,并在屏幕上显示出对应的信息。$ u) o' f  _7 p7 w; ?; r& w
  经CHSCR.EXE所生成的CHGE.SCR文件:
: Y6 B/ D  Q2 n5 S9 P( _, g# e  open y C800-01: H# ^! X  i) G$ }4 V6 [" ?$ z
  CHTEXT all 2066DD3  \7 O. v( \3 e9 d; ^$ Y
  2087DD2! ^1 p8 Y0 Z. N- Y# Y
  CHTEXT all C13
; {7 h& J- K& `! [  D24! J% H2 t! P* ^  y1 G5 D
  CHTEXT all DZ20" G, l5 h# Q( [* X6 E5 X
  C45AD
6 u/ S* ~; _. O" @  PLOT
( |' z2 E3 ~9 m1 ?  <Enter>
- w: X9 @0 k) r+ g  <Enter>, m2 `! [- @' ?- ]# g
  <Enter>% A8 _- u- C" f& e8 p
  save2 N7 v& O$ i* F' ~6 R7 B4 Z
   .
& x" q% x2 o+ T4 v   .9 F6 u3 T: ?( I. B2 {& ]+ u
   .; P9 B" f: c0 a% ]5 L: m
  open y C900-98' W  j8 W: l5 L) P$ W4 e4 W
  CHTEXT all 2066DD3) W5 f) h1 U5 m
  2087DD24 O0 `; g. H& u6 f5 i% _  d* ^
  CHTEXT all C130 ^! x7 v' s; S7 a3 c8 t% N0 }
  D241 {9 p8 K5 f' y% S7 R: k
  CHTEXT all DZ20
! t, a  L: j# q* ]  J  C45AD
% n& g! ~7 }/ j  PLOT
7 Z( S4 l: E) u% h5 {8 `  <Enter>+ e/ L( b$ r, Y, e9 T" d7 l9 b2 @
  <Enter>) c6 v# @" {& y! ~  k% [
  <Enter>
5 N  A/ }& I6 v( C' h/ ~& W, M  save
% y& A" w+ D# g- P! S3 z' h9 j7 K4 a  quit y
- h" `9 g- S0 L- d7 e* d  4. 执行SCRIPT命令
1 j" C3 B8 m% o! Z6 O  ①在ACAD中通过SCRIPT命令直接调用CHGE.SCR:+ o3 @& ^8 W  e, I
  Command:script chge<Enter>
+ l$ ~, n8 c  G) J  ②启动AutoCAD时从操作系统提示符处输入以下正文:
3 ^# N# x! P$ ^3 I. q  C:acad script chge<Enter>
( N/ h) U! R( d三、程序的安装
( u/ X6 f% }5 J" D  1. 将CHTEXT.LSP装入ACAD.LSP中。
$ M2 O0 x0 x! N6 ~+ ~7 W% S8 s  2. 用通用C++编译器将CHSCR.C编译成可执行程序CHSCR.EXE,将其拷贝到CAD可找到的目录下。9 ~$ ^$ p% K9 t4 V! s; J, E$ T4 w- a
  程序CHSCR.EXE适用于AutoCAD R11.0、R12.0。& r$ P; l8 O6 P+ D; x6 s$ p
四、结束语
2 `: U- g3 E1 E  以上所举例仅是该程序应用的一个简单例子,在实践中还可用于图块的重新定义、图框更新、建立绘图标准配制、连续显示幻灯片、连续出图,限于篇幅不一一列举。) Z& P" o$ T" d8 [; l, K
  自从我们把该程序应用于批量修改图形文件后,不但将设计人员从繁锁的人工修改图纸中解脱出来,而且大大提高了设计效率和图纸质量
发表于 2008-4-6 19:11:45 | 显示全部楼层 来自: 中国广西南宁
AutoCAD中自动批量修改图形文件的程序( f1 l* h; v) s7 A% |/ n
一、概述 : {4 r5 F9 Y0 }
  在工程CAD绘图中,常常会遇到下列棘手的问题:
# Z$ @/ ^4 C7 I: b6 T9 Q$ q7 _3 Z  在施工图后期,大部分图形文件都已完成,但因某一条件的变化,需在某卷图中增加(或减少)一些图纸,这将导致许多相关图形文件的内容不得不进行相应的修改:如高层代号、图纸编号等。
4 x2 o1 B2 @' Z3 @. F  在实际工程设计中,为了提高效率,60%的图形是通过修改已有的设计而形成新的图形,这时常常进行一些重复性的工作,比如图框的替换、设备元器件的变更等,有时,要几张图,甚至几十张图做同样的修改。
9 m( B; o* y7 }  对于上述情况,过去一般的作法是将每一图形文件调出来,逐一修改。在图幅比较大时,只能反复使用ZOOM命令,当所涉及的图形文件较多时(有时会有几百个),采用手动操作,其工作量非常大,而且大部分操作都是重复性的工作,长时间操作很容易发生混淆和遗漏,不但效率低,图纸质量又不能保证。
9 Y6 i, X# C! [9 A  s% i  能否将这些重复性的工作让计算机来完成呢?$ ]: w: U1 x. ~8 k+ Z
  AutoCAD是图形设计的通用软件,它为各种专业用的CAD提供了尽可能多的图形编辑功能,但很难实现自动化作图的功能。  |$ P9 Q+ k# L7 k; ^
  在实践中我们用C语言编写了CHSCR应用程序,采用该程序设计人员只需编写一个简单的命令文件CH.SCR和要处理的文件表FILE.TAB,经过CHSCREXE应用程序转换,形成一个可以处理FILETAB所列出的所有文件的CHGESCR命令文件。然后利用AutoCAD的 SCRIPT命令,就可使计算机按命令自动批量修改图形并存盘或生成PLT绘图文件。由于采用了易于为非专业编程人员所接受的SCR文件方式来编写命令CHSCR,使用非常方便。8 w( E5 }6 X( m/ i- U3 o, \: R9 i
二、如何使用CHSCR
6 V8 ^! {% {$ Y+ w! h0 C/ J8 Z  1. 创建CHSCR命令文件) o) b. k# d8 w9 }" f" p1 W
  CH.SCR文件的内容是由AutoCAD的命令和响应序列所组成的ASCⅡ文件,是可在AotuCAD编辑状态下执行的文本文件。1 a7 m" F# A, @  \! k; a
  CH.SCR包含了可在指定图形中自动重复执行命令序列。& N3 G  ?1 A) _# @' v
  例:把图形文件C800-01~ C800-98中的图纸编号2066DD3改变2087DD2。高层代号C13改为D24,设备型号DZ20改为C45AD。, x* ]# Z& W+ T* k& ~8 Q/ w; U
  在DOS状态下用文本编辑软件建立CH.SCR文件:9 c  a+ M, H" k; t. H
  CHTEXT_all _ _2066DD3<Enter># {6 Q6 b, N- V$ @
  2087DD2<Enter>- S' N- j1 v0 |) U% P# ?0 N3 O! @
  CHTEXT_all _ _C13<Enter>4 c8 K# n6 M0 c9 ], y
  D24〈Enter〉
6 C+ \6 B% [+ I  X1 |  CHTEXT _all _ _DZ20<Enter>
' D4 J- p! t. M3 ^  C45AD〈Enter〉
+ d% T* _  C- q  PLOT〈Enter〉* H. G( j& d3 b- X
  〈Enter〉
8 j# s% j( _+ X  〈Enter〉; U( l- |9 V) o5 _
 其中:7 f; A7 M: M+ C* k# q( _, u
  _代表一个空格
2 ~, y( W6 Z! J8 N  s8 m  〈Enter〉代表回车1 r( s5 e6 A4 z; `4 O
  CHTEXT修改图中文字的LISP程序1 K1 J  w7 y5 U4 p4 e( G7 Q
  &#8226;AotoCAD中文字修改功能较弱,AutoCADR12.0中曾加了DDEDIT修改文字命令,但只能用鼠标器手工修改,且一次只能改一个字符串不适用程序化操作。! t( m$ a9 v& S& i9 s3 f
  因此,在编写SCR命令文件时我们采用了修改图中文字的LISP程序CHTEXT.LSP(其清单附后)。将其装入ACAD.LSP后,只要键入CHTEXT,就可按汉字提示使用,它一次可以修改多个字符串。
( l) E6 Z; |/ Z  &#8226;当编写命令文件时,必须考虑每条AutoCAD命令中的所有响应和提示。命令文件中的每个空格都是有意义的,因为AotuCAD将它看作回车,所以不能随意增减。
* I. m( `/ s8 f% W) Z/ {  &#8226;如果不需要输出PLT绘图文件,PLOT后面四行可以不要。
6 T/ S' d# |0 i  &#8226;CHSCR有两个作用:
' a! Q" w4 o5 g: J  ①如果需要修改的图形文件较少,可以在ACAD中通过SCRLPT命令直接调用CH.SCR。
2 s7 \, d( b8 R6 O5 w  H4 u, g  ②可以在ACAD中通过SCRIPT命令试运行一次,看是否有错。; [3 B3 x2 M$ n$ K( f
  在ACAD命令状态下,键入以下命令即可按CH.SCR文件要求,对当前图形完成所需的修改。
$ l0 P5 g# O% t. h9 v  Command:script<Enter>2 P$ X, Q+ m. D; ]$ o: d" Z( a1 F" E& F
  Script file:ch<Enter>
8 R  s, R/ ?! h, y- o  当所涉及的图形文件较多时(十几个以上),采用手动操作,将每一图形文件调出来,逐一修改,效率太低。因此建议采用以下步骤,使计算机按命令自动批量修改图形文件。0 c( |- _0 C; E7 K4 W4 ~, ]
  2. 建立图形文件表FILE.TAB
! \9 j$ j8 [0 k5 f4 n  创建完CH.SCR后,下一步应把需要修改图形文件名(.DWG)存入FILE.TAB中:
! o; D1 a3 a# i! i* {  例如:
6 J) S' w1 o4 F3 p1 u0 Y& v  C800-01' H6 p" ]5 M& }0 u$ l( L
  C800-02
' v# E+ L4 `3 F5 W  C800-03$ N$ k( z; w/ q& o
   .
5 C; V8 m  Z/ r6 u, z1 l% a   .
0 ~* v. h* }/ _+ g. y1 k   .
! t& A, r9 q: i# e( d  C800-98( M, \* x6 A9 S- V1 a# i5 M" \
  3. 编译生成CHGE.SCR文件/ J' [* M; ?1 A/ i1 m" k1 y
  当具备CH.SCR(试运行正常后)和FILE.TAB文件后,就可以进行编译工作,在DOS状态下键入CHSCR〈Enter〉即开始编译,若编译出现问题,系统会给出相应的提示,编译完成后,你会发现目录中多了一个CHGE.SCR文件(自动修改图形的文本文件)。
3 l4 C9 F  S4 Q  X; u  &#8226;CHSCR.EXE:其功能是配制SCR文件格式的命令字符串并调入相关的绘图参数(源程序用C语言编写,清单附后)。4 v. C1 W* F* Y  b% W( U& J  x+ p
  &#8226;当ACAD输出PLT文件时,如果发现有对应图形的PLT文件,将提示出是否覆盖掉它,这将引起SCRIPT命令中断运行。为此在CHSCR.EXE中,我们是这么处理的:当程序发现有相应图形的PLT文件,将自动把它删除掉,并在屏幕上显示出对应的信息。1 o3 c! F( a; }# ~5 ~
  经CHSCR.EXE所生成的CHGE.SCR文件:
' b/ V: T% o. R; e  open y C800-01
5 ?; f9 N" w9 _4 B' e  CHTEXT all 2066DD39 r5 R) m9 m+ p# v- B& B- O- ]
  2087DD21 N1 S/ y/ f) X- f! s
  CHTEXT all C13
* c2 A! H; \1 f  D248 s( O" N& R! ], L
  CHTEXT all DZ20
4 N7 Y9 t( J" j8 v  C45AD
6 Q: D- d9 w& @& |$ V9 K  d  PLOT
  C6 w" F3 p) B9 @* T$ s$ Y  <Enter>% j0 e6 V3 ^: j% s" w; T1 W: D
  <Enter>
7 ?+ d8 g, i4 Z6 o4 x  <Enter>; Y( S1 o" F: ?! N
  save
  E2 U( `& m. c* [3 {# y$ ?" X% P   .
2 f# v/ x* P8 B3 a& K6 m) p   .* A" |% o  l: ^; t) |# w
   .- H( J1 m, D; Q) Q; o
  open y C900-98
# t5 ?7 F- J+ l! f+ p+ X; y2 w  CHTEXT all 2066DD3
3 l" s9 U8 a, Z3 c  2087DD2
! i" L$ l8 B7 N( l8 C- X  CHTEXT all C13
$ `+ K0 a7 O. A1 W3 L, e5 x  D24
, E# F: B' I. O" D  w- g3 ~  CHTEXT all DZ20$ _0 k8 w; j# P8 V
  C45AD# r. s5 M1 b" m9 x! _
  PLOT" }. s8 f8 v1 h* g
  <Enter>
+ t, Z, w$ G  C; N/ {% E. }  <Enter>
. J  D* q  X4 p/ S3 i  <Enter>+ n1 K+ x+ }( x5 F) M
  save% u: W+ S- Y; b# K) D. k3 M  @3 g. N
  quit y
  K, D$ Z# o/ ?- N  4. 执行SCRIPT命令
$ y& S- d( i) F3 `  ①在ACAD中通过SCRIPT命令直接调用CHGE.SCR:3 X1 `. P5 q9 _
  Command:script chge<Enter>
2 }8 s/ b$ w/ f/ ]  ②启动AutoCAD时从操作系统提示符处输入以下正文:2 f9 P8 |) ]9 [9 C2 [
  C:acad script chge<Enter>; \  A, B; X) k) u* ~$ o% k
三、程序的安装1 f! z: H- w; m/ E' \( r! ?
  1. 将CHTEXT.LSP装入ACAD.LSP中。1 ^/ O8 X7 F) k3 e
  2. 用通用C++编译器将CHSCR.C编译成可执行程序CHSCR.EXE,将其拷贝到CAD可找到的目录下。
( s8 [6 e9 ?  L( R$ v  程序CHSCR.EXE适用于AutoCAD R11.0、R12.0。- [  `% ^; ^" T1 ~/ U- F2 p
四、结束语
7 b7 c3 L# c- l6 W. {& _! y. \  以上所举例仅是该程序应用的一个简单例子,在实践中还可用于图块的重新定义、图框更新、建立绘图标准配制、连续显示幻灯片、连续出图,限于篇幅不一一列举。
, R+ L, L, \4 f  自从我们把该程序应用于批量修改图形文件后,不但将设计人员从繁锁的人工修改图纸中解脱出来,而且大大提高了设计效率和图纸质量
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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