QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 2015|回复: 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中自动批量修改图形文件的程序2 u- k' ]) z: [# q: y8 @: I" f
一、概述 , c. i) J/ Q; J/ Z7 K4 O9 D: c
  在工程CAD绘图中,常常会遇到下列棘手的问题:; O$ F. {/ w' c
  在施工图后期,大部分图形文件都已完成,但因某一条件的变化,需在某卷图中增加(或减少)一些图纸,这将导致许多相关图形文件的内容不得不进行相应的修改:如高层代号、图纸编号等。
( Q/ G6 P; r- q5 z, s8 a  n  在实际工程设计中,为了提高效率,60%的图形是通过修改已有的设计而形成新的图形,这时常常进行一些重复性的工作,比如图框的替换、设备元器件的变更等,有时,要几张图,甚至几十张图做同样的修改。3 k+ W) u+ V9 P! L9 _7 H
  对于上述情况,过去一般的作法是将每一图形文件调出来,逐一修改。在图幅比较大时,只能反复使用ZOOM命令,当所涉及的图形文件较多时(有时会有几百个),采用手动操作,其工作量非常大,而且大部分操作都是重复性的工作,长时间操作很容易发生混淆和遗漏,不但效率低,图纸质量又不能保证。  A7 ~6 U2 A* a( c
  能否将这些重复性的工作让计算机来完成呢?8 }) h+ B% r4 O; s/ y: O& ^# }
  AutoCAD是图形设计的通用软件,它为各种专业用的CAD提供了尽可能多的图形编辑功能,但很难实现自动化作图的功能。
