QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 2020|回复: 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中自动批量修改图形文件的程序
0 D( P, e( y: k' G+ D8 @一、概述 1 V* H+ V' f4 T" P% R2 k
  在工程CAD绘图中,常常会遇到下列棘手的问题:6 r' A' J* a# J; m
  在施工图后期,大部分图形文件都已完成,但因某一条件的变化,需在某卷图中增加(或减少)一些图纸,这将导致许多相关图形文件的内容不得不进行相应的修改:如高层代号、图纸编号等。* S- C6 g) t* Q  N0 d$ j
  在实际工程设计中,为了提高效率,60%的图形是通过修改已有的设计而形成新的图形,这时常常进行一些重复性的工作,比如图框的替换、设备元器件的变更等,有时,要几张图,甚至几十张图做同样的修改。  e% K# ^7 l/ G0 B0 v# N
  对于上述情况,过去一般的作法是将每一图形文件调出来,逐一修改。在图幅比较大时,只能反复使用ZOOM命令,当所涉及的图形文件较多时(有时会有几百个),采用手动操作,其工作量非常大,而且大部分操作都是重复性的工作,长时间操作很容易发生混淆和遗漏,不但效率低,图纸质量又不能保证。$ Q5 c% u- }3 G% w6 b
  能否将这些重复性的工作让计算机来完成呢?5 t; ^) i) f4 {+ z' j* r2 N! g- B
  AutoCAD是图形设计的通用软件,它为各种专业用的CAD提供了尽可能多的图形编辑功能,但很难实现自动化作图的功能。
0 Z5 i) ^5 R( ]) |  在实践中我们用C语言编写了CHSCR应用程序,采用该程序设计人员只需编写一个简单的命令文件CH.SCR和要处理的文件表FILE.TAB,经过CHSCREXE应用程序转换,形成一个可以处理FILETAB所列出的所有文件的CHGESCR命令文件。然后利用AutoCAD的 SCRIPT命令,就可使计算机按命令自动批量修改图形并存盘或生成PLT绘图文件。由于采用了易于为非专业编程人员所接受的SCR文件方式来编写命令CHSCR,使用非常方便。
; {( m" W9 L- S7 a( ~0 ?: \二、如何使用CHSCR1 Y& C  C2 K! K% f& b7 {8 _7 v2 ?
  1. 创建CHSCR命令文件$ M* G' |5 v1 }, D: [# @1 d
  CH.SCR文件的内容是由AutoCAD的命令和响应序列所组成的ASCⅡ文件,是可在AotuCAD编辑状态下执行的文本文件。
5 n/ N# t' a- ^2 ^  CH.SCR包含了可在指定图形中自动重复执行命令序列。
1 [- u3 r' L( |! b" M5 M& x1 R" @& |  例:把图形文件C800-01~ C800-98中的图纸编号2066DD3改变2087DD2。高层代号C13改为D24,设备型号DZ20改为C45AD。7 f/ v& d4 p' m* p9 t% l
  在DOS状态下用文本编辑软件建立CH.SCR文件:8 [" L( v" B) N* e2 r
  CHTEXT_all _ _2066DD3<Enter>. {$ Z% w6 G' R) B$ k5 ~- o; E
  2087DD2<Enter>
8 c1 @" O. W3 m  CHTEXT_all _ _C13<Enter>
) i! U! Z6 J: T. i  D24〈Enter〉- h4 v( |1 r7 t) k; f
  CHTEXT _all _ _DZ20<Enter>
( d% u# O0 ?8 L$ V  C45AD〈Enter〉; e" z* A4 i$ ]& R
  PLOT〈Enter〉
5 }0 s" w& a3 [# d0 n* H  〈Enter〉
/ V$ y1 A  S% ]* i5 v  n( X  〈Enter〉6 S0 z' d  q' a2 I) {# F  \0 G1 }
 其中:1 }3 X  ?' c: t$ n; j. m; u+ G( a
  _代表一个空格. q8 }& T* [8 u% u
  〈Enter〉代表回车
. j% `7 A" X# u1 W; C  h8 `  CHTEXT修改图中文字的LISP程序% W* k; n. J' H. |! u
  &#8226;AotoCAD中文字修改功能较弱,AutoCADR12.0中曾加了DDEDIT修改文字命令,但只能用鼠标器手工修改,且一次只能改一个字符串不适用程序化操作。2 |/ @+ D. K3 L3 `' X4 ~
  因此,在编写SCR命令文件时我们采用了修改图中文字的LISP程序CHTEXT.LSP(其清单附后)。将其装入ACAD.LSP后,只要键入CHTEXT,就可按汉字提示使用,它一次可以修改多个字符串。
0 m2 [6 Q# S9 L& Y' |0 F  Q  &#8226;当编写命令文件时,必须考虑每条AutoCAD命令中的所有响应和提示。命令文件中的每个空格都是有意义的,因为AotuCAD将它看作回车,所以不能随意增减。
2 V3 e& y' s9 v3 t  &#8226;如果不需要输出PLT绘图文件,PLOT后面四行可以不要。
, x0 @& F3 r7 p0 v$ R$ j4 P8 q  &#8226;CHSCR有两个作用:
$ l; H* T+ y3 V# B8 Q  ①如果需要修改的图形文件较少,可以在ACAD中通过SCRLPT命令直接调用CH.SCR。2 Y6 r6 N9 G- a8 i! K: t
  ②可以在ACAD中通过SCRIPT命令试运行一次,看是否有错。
. p" i6 D* b' }" F  在ACAD命令状态下,键入以下命令即可按CH.SCR文件要求,对当前图形完成所需的修改。
, U& _& o( F. b3 D; ]  Command:script<Enter>
9 y- U! [$ G9 ~0 W  Script file:ch<Enter>! I/ k& d  I& ?2 v* t
  当所涉及的图形文件较多时(十几个以上),采用手动操作,将每一图形文件调出来,逐一修改,效率太低。因此建议采用以下步骤,使计算机按命令自动批量修改图形文件。' C. H4 k9 b! Z
  2. 建立图形文件表FILE.TAB
1 ^& G. `+ @" b0 R& g  创建完CH.SCR后,下一步应把需要修改图形文件名(.DWG)存入FILE.TAB中:' e9 x* D3 m, d" [" r! e3 R/ j
  例如:
1 S7 g) n  }, y$ a1 w- ]  C800-012 ^7 v) o( N% M  {  l! S
  C800-02# A" E6 o6 N. W# o4 c
  C800-03
- j5 Q  `. ^8 D) F   .
  L8 Z. R" Z6 Z9 ]7 @; z! l1 s1 e   .
7 Q2 h8 }5 m9 G! t3 D7 {   .( Y  J3 d! O- Y* ^! b0 N$ ^" ~
  C800-98
4 u' F% ]- Y! E9 Q+ F+ V, I  3. 编译生成CHGE.SCR文件
9 E' g& J2 P" [" O2 ?- U, n4 X  当具备CH.SCR(试运行正常后)和FILE.TAB文件后,就可以进行编译工作,在DOS状态下键入CHSCR〈Enter〉即开始编译,若编译出现问题,系统会给出相应的提示,编译完成后,你会发现目录中多了一个CHGE.SCR文件(自动修改图形的文本文件)。+ _9 B* S4 M. y& B- R1 S9 I
  &#8226;CHSCR.EXE:其功能是配制SCR文件格式的命令字符串并调入相关的绘图参数(源程序用C语言编写,清单附后)。- M; a. \$ Q, @) h
  &#8226;当ACAD输出PLT文件时,如果发现有对应图形的PLT文件,将提示出是否覆盖掉它,这将引起SCRIPT命令中断运行。为此在CHSCR.EXE中,我们是这么处理的:当程序发现有相应图形的PLT文件,将自动把它删除掉,并在屏幕上显示出对应的信息。0 p$ O  L- c' f% U. V& n( B
  经CHSCR.EXE所生成的CHGE.SCR文件:; S2 L5 B& R) A3 v* x
  open y C800-011 P# k2 I" m( g% i3 b
  CHTEXT all 2066DD3( B: L; T' ]8 k* T. i; e
  2087DD28 S1 Q& W+ q+ p% z
  CHTEXT all C13. b: s1 }# Y/ |6 y" `; Q
  D24
7 t" @# Q4 G8 ~# H6 P* X  CHTEXT all DZ202 J2 B0 ]& ~0 k5 _2 E7 h; z, q
  C45AD2 y! A0 t; F; b+ p6 O2 w" @$ O) M8 B
  PLOT# n6 N1 U) Z  a/ N8 V
  <Enter>  g' J9 K0 h# ~  [, q0 G, j
  <Enter>- ~1 E! {: Z2 S7 i* T
  <Enter>
3 P+ U  K6 H. O+ o; i7 ~! E# `0 N/ X  save7 N2 n- h) ~4 r# @
   .
7 J- V6 H9 v/ y% N1 c2 Q& v   .; T- S; [8 o" F+ K
   ., ~" l. x( a, i' }& v# O
  open y C900-98
7 X1 k' c) b  Q  CHTEXT all 2066DD34 d7 H0 {9 Y+ `  @+ t! Y) X. I
  2087DD24 _4 Z  Z/ G! t" c1 d
  CHTEXT all C136 F9 x; z4 m% A
  D24
1 j* t! S% W( c+ J* p  CHTEXT all DZ20
0 O) Q! P8 e) b3 c) o) v6 _  C45AD  n4 n& r8 _, y" }, p
  PLOT
* j8 t1 C  M2 \' @1 G4 E5 s  <Enter>
$ k* T1 p2 u: f8 s# W* `  <Enter>
. A6 m. N+ j( m  <Enter>
  T  X% i) ?! P5 s  save: ?8 f2 R, D' Q9 N
  quit y
# o8 C: w! n* d* C  4. 执行SCRIPT命令
8 e4 O5 Q! ?9 j  ①在ACAD中通过SCRIPT命令直接调用CHGE.SCR:" ~2 r3 j  g' A! B. R0 B; g
  Command:script chge<Enter>8 e" p! a' i" [% M6 j" \0 [$ _
  ②启动AutoCAD时从操作系统提示符处输入以下正文:! B; r& W, H# a6 U  A2 E
  C:acad script chge<Enter>
  q, O3 T2 \6 I# R3 R三、程序的安装8 o8 U% u0 b" Q$ W% t
  1. 将CHTEXT.LSP装入ACAD.LSP中。! G2 G+ |5 v* X' h5 z8 `: s1 j% V
  2. 用通用C++编译器将CHSCR.C编译成可执行程序CHSCR.EXE,将其拷贝到CAD可找到的目录下。
6 r8 R% X. ^) b% N/ h4 y& L  程序CHSCR.EXE适用于AutoCAD R11.0、R12.0。
( O7 C/ t: F# D9 u- i& o9 ~四、结束语: }  D$ m- j9 S. H
  以上所举例仅是该程序应用的一个简单例子,在实践中还可用于图块的重新定义、图框更新、建立绘图标准配制、连续显示幻灯片、连续出图,限于篇幅不一一列举。$ h: n; Z3 ]( [  K* T; f
  自从我们把该程序应用于批量修改图形文件后,不但将设计人员从繁锁的人工修改图纸中解脱出来,而且大大提高了设计效率和图纸质量
发表于 2008-4-6 19:11:45 | 显示全部楼层 来自: 中国广西南宁
AutoCAD中自动批量修改图形文件的程序. Q/ |/ \- o; [) R3 h# I: O
一、概述
: Z8 X7 |# b3 w+ w& Z% \5 }+ C  在工程CAD绘图中,常常会遇到下列棘手的问题:
) G; O# z. e. s3 h+ U  在施工图后期,大部分图形文件都已完成,但因某一条件的变化,需在某卷图中增加(或减少)一些图纸,这将导致许多相关图形文件的内容不得不进行相应的修改:如高层代号、图纸编号等。1 h# }3 C: A( o5 x2 M5 o: b2 T+ Z& m) N
  在实际工程设计中,为了提高效率,60%的图形是通过修改已有的设计而形成新的图形,这时常常进行一些重复性的工作,比如图框的替换、设备元器件的变更等,有时,要几张图,甚至几十张图做同样的修改。
! R  K# d7 F5 ]) G  对于上述情况,过去一般的作法是将每一图形文件调出来,逐一修改。在图幅比较大时,只能反复使用ZOOM命令,当所涉及的图形文件较多时(有时会有几百个),采用手动操作,其工作量非常大,而且大部分操作都是重复性的工作,长时间操作很容易发生混淆和遗漏,不但效率低,图纸质量又不能保证。
- k) j' K# r7 V' @6 ~+ f4 Y  能否将这些重复性的工作让计算机来完成呢?
1 o8 @2 N& m& |0 W  q, I  AutoCAD是图形设计的通用软件,它为各种专业用的CAD提供了尽可能多的图形编辑功能,但很难实现自动化作图的功能。4 V( k' K5 `3 `/ g1 B3 v
  在实践中我们用C语言编写了CHSCR应用程序,采用该程序设计人员只需编写一个简单的命令文件CH.SCR和要处理的文件表FILE.TAB,经过CHSCREXE应用程序转换,形成一个可以处理FILETAB所列出的所有文件的CHGESCR命令文件。然后利用AutoCAD的 SCRIPT命令,就可使计算机按命令自动批量修改图形并存盘或生成PLT绘图文件。由于采用了易于为非专业编程人员所接受的SCR文件方式来编写命令CHSCR,使用非常方便。0 r: v2 \( X' D# B. v; O2 M; N
二、如何使用CHSCR
$ w- k: ?' n; ^0 Q  1. 创建CHSCR命令文件2 j4 i# p+ y0 M4 d
  CH.SCR文件的内容是由AutoCAD的命令和响应序列所组成的ASCⅡ文件,是可在AotuCAD编辑状态下执行的文本文件。" ?: a5 `) q8 J
  CH.SCR包含了可在指定图形中自动重复执行命令序列。/ l& [5 W4 ^  ]; Z! |: x
  例:把图形文件C800-01~ C800-98中的图纸编号2066DD3改变2087DD2。高层代号C13改为D24,设备型号DZ20改为C45AD。7 f: ?5 C! w2 x  [
  在DOS状态下用文本编辑软件建立CH.SCR文件:7 q( l% F  J' d3 n3 u1 G2 h
  CHTEXT_all _ _2066DD3<Enter>
+ F/ `% \% v; m& @3 }  2087DD2<Enter>2 o: d) A) `# H" U" y2 J. X
  CHTEXT_all _ _C13<Enter>
5 y! ^0 H% l; m  D24〈Enter〉2 R; W3 s& S9 }( u- K
  CHTEXT _all _ _DZ20<Enter>' t. ~! `3 ?' k+ k8 u- ?: l0 \
  C45AD〈Enter〉
4 O( |" I3 Q" y# M# B  PLOT〈Enter〉/ m8 t( T7 k8 b( ~, l! a* E
  〈Enter〉- g. ~" T; Z- p6 `: p. @( e6 g
  〈Enter〉$ ?" v! }) c- i  d
 其中:
) T5 {6 Q) W& V  _代表一个空格4 O% l9 s) s1 r4 ?# \* {% ?! M
  〈Enter〉代表回车
) @; M# k& A: [+ h4 P  q  CHTEXT修改图中文字的LISP程序& {( u8 U# v; C& @0 ]" x- t& T
  &#8226;AotoCAD中文字修改功能较弱,AutoCADR12.0中曾加了DDEDIT修改文字命令,但只能用鼠标器手工修改,且一次只能改一个字符串不适用程序化操作。. l& b. B  L0 I' v& ?1 R0 G
  因此,在编写SCR命令文件时我们采用了修改图中文字的LISP程序CHTEXT.LSP(其清单附后)。将其装入ACAD.LSP后,只要键入CHTEXT,就可按汉字提示使用,它一次可以修改多个字符串。
2 \) Q/ Y: p: A9 v  &#8226;当编写命令文件时,必须考虑每条AutoCAD命令中的所有响应和提示。命令文件中的每个空格都是有意义的,因为AotuCAD将它看作回车,所以不能随意增减。
2 i" `, C4 J! n5 q: S0 c  &#8226;如果不需要输出PLT绘图文件,PLOT后面四行可以不要。
- u) h! j7 c* s6 O) B/ D  &#8226;CHSCR有两个作用:7 M. K- V% t4 L; t1 c
  ①如果需要修改的图形文件较少,可以在ACAD中通过SCRLPT命令直接调用CH.SCR。8 }7 N+ T2 `- B/ s
  ②可以在ACAD中通过SCRIPT命令试运行一次,看是否有错。
8 p% S% |3 P. j. D$ N2 O+ O  在ACAD命令状态下,键入以下命令即可按CH.SCR文件要求,对当前图形完成所需的修改。& p! |2 N& b& R2 t( |
  Command:script<Enter>, U2 C; }: X0 i
  Script file:ch<Enter>
, l; x7 Z4 c% q3 ?% Q- w$ X  当所涉及的图形文件较多时(十几个以上),采用手动操作,将每一图形文件调出来,逐一修改,效率太低。因此建议采用以下步骤,使计算机按命令自动批量修改图形文件。7 [6 L7 D$ {( ?7 T) f  w
  2. 建立图形文件表FILE.TAB: ]( V4 ^* q  i3 D
  创建完CH.SCR后,下一步应把需要修改图形文件名(.DWG)存入FILE.TAB中:9 X$ Q; ~" z, P+ n3 h  E
  例如:4 r1 }- a( V- `( j4 N$ @/ Q
  C800-014 E7 a& `$ Z! g: N2 _8 e% p) o% {
  C800-02* |4 Z2 O) |" V$ q
  C800-033 C' G7 U- [& j8 ^
   .( r: H% v8 k1 x) f6 b9 z' }5 ~
   .
  S  A8 Y) f: E1 x+ X9 i; g3 Y   .
% n7 J: ~  D- j  L  C800-982 I# K( Z/ G2 V) I
  3. 编译生成CHGE.SCR文件9 g) N1 i- G# N4 e8 o8 a
  当具备CH.SCR(试运行正常后)和FILE.TAB文件后,就可以进行编译工作,在DOS状态下键入CHSCR〈Enter〉即开始编译,若编译出现问题,系统会给出相应的提示,编译完成后,你会发现目录中多了一个CHGE.SCR文件(自动修改图形的文本文件)。
' Y7 d0 Z0 r6 u" ?# m! q5 P/ n, j  &#8226;CHSCR.EXE:其功能是配制SCR文件格式的命令字符串并调入相关的绘图参数(源程序用C语言编写,清单附后)。
3 z. F, U& V* x# x' \  &#8226;当ACAD输出PLT文件时,如果发现有对应图形的PLT文件,将提示出是否覆盖掉它,这将引起SCRIPT命令中断运行。为此在CHSCR.EXE中,我们是这么处理的:当程序发现有相应图形的PLT文件,将自动把它删除掉,并在屏幕上显示出对应的信息。
7 H6 G$ k9 [1 X  经CHSCR.EXE所生成的CHGE.SCR文件:9 I8 z7 R, k2 B8 f9 k5 g; N
  open y C800-01, [9 P% [( O8 s1 J3 [. i+ T/ Z8 P
  CHTEXT all 2066DD3
( A# Q6 k. ?$ J$ T0 `7 Q  2087DD2
3 U" Y" j/ w1 {- ~  CHTEXT all C13
; t( ^4 T& G) y. l  D245 h) w& }# T' ?1 D: n
  CHTEXT all DZ20, l+ H: @5 \9 h! m5 P. _8 P
  C45AD0 h- F" `0 K8 z" ~, }+ \
  PLOT- F9 F- u$ W$ b
  <Enter>" W4 d' Q# E2 {: M! ~( p3 O
  <Enter>
