QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 2013|回复: 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中自动批量修改图形文件的程序
- H9 O: G' P) g( N一、概述 ( r( D# O. W( H
  在工程CAD绘图中,常常会遇到下列棘手的问题:
# q+ U3 o& `1 x. k$ L! A  在施工图后期,大部分图形文件都已完成,但因某一条件的变化,需在某卷图中增加(或减少)一些图纸,这将导致许多相关图形文件的内容不得不进行相应的修改:如高层代号、图纸编号等。/ w3 ]3 ?5 M" S
  在实际工程设计中,为了提高效率,60%的图形是通过修改已有的设计而形成新的图形,这时常常进行一些重复性的工作,比如图框的替换、设备元器件的变更等,有时,要几张图,甚至几十张图做同样的修改。4 s4 b* D: E+ `6 z
  对于上述情况,过去一般的作法是将每一图形文件调出来,逐一修改。在图幅比较大时,只能反复使用ZOOM命令,当所涉及的图形文件较多时(有时会有几百个),采用手动操作,其工作量非常大,而且大部分操作都是重复性的工作,长时间操作很容易发生混淆和遗漏,不但效率低,图纸质量又不能保证。
/ r% ~, G2 e, Y0 Y  能否将这些重复性的工作让计算机来完成呢?7 b1 U+ _% w0 Z
  AutoCAD是图形设计的通用软件,它为各种专业用的CAD提供了尽可能多的图形编辑功能,但很难实现自动化作图的功能。9 n- P  A) s3 q+ z
  在实践中我们用C语言编写了CHSCR应用程序,采用该程序设计人员只需编写一个简单的命令文件CH.SCR和要处理的文件表FILE.TAB,经过CHSCREXE应用程序转换,形成一个可以处理FILETAB所列出的所有文件的CHGESCR命令文件。然后利用AutoCAD的 SCRIPT命令,就可使计算机按命令自动批量修改图形并存盘或生成PLT绘图文件。由于采用了易于为非专业编程人员所接受的SCR文件方式来编写命令CHSCR,使用非常方便。6 {* q; f, U  y3 Z7 Q6 W, M9 x
二、如何使用CHSCR
9 i+ L+ {2 \- j! ?8 o  1. 创建CHSCR命令文件
6 W! Q' x) @3 ~- z, Y  CH.SCR文件的内容是由AutoCAD的命令和响应序列所组成的ASCⅡ文件,是可在AotuCAD编辑状态下执行的文本文件。
7 x# x9 [* j- }7 H' q: x  CH.SCR包含了可在指定图形中自动重复执行命令序列。
$ c- U8 Z' l8 j2 S  例:把图形文件C800-01~ C800-98中的图纸编号2066DD3改变2087DD2。高层代号C13改为D24,设备型号DZ20改为C45AD。
2 l# E% S9 y8 a# E8 a" g  在DOS状态下用文本编辑软件建立CH.SCR文件:
) x, N% z9 c( s' ~  CHTEXT_all _ _2066DD3<Enter>
+ w; c+ A1 |2 T# S: E  2087DD2<Enter>
$ Y- X5 t) ^. k$ z: q+ o2 r; ~% ?$ m  CHTEXT_all _ _C13<Enter>5 {: c% t9 @3 j* }9 F
  D24〈Enter〉2 x6 E+ s6 w0 i, ^, s
  CHTEXT _all _ _DZ20<Enter>! p: k6 o1 o& e
  C45AD〈Enter〉
4 P8 t# w! h) v8 O3 r  PLOT〈Enter〉) m( F& J% b1 T
  〈Enter〉
$ V- j; e% {' Q- M  〈Enter〉# J0 E- W0 P7 R7 j7 |) f' p
 其中:. Q4 i8 s  w- H3 V& `
  _代表一个空格* ^1 V7 X5 B8 z7 q
  〈Enter〉代表回车