- o/ x6 m$ W" Q4 ?. n  在实践中我们用C语言编写了CHSCR应用程序,采用该程序设计人员只需编写一个简单的命令文件CH.SCR和要处理的文件表FILE.TAB,经过CHSCREXE应用程序转换,形成一个可以处理FILETAB所列出的所有文件的CHGESCR命令文件。然后利用AutoCAD的 SCRIPT命令,就可使计算机按命令自动批量修改图形并存盘或生成PLT绘图文件。由于采用了易于为非专业编程人员所接受的SCR文件方式来编写命令CHSCR,使用非常方便。
& z* u, v& f7 K二、如何使用CHSCR
. y6 m( T9 w+ t" z4 `& Y  1. 创建CHSCR命令文件. l* M- W. x3 U- q- ~, B* r4 z" h2 t
  CH.SCR文件的内容是由AutoCAD的命令和响应序列所组成的ASCⅡ文件,是可在AotuCAD编辑状态下执行的文本文件。7 g, U% ]" B. T4 ~% i
  CH.SCR包含了可在指定图形中自动重复执行命令序列。. {' P( k  J1 A3 o/ W* P: Q" \
  例:把图形文件C800-01~ C800-98中的图纸编号2066DD3改变2087DD2。高层代号C13改为D24,设备型号DZ20改为C45AD。
& J2 {5 f; i, V  在DOS状态下用文本编辑软件建立CH.SCR文件:6 C% Y% c5 ?" u' ]$ \- X
  CHTEXT_all _ _2066DD3<Enter>
; N% e5 o- M, p: F. ?% \! U0 f  2087DD2<Enter>2 X0 l, p5 H( p' g7 o$ S
  CHTEXT_all _ _C13<Enter>4 U8 @+ f* \0 w
  D24〈Enter〉
  L% G/ b" v" z+ Y  CHTEXT _all _ _DZ20<Enter>5 {1 b3 `. F4 X$ O5 {+ p
  C45AD〈Enter〉
( i4 R, f' g) V; ?8 A! j  PLOT〈Enter〉" M0 u% u/ u* l
  〈Enter〉
) `; S  J: }2 S2 W  〈Enter〉
1 c+ K8 W; g$ C) ^ 其中:
1 A/ U- l5 g  p# R  _代表一个空格* W6 l. e' J: I* q2 ~, Q( U: S. b
  〈Enter〉代表回车
" P# A5 z! Y3 Q/ L- ^0 \  CHTEXT修改图中文字的LISP程序
. s8 j- h4 M' S# u0 M  &#8226;AotoCAD中文字修改功能较弱,AutoCADR12.0中曾加了DDEDIT修改文字命令,但只能用鼠标器手工修改,且一次只能改一个字符串不适用程序化操作。
6 N4 I! y. g2 U& G, ?  因此,在编写SCR命令文件时我们采用了修改图中文字的LISP程序CHTEXT.LSP(其清单附后)。将其装入ACAD.LSP后,只要键入CHTEXT,就可按汉字提示使用,它一次可以修改多个字符串。
- r7 m" D$ v- b) M  O; k5 c  &#8226;当编写命令文件时,必须考虑每条AutoCAD命令中的所有响应和提示。命令文件中的每个空格都是有意义的,因为AotuCAD将它看作回车,所以不能随意增减。
0 |" n. }" }$ W8 a# e0 j% b/ O  &#8226;如果不需要输出PLT绘图文件,PLOT后面四行可以不要。& O0 d% Q3 N+ C% U8 E& P  j5 U% r) Q
  &#8226;CHSCR有两个作用:" \/ f% ^! T9 W, S
  ①如果需要修改的图形文件较少,可以在ACAD中通过SCRLPT命令直接调用CH.SCR。. `1 r, A9 y# Y
  ②可以在ACAD中通过SCRIPT命令试运行一次,看是否有错。5 E& Q+ Z9 A& l3 Y0 {
  在ACAD命令状态下,键入以下命令即可按CH.SCR文件要求,对当前图形完成所需的修改。& L9 |! T# T6 i$ @8 v3 ?! V
  Command:script<Enter># Q8 }  N/ d8 j. [5 K# _: M, d
  Script file:ch<Enter>
" m6 k# E3 d5 x# k& u8 q% ]4 S  当所涉及的图形文件较多时(十几个以上),采用手动操作,将每一图形文件调出来,逐一修改,效率太低。因此建议采用以下步骤,使计算机按命令自动批量修改图形文件。
5 l) ?" z! z  x) c6 A- g" @0 N  2. 建立图形文件表FILE.TAB' _# }* a4 R/ x/ t/ G7 o
  创建完CH.SCR后,下一步应把需要修改图形文件名(.DWG)存入FILE.TAB中:
1 U! l. p# a" J  例如:
2 [9 c/ J0 |) C  n/ e- {  C800-01
/ b' K3 p+ Z8 a, x; d3 A  C800-02
% i5 ]7 d9 t( I; U( G* k' O  C800-03
1 @' A; @: h3 \8 X& n   .
+ ^. n( e2 c% C& M( v( F% H   .3 h( Y! f4 r# X6 i  U
   .+ L  F0 o# y/ Q( _% o% o+ e
  C800-98+ n: }( U) H% w) P- i9 |8 @4 V* x
  3. 编译生成CHGE.SCR文件
& Z0 u$ m3 o% f3 k. S% d  当具备CH.SCR(试运行正常后)和FILE.TAB文件后,就可以进行编译工作,在DOS状态下键入CHSCR〈Enter〉即开始编译,若编译出现问题,系统会给出相应的提示,编译完成后,你会发现目录中多了一个CHGE.SCR文件(自动修改图形的文本文件)。; M$ v0 T! E- h' T3 `
  &#8226;CHSCR.EXE:其功能是配制SCR文件格式的命令字符串并调入相关的绘图参数(源程序用C语言编写,清单附后)。, V; F8 ]+ n8 p! T$ s& c
  &#8226;当ACAD输出PLT文件时,如果发现有对应图形的PLT文件,将提示出是否覆盖掉它,这将引起SCRIPT命令中断运行。为此在CHSCR.EXE中,我们是这么处理的:当程序发现有相应图形的PLT文件,将自动把它删除掉,并在屏幕上显示出对应的信息。( j3 y$ Y1 p# F
  经CHSCR.EXE所生成的CHGE.SCR文件:/ n* \0 o7 b  Y0 y; j* o' {/ g
  open y C800-01
9 ]+ A4 @) \) ?' a  CHTEXT all 2066DD33 H. B7 y+ ?4 O( j: Y# c
  2087DD2! o7 T0 J3 p  T0 P% ~& S; y6 p
  CHTEXT all C134 f: e0 m( J7 Y6 A
  D24* p7 e3 s. }' \# G* @2 L
  CHTEXT all DZ20