1 X+ x8 C/ R, T0 i8 H  <Enter>. g: N7 \5 i( _1 s  T
  save
7 _$ }4 j1 Y/ z( X   .
0 Q# k) U7 y) h' r9 W& s7 b2 ?" Z7 ?5 P   .3 T3 D/ K6 v0 D
   .
8 E+ x5 O1 T& E  M3 K  open y C900-98
3 H7 N  B, _3 p  CHTEXT all 2066DD35 i* q4 T" t" m1 N/ o7 V" S2 t7 y
  2087DD2) k, g) D5 Y# V1 _% `8 r2 L
  CHTEXT all C13
+ l% M7 O' V  k0 [9 x" y  D245 s: B3 G; l( I1 t
  CHTEXT all DZ205 h& [6 R+ |5 ^+ m) r. n- p) R0 ?
  C45AD
, b: v5 Q" e& @/ ?' K+ j- q( X6 @- j  PLOT5 {% }: y8 L' P- \) d
  <Enter>! G2 G8 u+ i% i0 ]! p
  <Enter>
6 [. A9 h  s# B8 l0 _7 K& S  <Enter>
$ w( E, K0 @  O' i2 J  save
' O! U# J1 S4 ~" N7 |  quit y2 T  [0 I0 E; Y, d
  4. 执行SCRIPT命令6 ~  s6 S3 ]5 X+ a+ \1 G$ p
  ①在ACAD中通过SCRIPT命令直接调用CHGE.SCR:6 h: ~) ]! U" p) c- ?- }
  Command:script chge<Enter>" D) b/ c7 y& i, Z
  ②启动AutoCAD时从操作系统提示符处输入以下正文:" h( }5 Q6 C$ r6 L& y3 p
  C:acad script chge<Enter>4 n+ G$ b% M5 d
三、程序的安装
/ T$ c' z+ v. L7 C- y! m4 ^  1. 将CHTEXT.LSP装入ACAD.LSP中。$ s9 H/ j/ G& W& X  v6 b
  2. 用通用C++编译器将CHSCR.C编译成可执行程序CHSCR.EXE,将其拷贝到CAD可找到的目录下。
9 G- {: q( R0 l2 c! U8 w/ b  程序CHSCR.EXE适用于AutoCAD R11.0、R12.0。
, E8 {9 I, q8 b: \6 {6 z四、结束语
. v+ V9 F1 d: I8 I  以上所举例仅是该程序应用的一个简单例子,在实践中还可用于图块的重新定义、图框更新、建立绘图标准配制、连续显示幻灯片、连续出图,限于篇幅不一一列举。7 o7 m9 _* a/ Q" X0 [- b- [
  自从我们把该程序应用于批量修改图形文件后,不但将设计人员从繁锁的人工修改图纸中解脱出来,而且大大提高了设计效率和图纸质量
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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