& U, M! Y7 `/ a' V8 r/ A  CHTEXT修改图中文字的LISP程序
$ |# G' b: V- i5 K$ F  &#8226;AotoCAD中文字修改功能较弱,AutoCADR12.0中曾加了DDEDIT修改文字命令,但只能用鼠标器手工修改,且一次只能改一个字符串不适用程序化操作。
( S1 A- G$ O6 \! `! d7 W  因此,在编写SCR命令文件时我们采用了修改图中文字的LISP程序CHTEXT.LSP(其清单附后)。将其装入ACAD.LSP后,只要键入CHTEXT,就可按汉字提示使用,它一次可以修改多个字符串。
! d* h1 g' S" J2 L  &#8226;当编写命令文件时,必须考虑每条AutoCAD命令中的所有响应和提示。命令文件中的每个空格都是有意义的,因为AotuCAD将它看作回车,所以不能随意增减。
7 X0 f  u4 I1 z: h  &#8226;如果不需要输出PLT绘图文件,PLOT后面四行可以不要。
/ W' J! j. Q) k; T3 F+ p0 d5 t  &#8226;CHSCR有两个作用:
0 q+ ]  a! s' [4 Q5 J  ①如果需要修改的图形文件较少,可以在ACAD中通过SCRLPT命令直接调用CH.SCR。
) T  y3 L+ S! i- x9 \% P6 P- |  ②可以在ACAD中通过SCRIPT命令试运行一次,看是否有错。
; }* D" q6 e% R  u7 l. f( ~* z  在ACAD命令状态下,键入以下命令即可按CH.SCR文件要求,对当前图形完成所需的修改。6 g0 D; o0 ^* c5 Q
  Command:script<Enter>
  X  [, W  u3 D- O  Script file:ch<Enter>( {; x% \4 R: G8 |* W/ l- T  P! X+ ~
  当所涉及的图形文件较多时(十几个以上),采用手动操作,将每一图形文件调出来,逐一修改,效率太低。因此建议采用以下步骤,使计算机按命令自动批量修改图形文件。! m8 `: P. c. ^) w0 Z* m- u5 r7 f
  2. 建立图形文件表FILE.TAB  H5 s9 d( b/ t& Y; c* r
  创建完CH.SCR后,下一步应把需要修改图形文件名(.DWG)存入FILE.TAB中:$ i( `( P! ~' `) V* n; F- `3 b
  例如:; Q; v$ C8 a, o; l! X7 Q
  C800-01
! J$ g* S0 `& s4 J4 W  C800-02
+ j0 a& Q- B5 ^0 s2 _  C800-03
) S- z6 X* U1 Z. R; ]! V7 N   .
# Y& {: b3 B3 w* A! ?/ W   .
; G  E: v5 M* j   .
3 s% {9 ^- O0 ~) S- n  C800-98
1 s; R& S0 D& f) ]  j4 h# g* p  3. 编译生成CHGE.SCR文件
) c' K' f; a$ K, i! k3 X  当具备CH.SCR(试运行正常后)和FILE.TAB文件后,就可以进行编译工作,在DOS状态下键入CHSCR〈Enter〉即开始编译,若编译出现问题,系统会给出相应的提示,编译完成后,你会发现目录中多了一个CHGE.SCR文件(自动修改图形的文本文件)。
2 ?* S' U$ a/ H8 a+ l6 z  &#8226;CHSCR.EXE:其功能是配制SCR文件格式的命令字符串并调入相关的绘图参数(源程序用C语言编写,清单附后)。7 D& V- [: _; B; F4 s9 U: @8 H5 x( j
  &#8226;当ACAD输出PLT文件时,如果发现有对应图形的PLT文件,将提示出是否覆盖掉它,这将引起SCRIPT命令中断运行。为此在CHSCR.EXE中,我们是这么处理的:当程序发现有相应图形的PLT文件,将自动把它删除掉,并在屏幕上显示出对应的信息。1 ^1 q0 R2 l7 L* o( P. |2 g' ~6 N
  经CHSCR.EXE所生成的CHGE.SCR文件:
+ n# @, j- Q$ e  open y C800-01% c* h; g+ \& `7 B8 z- p. s# k
  CHTEXT all 2066DD3
1 \" t( w) N9 |. Q  2087DD2
, \8 Z. D" m9 i7 \* U' J  CHTEXT all C13
& ?/ r, k7 g$ \* H: L  D24
% T3 [0 u2 n. f: T! t" o  CHTEXT all DZ204 x$ u" r9 T" S9 v! s" y+ x2 i
  C45AD
* m. w4 b+ G" \3 J, W) u7 S  PLOT, p2 ]& ?; N( e+ m: R- F8 I/ y% G
  <Enter>$ q+ m) A1 l6 B3 W
  <Enter>6 J; D2 p+ V6 [/ F, J
  <Enter>
. V! F; M2 [) [. A  save
0 e5 `6 r2 u  }+ U- z9 U   .
( F5 ?2 o, o' Y& r   .6 [& E' z2 b' o
   .
3 }/ r- a  R7 Y% Y2 v, J3 ~  r! B  open y C900-98, v' a' y  t8 l. a0 R4 Z9 N; ]  H
  CHTEXT all 2066DD3
# [+ Q  V: J3 i% B* r1 P  2087DD2
6 }' H) ^5 F2 p% o7 Y% k  CHTEXT all C13
& Z+ [* C  L$ I. C1 }4 l  D24
0 {/ s7 W: O7 y9 G5 M  CHTEXT all DZ20# J4 c$ I6 V5 x9 v5 R
  C45AD
) @4 ~" a7 {. q  PLOT* Q" o  @# N; U6 l
  <Enter>) d4 D) \( K: R2 o
  <Enter>& s& ?3 W" ?7 o+ u' M( i% {3 q! H" Q
  <Enter>
% D# m: i0 _$ u5 b- A' r4 U) g2 F  save, d( X8 @0 o$ V- n1 b7 h
  quit y
* _% B* }7 H: P5 I4 L$ z' g) b. @  4. 执行SCRIPT命令
* A/ X. Q- t" `: U+ r  ①在ACAD中通过SCRIPT命令直接调用CHGE.SCR:
, S5 @( \3 x7 [) \( ?8 \/ s# [# U$ ~  Command:script chge<Enter>. [0 q& m9 c1 F4 B0 c( c* _  K. s
  ②启动AutoCAD时从操作系统提示符处输入以下正文:  K# m' n; |8 j% t' S6 m. r5 X( C
  C:acad script chge<Enter>
6 Y% ]# u5 B9 k- T3 H5 z三、程序的安装
" C0 f3 ]1 e1 R/ k' i  1. 将CHTEXT.LSP装入ACAD.LSP中。  l6 y9 h- [% B+ M( o8 f
  2. 用通用C++编译器将CHSCR.C编译成可执行程序CHSCR.EXE,将其拷贝到CAD可找到的目录下。
' g( Q; D. U1 J) K# P; U( T, _  ?9 P  程序CHSCR.EXE适用于AutoCAD R11.0、R12.0。
+ ^, u) ?- }7 N* \四、结束语
1 F  j8 h+ c$ A# Z  V. {% m3 v  以上所举例仅是该程序应用的一个简单例子,在实践中还可用于图块的重新定义、图框更新、建立绘图标准配制、连续显示幻灯片、连续出图,限于篇幅不一一列举。
  r7 X1 N. q6 m/ D  自从我们把该程序应用于批量修改图形文件后,不但将设计人员从繁锁的人工修改图纸中解脱出来,而且大大提高了设计效率和图纸质量
发表于 2008-4-6 19:11:45 | 显示全部楼层 来自: 中国广西南宁
AutoCAD中自动批量修改图形文件的程序8 s6 i8 `0 ^1 a7 ]5 ^
一、概述 ; L0 \& d2 O; b0 k2 Y
  在工程CAD绘图中,常常会遇到下列棘手的问题:
; S- H$ W! I9 |4 j: S$ R5 V  在施工图后期,大部分图形文件都已完成,但因某一条件的变化,需在某卷图中增加(或减少)一些图纸,这将导致许多相关图形文件的内容不得不进行相应的修改:如高层代号、图纸编号等。
5 l4 u' O9 [% Z: @' I; @  在实际工程设计中,为了提高效率,60%的图形是通过修改已有的设计而形成新的图形,这时常常进行一些重复性的工作,比如图框的替换、设备元器件的变更等,有时,要几张图,甚至几十张图做同样的修改。
: ?7 D  F8 o+ ?: j  对于上述情况,过去一般的作法是将每一图形文件调出来,逐一修改。在图幅比较大时,只能反复使用ZOOM命令,当所涉及的图形文件较多时(有时会有几百个),采用手动操作,其工作量非常大,而且大部分操作都是重复性的工作,长时间操作很容易发生混淆和遗漏,不但效率低,图纸质量又不能保证。
3 Y: H" A$ I9 r6 I. _/ C  能否将这些重复性的工作让计算机来完成呢?5 e8 n% l) k; ^0 h9 ~0 C
  AutoCAD是图形设计的通用软件,它为各种专业用的CAD提供了尽可能多的图形编辑功能,但很难实现自动化作图的功能。+ O1 n" q8 p! @* Q" g2 k! B
  在实践中我们用C语言编写了CHSCR应用程序,采用该程序设计人员只需编写一个简单的命令文件CH.SCR和要处理的文件表FILE.TAB,经过CHSCREXE应用程序转换,形成一个可以处理FILETAB所列出的所有文件的CHGESCR命令文件。然后利用AutoCAD的 SCRIPT命令,就可使计算机按命令自动批量修改图形并存盘或生成PLT绘图文件。由于采用了易于为非专业编程人员所接受的SCR文件方式来编写命令CHSCR,使用非常方便。5 q! y$ A! j+ Y' S- t
二、如何使用CHSCR
7 P+ X# R6 D  p+ Z9 @  P. I$ V+ T  1. 创建CHSCR命令文件
0 U3 D. k0 H9 k# z  CH.SCR文件的内容是由AutoCAD的命令和响应序列所组成的ASCⅡ文件,是可在AotuCAD编辑状态下执行的文本文件。' v, ?$ p3 O4 e8 \
  CH.SCR包含了可在指定图形中自动重复执行命令序列。) z2 _* H  ~3 R6 e2 \
  例:把图形文件C800-01~ C800-98中的图纸编号2066DD3改变2087DD2。高层代号C13改为D24,设备型号DZ20改为C45AD。
1 e/ T7 j/ ^8 o5 v/ b  在DOS状态下用文本编辑软件建立CH.SCR文件:
, ~, K2 u  p: N9 C1 F1 P3 n2 K  CHTEXT_all _ _2066DD3<Enter>% G+ s; J, |+ {& g2 s9 R
  2087DD2<Enter>0 ~& X) s8 a; O+ u7 m3 r
  CHTEXT_all _ _C13<Enter>
9 F: h! E4 f! `- I  D24〈Enter〉+ F& T& b4 ~: t/ T
  CHTEXT _all _ _DZ20<Enter>
5 @0 P2 j/ U& ?, F5 O1 F  h; _  C45AD〈Enter〉
8 A9 M* g) C4 A4 U* T  PLOT〈Enter〉5 R& ~+ {1 ~8 \, l5 g4 p' ~
  〈Enter〉
" w( S# f% z- {  〈Enter〉# h$ o# @5 Z, E2 U: ?
 其中:& `) U$ S  F) L( }
  _代表一个空格
6 _# j3 [9 `; Y  〈Enter〉代表回车5 c* h, J$ U; a: z& t& a5 G
  CHTEXT修改图中文字的LISP程序
4 O4 s4 f+ g& P+ j+ _: u+ i& J4 a: F$ I  &#8226;AotoCAD中文字修改功能较弱,AutoCADR12.0中曾加了DDEDIT修改文字命令,但只能用鼠标器手工修改,且一次只能改一个字符串不适用程序化操作。% Q  h4 |+ Q9 `/ ~, V3 C- J
  因此,在编写SCR命令文件时我们采用了修改图中文字的LISP程序CHTEXT.LSP(其清单附后)。将其装入ACAD.LSP后,只要键入CHTEXT,就可按汉字提示使用,它一次可以修改多个字符串。
) e5 u; @. I  S8 O4 r) n  &#8226;当编写命令文件时,必须考虑每条AutoCAD命令中的所有响应和提示。命令文件中的每个空格都是有意义的,因为AotuCAD将它看作回车,所以不能随意增减。
0 _/ a/ m5 x% @0 r% C9 Y  &#8226;如果不需要输出PLT绘图文件,PLOT后面四行可以不要。4 I5 a$ _% Y- E5 [
  &#8226;CHSCR有两个作用:
9 L3 k8 `" ?' I* ~4 l  ①如果需要修改的图形文件较少,可以在ACAD中通过SCRLPT命令直接调用CH.SCR。2 O  e! F  D4 c! a
  ②可以在ACAD中通过SCRIPT命令试运行一次,看是否有错。
3 H" }. b7 V5 L3 n3 R2 V: U' j: P: c  在ACAD命令状态下,键入以下命令即可按CH.SCR文件要求,对当前图形完成所需的修改。! M9 M" |; y/ K5 h$ d6 q, B2 r
  Command:script<Enter>6 ]- H2 V$ B  N
  Script file:ch<Enter>' v0 u  Q# p1 D( C
  当所涉及的图形文件较多时(十几个以上),采用手动操作,将每一图形文件调出来,逐一修改,效率太低。因此建议采用以下步骤,使计算机按命令自动批量修改图形文件。
9 C( Z- ~+ G! x; ~0 ?  2. 建立图形文件表FILE.TAB5 |6 V3 A4 G( r2 f
  创建完CH.SCR后,下一步应把需要修改图形文件名(.DWG)存入FILE.TAB中:+ g0 V9 p" ~! r0 H( ^" b9 w
  例如:9 R* x2 ?& ~0 j% k3 e9 i
  C800-01
) m4 c& v2 p/ _, v, {8 L( H  C800-02
# m' h. c6 d2 p% T, z2 g/ E  C800-03
& ~' @1 @( e& t$ E   .# A, s- N+ l2 U1 `; {( B& L
   .5 g4 f) \* ^, @- m/ n
   .' a% ?& g' @2 h; Q3 {. ?2 N
  C800-98% w* t, v+ F% k( s& G& Z
  3. 编译生成CHGE.SCR文件. M. B2 X' p9 |5 D& x% T
  当具备CH.SCR(试运行正常后)和FILE.TAB文件后,就可以进行编译工作,在DOS状态下键入CHSCR〈Enter〉即开始编译,若编译出现问题,系统会给出相应的提示,编译完成后,你会发现目录中多了一个CHGE.SCR文件(自动修改图形的文本文件)。' @, R! _4 d! ~3 {
  &#8226;CHSCR.EXE:其功能是配制SCR文件格式的命令字符串并调入相关的绘图参数(源程序用C语言编写,清单附后)。8 ~( E5 P& ^, m! y0 ~1 H
  &#8226;当ACAD输出PLT文件时,如果发现有对应图形的PLT文件,将提示出是否覆盖掉它,这将引起SCRIPT命令中断运行。为此在CHSCR.EXE中,我们是这么处理的:当程序发现有相应图形的PLT文件,将自动把它删除掉,并在屏幕上显示出对应的信息。
3 k  N- G: G( M" q9 a  经CHSCR.EXE所生成的CHGE.SCR文件:' y* B- ?; u3 U% K$ S8 M
  open y C800-01
3 b. e' e5 A+ K! R; b0 ~9 x/ ]  CHTEXT all 2066DD3( x( I) X1 f. Z9 ~; u
  2087DD2% f5 C0 ^7 E0 F7 i, n! N
  CHTEXT all C13
2 K3 M" T: J. B$ ~& }  D24/ U& o9 N; `3 T
  CHTEXT all DZ20
. Z" y2 Z- |9 `  m% }  C45AD8 Z6 T2 R8 m9 q+ m2 ^5 c! u1 L9 o0 M
  PLOT; U! i4 {' B: _
  <Enter>
+ b' L8 W1 b  G  <Enter>
! x6 J. i, O" T( q  <Enter>
3 Z5 g0 m1 T+ r1 N2 A- P* f  save
0 i/ e! j2 J9 }: m   .
: D$ E8 v3 _7 ?+ k   ., d+ S, N: H$ R) J
   .; D5 ]3 }7 h- p4 R$ J
  open y C900-98
! B( j( o' R! F2 c, C9 J, W. R  CHTEXT all 2066DD3# U, C% ~! W. P  c" d7 C8 ^
  2087DD2
* k; H6 ]( K1 @+ `# j1 b. q  CHTEXT all C13
# |% r" Q' F$ l) e* M  D24
  _' o. I/ O9 R' i4 D- Z  CHTEXT all DZ20
4 |, R% V' E% y$ E  C45AD; @0 }( A6 C. o# n% ?5 O$ \
  PLOT
5 i2 e" h! i& t  <Enter>
' Z0 E3 b: ^  o# o) H: ?* z  <Enter>+ H2 K- s  B, f1 h
  <Enter>4 v$ T! P5 _7 a+ V9 T7 R
  save0 i$ _. n3 h; \& t' A6 f
  quit y1 I) N( o6 H7 I+ |* P6 Y' W' a
  4. 执行SCRIPT命令
3 A6 h6 m( E$ l  ①在ACAD中通过SCRIPT命令直接调用CHGE.SCR:2 V$ n- g( G5 x; N& z/ u
  Command:script chge<Enter>! }& u1 \$ _( c7 E  Z
  ②启动AutoCAD时从操作系统提示符处输入以下正文:& B, P4 q! \0 c
  C:acad script chge<Enter>. i& F" a% `- W/ C7 ^7 z; w  {
三、程序的安装
2 {: e8 v# _+ q0 L3 o* O; v  1. 将CHTEXT.LSP装入ACAD.LSP中。
6 D3 z- g$ q  h" o5 ^$ U9 V  2. 用通用C++编译器将CHSCR.C编译成可执行程序CHSCR.EXE,将其拷贝到CAD可找到的目录下。
$ M: j4 G. Y) ]& n  程序CHSCR.EXE适用于AutoCAD R11.0、R12.0。) _) p" i: w$ g; {7 F) e! P
四、结束语  f* |( r" H/ f0 d
  以上所举例仅是该程序应用的一个简单例子,在实践中还可用于图块的重新定义、图框更新、建立绘图标准配制、连续显示幻灯片、连续出图,限于篇幅不一一列举。9 c* ^. N& q  z9 l) F
  自从我们把该程序应用于批量修改图形文件后,不但将设计人员从繁锁的人工修改图纸中解脱出来,而且大大提高了设计效率和图纸质量
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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