7 `$ c% e  R0 I  C45AD
& u0 v- |  q1 {  PLOT
6 V5 R- {/ n% B. v  <Enter>" d0 I9 O$ K/ E3 T# Q9 ~8 h
  <Enter>
" ~% D5 d" t3 k( [3 q% O# d! B8 M  <Enter>
; k! b: y. A/ d7 N  save
( w) x1 C3 ~0 h. X   .7 L! O/ ?8 \, \1 h5 P
   .7 ]& q- i7 }  P6 d* G$ k( U
   ." g  r5 ]* {' M7 c+ @: d2 [# S* ?
  open y C900-98
6 I5 p. s$ [. q$ H+ v  CHTEXT all 2066DD39 S0 ^+ U6 Z9 N2 a
  2087DD2: I3 j+ H( r6 l0 K1 M
  CHTEXT all C13% K' I4 e" ]* X5 n  Q
  D24
( j& {/ c& O% z/ B7 t  CHTEXT all DZ20, \) V$ N5 M/ V6 \. A2 w
  C45AD
: J- Q' \0 |  a  e* J+ G) ]- u6 P  PLOT+ n, I0 r1 S3 ^. z
  <Enter>; q1 g% T- z$ D: m) `0 H7 w
  <Enter>
; Z+ N) l) T% P! J0 l2 i* y* L  <Enter>
* A4 v3 P: g1 |' |% g  save, {+ {0 X2 V( T0 k4 ?* J; b
  quit y, D8 M2 r7 F8 O5 d! l" g* `1 z
  4. 执行SCRIPT命令
% ~% W- n: y+ s2 y% K& t  ①在ACAD中通过SCRIPT命令直接调用CHGE.SCR:
7 I% J5 Y( I& E, b  Command:script chge<Enter>
0 [. r7 e4 H5 x! r- C+ ]' o  ②启动AutoCAD时从操作系统提示符处输入以下正文:
% J' U3 b7 C3 f$ O' s  C:acad script chge<Enter>1 ~. A3 i0 H  x8 |) T& w1 [
三、程序的安装
: M. N6 D4 I" `. ?/ Q/ m  1. 将CHTEXT.LSP装入ACAD.LSP中。" G4 h8 Y* _( i; n
  2. 用通用C++编译器将CHSCR.C编译成可执行程序CHSCR.EXE,将其拷贝到CAD可找到的目录下。
# T3 T) d+ S% d0 X: k7 F# J  程序CHSCR.EXE适用于AutoCAD R11.0、R12.0。) f, L/ o, T, [) N7 ^
四、结束语
: a1 U0 \- z$ M% `& O  以上所举例仅是该程序应用的一个简单例子,在实践中还可用于图块的重新定义、图框更新、建立绘图标准配制、连续显示幻灯片、连续出图,限于篇幅不一一列举。% {, P6 l& v' t8 i' \/ f
  自从我们把该程序应用于批量修改图形文件后,不但将设计人员从繁锁的人工修改图纸中解脱出来,而且大大提高了设计效率和图纸质量
发表于 2008-4-6 19:11:45 | 显示全部楼层 来自: 中国广西南宁
AutoCAD中自动批量修改图形文件的程序- r. r, R8 H% a6 l5 H, Y% Y. a
一、概述 , C* _/ k% h: }! D+ Q) D) L+ S# Z
  在工程CAD绘图中,常常会遇到下列棘手的问题:0 {, s8 B3 A' @* L
  在施工图后期,大部分图形文件都已完成,但因某一条件的变化,需在某卷图中增加(或减少)一些图纸,这将导致许多相关图形文件的内容不得不进行相应的修改:如高层代号、图纸编号等。
, e# k. V- \& q0 L- F! G% J0 b( ~% E0 W  在实际工程设计中,为了提高效率,60%的图形是通过修改已有的设计而形成新的图形,这时常常进行一些重复性的工作,比如图框的替换、设备元器件的变更等,有时,要几张图,甚至几十张图做同样的修改。2 e4 b1 d2 F( E9 @
  对于上述情况,过去一般的作法是将每一图形文件调出来,逐一修改。在图幅比较大时,只能反复使用ZOOM命令,当所涉及的图形文件较多时(有时会有几百个),采用手动操作,其工作量非常大,而且大部分操作都是重复性的工作,长时间操作很容易发生混淆和遗漏,不但效率低,图纸质量又不能保证。& A  p+ j9 c; ?1 D" h
  能否将这些重复性的工作让计算机来完成呢?
  P* ?+ R; r0 D! k4 y: ~  AutoCAD是图形设计的通用软件,它为各种专业用的CAD提供了尽可能多的图形编辑功能,但很难实现自动化作图的功能。
' h( H! W- a7 `. b7 z  在实践中我们用C语言编写了CHSCR应用程序,采用该程序设计人员只需编写一个简单的命令文件CH.SCR和要处理的文件表FILE.TAB,经过CHSCREXE应用程序转换,形成一个可以处理FILETAB所列出的所有文件的CHGESCR命令文件。然后利用AutoCAD的 SCRIPT命令,就可使计算机按命令自动批量修改图形并存盘或生成PLT绘图文件。由于采用了易于为非专业编程人员所接受的SCR文件方式来编写命令CHSCR,使用非常方便。
) J' m: a& V* c" w二、如何使用CHSCR3 H& ]8 v) X* p# _6 d
  1. 创建CHSCR命令文件5 d3 h: w9 U/ \2 S
  CH.SCR文件的内容是由AutoCAD的命令和响应序列所组成的ASCⅡ文件,是可在AotuCAD编辑状态下执行的文本文件。
. L- Q, }7 W' w/ }2 D* q+ F  CH.SCR包含了可在指定图形中自动重复执行命令序列。
, X( f7 [2 x; h! j5 s  例:把图形文件C800-01~ C800-98中的图纸编号2066DD3改变2087DD2。高层代号C13改为D24,设备型号DZ20改为C45AD。$ i4 h0 T1 E; [4 S! w) {. y
  在DOS状态下用文本编辑软件建立CH.SCR文件:
; B! A4 ~/ E1 o/ w4 j- O  CHTEXT_all _ _2066DD3<Enter>" v3 W/ \& f) O9 X8 w
  2087DD2<Enter>
9 b- p. x9 A, G) ?0 v; z5 w  CHTEXT_all _ _C13<Enter>
3 f, l3 M% X+ Z9 a! c* x  D24〈Enter〉
8 |" I/ r2 z; G4 H  v6 g  CHTEXT _all _ _DZ20<Enter>
5 z" R3 v& r5 I8 P/ [1 j6 q: M  C45AD〈Enter〉; q/ G  A( p. T8 y
  PLOT〈Enter〉
: L$ X7 E' A, V0 C$ ~& k  〈Enter〉
( [  Z- K# c7 H6 D  〈Enter〉7 X( ~. e- Y1 X0 A
 其中:
: D# X  i8 n9 [2 e! W! B/ I) m  _代表一个空格# E% q4 z0 c2 _3 M' V
  〈Enter〉代表回车, X7 M3 M* A  _: K+ ?
  CHTEXT修改图中文字的LISP程序
9 m: R' I2 D  S2 ^; e8 F  &#8226;AotoCAD中文字修改功能较弱,AutoCADR12.0中曾加了DDEDIT修改文字命令,但只能用鼠标器手工修改,且一次只能改一个字符串不适用程序化操作。8 i2 c0 g8 X  h% l
  因此,在编写SCR命令文件时我们采用了修改图中文字的LISP程序CHTEXT.LSP(其清单附后)。将其装入ACAD.LSP后,只要键入CHTEXT,就可按汉字提示使用,它一次可以修改多个字符串。
9 e5 M& z/ y! B, j/ v  &#8226;当编写命令文件时,必须考虑每条AutoCAD命令中的所有响应和提示。命令文件中的每个空格都是有意义的,因为AotuCAD将它看作回车,所以不能随意增减。4 o# s% T) ~# ?( b9 ^+ |3 j8 \
  &#8226;如果不需要输出PLT绘图文件,PLOT后面四行可以不要。
0 `$ N$ i( }4 `7 `  &#8226;CHSCR有两个作用:
3 a. ?2 u% B0 _: K% c& q' G  ①如果需要修改的图形文件较少,可以在ACAD中通过SCRLPT命令直接调用CH.SCR。4 I+ c. J1 ^8 i/ Z5 x
  ②可以在ACAD中通过SCRIPT命令试运行一次,看是否有错。
8 n; a9 I; i) J6 N  在ACAD命令状态下,键入以下命令即可按CH.SCR文件要求,对当前图形完成所需的修改。
+ u  k, i+ @4 V! W  Command:script<Enter>
4 R5 a% U+ D% Z  Script file:ch<Enter>3 `$ {' g" q- i8 L7 F9 U" u# \
  当所涉及的图形文件较多时(十几个以上),采用手动操作,将每一图形文件调出来,逐一修改,效率太低。因此建议采用以下步骤,使计算机按命令自动批量修改图形文件。
; E4 d+ o! i3 p+ P; f  2. 建立图形文件表FILE.TAB2 C) B1 A2 o; H/ c+ }& D( X7 }
  创建完CH.SCR后,下一步应把需要修改图形文件名(.DWG)存入FILE.TAB中:
' L+ {; i& p. I$ O! P  例如:
5 ~5 F7 {8 {6 s9 n  [2 W# B  C800-01
; y! y( d  i" V, b( R1 ^. b1 }  C800-022 a! @4 p! ~4 q- b9 k+ J
  C800-03
& z% j# B3 ?6 N# g0 {+ V/ ?% e   .1 J) k6 n* m" L! s2 c+ C* Z* T, f0 f
   .
. P( g: \, h# v1 v% M0 m5 k   .
4 p  s% P  R  @  C800-980 l# S: m1 X; S9 F: m& _
  3. 编译生成CHGE.SCR文件
* h; L7 i6 T* z, n' s  当具备CH.SCR(试运行正常后)和FILE.TAB文件后,就可以进行编译工作,在DOS状态下键入CHSCR〈Enter〉即开始编译,若编译出现问题,系统会给出相应的提示,编译完成后,你会发现目录中多了一个CHGE.SCR文件(自动修改图形的文本文件)。6 h% Y% I# }# ~1 ?! H
  &#8226;CHSCR.EXE:其功能是配制SCR文件格式的命令字符串并调入相关的绘图参数(源程序用C语言编写,清单附后)。
4 i1 d. i! h; L* I. z  n1 i# U5 j! m  &#8226;当ACAD输出PLT文件时,如果发现有对应图形的PLT文件,将提示出是否覆盖掉它,这将引起SCRIPT命令中断运行。为此在CHSCR.EXE中,我们是这么处理的:当程序发现有相应图形的PLT文件,将自动把它删除掉,并在屏幕上显示出对应的信息。
" [+ u4 z. _! |9 g8 {. T  经CHSCR.EXE所生成的CHGE.SCR文件:
# j* F, a  p8 v* M' h1 z  open y C800-01
6 j- v2 |4 u" u7 f  CHTEXT all 2066DD3# q! E/ N0 D2 r0 R0 y6 i
  2087DD2: [5 c, ]0 z! P. D* W* N( o* f+ {7 @
  CHTEXT all C13
0 X5 b- E8 v  Q% G$ ]2 A  D24
1 }' @& h7 _- J- P- ]  CHTEXT all DZ20
" R* U- K- i; y) \5 T7 d2 ]  C45AD
1 s& q. \$ M6 [2 o8 f5 x  y  PLOT
% h7 E0 m/ t" @  <Enter>
4 V: C3 ]5 A. F' u# @  <Enter>3 N' q8 y7 \) \* @
  <Enter>
9 a9 J) @+ k' n$ z  save1 e; w; T  s( K1 o- @; r. p$ {, U
   .6 A7 u; L* m- W# b2 G
   ." Q: @  O4 G* m
   .
" K  B7 N5 H7 B3 z/ E8 r  open y C900-98* n: C; M3 X; i1 y2 V- Q/ V+ \% b
  CHTEXT all 2066DD3' R, W/ J+ q2 R% |( `9 b
  2087DD2
% Q8 Y! c& d/ l* E, g+ `  CHTEXT all C13
7 y. H3 ~6 r. h& Z( {1 p  D24
2 [( v5 |5 l6 x) e1 W  CHTEXT all DZ20
/ o; O2 ~2 X3 _2 ]  C45AD# o% N) x2 j2 |  S/ ^6 s) c
  PLOT4 [* J: z9 d2 y0 s  |/ ]/ M
  <Enter>) J/ E+ c0 L- ]/ K9 d1 Z7 S* V$ b# ^
  <Enter>, o, b/ u6 A8 _9 j7 D; r
  <Enter>9 |* A0 c6 w: Z3 Z' ?
  save3 F4 F, h0 G, e( \, K; Q7 Y
  quit y
* f& D! o: x( Z3 k, Y" Z+ P! p- Z  4. 执行SCRIPT命令- N$ k; y8 R. q
  ①在ACAD中通过SCRIPT命令直接调用CHGE.SCR:3 [; q0 K% ]3 a1 a  Q# L2 {
  Command:script chge<Enter>- T: Z9 ^9 u. q9 D" t% q
  ②启动AutoCAD时从操作系统提示符处输入以下正文:
3 A6 ?$ `/ Z! I6 y  C:acad script chge<Enter>/ H3 x$ |3 k# e, H8 m( ~9 ^# `
三、程序的安装( F6 |5 `: B& M( w9 S5 `
  1. 将CHTEXT.LSP装入ACAD.LSP中。6 ~( @: e0 c, d4 a( I  @* _
  2. 用通用C++编译器将CHSCR.C编译成可执行程序CHSCR.EXE,将其拷贝到CAD可找到的目录下。- }" A- @4 Z4 y; a$ C( S3 Z8 j
  程序CHSCR.EXE适用于AutoCAD R11.0、R12.0。5 F4 M6 [# }7 Z* d* O6 C
四、结束语
9 V9 r+ Z: r4 Q" k7 L  以上所举例仅是该程序应用的一个简单例子,在实践中还可用于图块的重新定义、图框更新、建立绘图标准配制、连续显示幻灯片、连续出图,限于篇幅不一一列举。
4 C; E) s. g& [( f; F, b! d/ t8 K  自从我们把该程序应用于批量修改图形文件后,不但将设计人员从繁锁的人工修改图纸中解脱出来,而且大大提高了设计效率和图纸质量
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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