QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 2014|回复: 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中自动批量修改图形文件的程序; u  V7 k% P; I9 K/ w( C8 G
一、概述 ' K: b0 d) @6 o  ?6 H
  在工程CAD绘图中,常常会遇到下列棘手的问题:+ i1 p% N8 x% }; h" u
  在施工图后期,大部分图形文件都已完成,但因某一条件的变化,需在某卷图中增加(或减少)一些图纸,这将导致许多相关图形文件的内容不得不进行相应的修改:如高层代号、图纸编号等。
5 [; j6 A& ~8 E  在实际工程设计中,为了提高效率,60%的图形是通过修改已有的设计而形成新的图形,这时常常进行一些重复性的工作,比如图框的替换、设备元器件的变更等,有时,要几张图,甚至几十张图做同样的修改。
7 E6 E9 `+ G& I3 e  c  对于上述情况,过去一般的作法是将每一图形文件调出来,逐一修改。在图幅比较大时,只能反复使用ZOOM命令,当所涉及的图形文件较多时(有时会有几百个),采用手动操作,其工作量非常大,而且大部分操作都是重复性的工作,长时间操作很容易发生混淆和遗漏,不但效率低,图纸质量又不能保证。" C4 j8 x. m7 P" V5 O
  能否将这些重复性的工作让计算机来完成呢?. i4 c7 f$ |$ Y6 i4 V4 E
  AutoCAD是图形设计的通用软件,它为各种专业用的CAD提供了尽可能多的图形编辑功能,但很难实现自动化作图的功能。
: _; _3 o. m, O8 j  在实践中我们用C语言编写了CHSCR应用程序,采用该程序设计人员只需编写一个简单的命令文件CH.SCR和要处理的文件表FILE.TAB,经过CHSCREXE应用程序转换,形成一个可以处理FILETAB所列出的所有文件的CHGESCR命令文件。然后利用AutoCAD的 SCRIPT命令,就可使计算机按命令自动批量修改图形并存盘或生成PLT绘图文件。由于采用了易于为非专业编程人员所接受的SCR文件方式来编写命令CHSCR,使用非常方便。
1 Q9 F, B$ q3 F% i2 y二、如何使用CHSCR
* k$ B) [. Q5 o' z; F# G; i! i  1. 创建CHSCR命令文件
  X6 b: w: ?  }1 L- s  CH.SCR文件的内容是由AutoCAD的命令和响应序列所组成的ASCⅡ文件,是可在AotuCAD编辑状态下执行的文本文件。
/ B3 t0 w" u2 e6 |" j* s  CH.SCR包含了可在指定图形中自动重复执行命令序列。; H1 E, F. S5 d1 j( }: J
  例:把图形文件C800-01~ C800-98中的图纸编号2066DD3改变2087DD2。高层代号C13改为D24,设备型号DZ20改为C45AD。3 p7 b7 H. z3 Q$ V3 Z; k; Z
  在DOS状态下用文本编辑软件建立CH.SCR文件:
* z5 T# Z# {4 H# O/ b3 `  CHTEXT_all _ _2066DD3<Enter>
* D- h2 s1 m3 B% g8 |  2087DD2<Enter>
, h* Z+ C3 Z  W. R. }9 v, S  CHTEXT_all _ _C13<Enter># P0 ~5 l4 u$ h5 c& D1 n! B
  D24〈Enter〉
0 l3 V3 M5 g  O2 N) @6 t  CHTEXT _all _ _DZ20<Enter>8 I* l6 g9 t. R
  C45AD〈Enter〉
$ b, w) C' t9 R/ `( j  PLOT〈Enter〉2 L( D7 Z# G3 \2 K3 Q1 s4 s
  〈Enter〉3 d# k5 I6 {- C; v7 a, B, w" A9 V' ?
  〈Enter〉$ }9 ~+ C$ [$ U. w) h3 @
 其中:0 C  M, q$ p& H' f$ Z! V0 E0 X
  _代表一个空格
" U# q* `# i, [5 G5 H  〈Enter〉代表回车
1 }8 F4 L5 U4 T1 [% {' t6 s  CHTEXT修改图中文字的LISP程序
% |5 [9 K) p3 d2 k  &#8226;AotoCAD中文字修改功能较弱,AutoCADR12.0中曾加了DDEDIT修改文字命令,但只能用鼠标器手工修改,且一次只能改一个字符串不适用程序化操作。) p$ J0 p. E; E8 ]/ s
  因此,在编写SCR命令文件时我们采用了修改图中文字的LISP程序CHTEXT.LSP(其清单附后)。将其装入ACAD.LSP后,只要键入CHTEXT,就可按汉字提示使用,它一次可以修改多个字符串。
0 ]9 V# s) d$ j  &#8226;当编写命令文件时,必须考虑每条AutoCAD命令中的所有响应和提示。命令文件中的每个空格都是有意义的,因为AotuCAD将它看作回车,所以不能随意增减。' t5 I* |7 N; h9 D% K, T6 c  ]
  &#8226;如果不需要输出PLT绘图文件,PLOT后面四行可以不要。
0 m5 Q5 i# ?9 P- [! g  &#8226;CHSCR有两个作用:
$ ?' p9 R: R3 @/ x. R  ①如果需要修改的图形文件较少,可以在ACAD中通过SCRLPT命令直接调用CH.SCR。) G1 J  `. v& ]  d
  ②可以在ACAD中通过SCRIPT命令试运行一次,看是否有错。0 h* t$ A6 C1 d
  在ACAD命令状态下,键入以下命令即可按CH.SCR文件要求,对当前图形完成所需的修改。
0 S4 H% F1 S1 M3 i0 N1 }  Command:script<Enter>
! E1 \- x# A7 P: B  Script file:ch<Enter>  C2 J( h, F" ~9 C4 W
  当所涉及的图形文件较多时(十几个以上),采用手动操作,将每一图形文件调出来,逐一修改,效率太低。因此建议采用以下步骤,使计算机按命令自动批量修改图形文件。
. ?( U. }; O/ z6 W* V  2. 建立图形文件表FILE.TAB
1 l3 b; J; Z& P( I+ r# n2 z  创建完CH.SCR后,下一步应把需要修改图形文件名(.DWG)存入FILE.TAB中:
) S& n0 g9 K. @  例如:
/ X4 y( i% Q+ v  a( U" h  C800-01
. ~" u: Z7 j7 M' N: F: H* @  C800-02
1 ~% _: \# c* Q- W  C800-030 x+ R. M4 P1 r( K1 v
   .0 O$ m4 j- l8 b$ V) h
   .
  `% _; N( m9 l5 R9 a3 J6 |   .
8 ?! ~' @4 W. a. `: o  C800-98
6 ?/ Z' y; _( h, X8 D/ R+ H# B  3. 编译生成CHGE.SCR文件
6 S; B5 _2 r, |7 B! {% B  当具备CH.SCR(试运行正常后)和FILE.TAB文件后,就可以进行编译工作,在DOS状态下键入CHSCR〈Enter〉即开始编译,若编译出现问题,系统会给出相应的提示,编译完成后,你会发现目录中多了一个CHGE.SCR文件(自动修改图形的文本文件)。& X# s: O- L  o
  &#8226;CHSCR.EXE:其功能是配制SCR文件格式的命令字符串并调入相关的绘图参数(源程序用C语言编写,清单附后)。% O* s/ r7 ]7 d: ?
  &#8226;当ACAD输出PLT文件时,如果发现有对应图形的PLT文件,将提示出是否覆盖掉它,这将引起SCRIPT命令中断运行。为此在CHSCR.EXE中,我们是这么处理的:当程序发现有相应图形的PLT文件,将自动把它删除掉,并在屏幕上显示出对应的信息。: W' A/ K7 s& w; c" ?, i, s
  经CHSCR.EXE所生成的CHGE.SCR文件:
% _# D& e/ _- u4 X$ k4 l8 a  open y C800-01
2 Y% m* A& n( P, W: {& |# v# {  CHTEXT all 2066DD3
3 l6 W0 M7 d8 ^! C/ M  2087DD2
* L" K+ F+ |) ^% K9 p  CHTEXT all C13
: z+ P( k3 c1 i- d$ `4 E1 t4 d  D24/ P5 S8 a$ O' s; W
  CHTEXT all DZ202 `% y+ Z1 M. r+ r" w; J6 |
  C45AD
3 l2 B6 M0 ~  I7 |. H3 W  PLOT
1 m1 [3 v6 r& ~& j7 Z3 G  <Enter>" k0 y! s5 C9 q# o1 T: {4 V9 s
  <Enter>% ^3 ~4 a' s% g5 u" {" r
  <Enter>  X# G. r& H! L7 K
  save+ Q" w7 u& {& P; p+ p- O# l; \' Q
   .9 |; r5 I6 Y- n* Z% z" ^
   .
. g7 ^" U5 n0 v& C   .
1 I$ X  ^; _+ t# i  open y C900-98: f7 y' _1 K! O
  CHTEXT all 2066DD3
2 w- F5 j( A% r9 O/ R  2087DD2
1 u9 g& `: a$ `2 V& F7 d9 s  CHTEXT all C13
! v$ x6 t  r2 a( c& a8 L% j, r  D24' ~: G, S& t, ~; n5 n; i
  CHTEXT all DZ20
% X% M2 K6 l6 v  C45AD: [# }  |% o! y( W* s
  PLOT0 X, K/ g, V+ \: N
  <Enter>
# G! Q. q$ B4 I  <Enter># `6 D3 H/ G  t& u
  <Enter>
* P+ W. e$ `9 v$ V  save6 h, D" }  N8 o# T# u
  quit y2 T% o/ e6 G' l
  4. 执行SCRIPT命令- c# @4 s3 n2 Y$ w5 S) n
  ①在ACAD中通过SCRIPT命令直接调用CHGE.SCR:7 H$ U4 j# y, @6 u5 z$ @5 N
  Command:script chge<Enter>
5 C- F0 l! G1 s5 \* n) i6 \. J  ②启动AutoCAD时从操作系统提示符处输入以下正文:
& A6 i  [7 t- i! b1 X) A/ T/ }- _* O  C:acad script chge<Enter>
' A' e) Q1 |  c( b" t& `5 U" d三、程序的安装
0 P& d% V' [1 F; K  1. 将CHTEXT.LSP装入ACAD.LSP中。
$ V5 R% |' ~" w$ C' a2 Q+ D  2. 用通用C++编译器将CHSCR.C编译成可执行程序CHSCR.EXE,将其拷贝到CAD可找到的目录下。
4 m9 v9 v' y. i5 F% z8 z3 ]  程序CHSCR.EXE适用于AutoCAD R11.0、R12.0。5 o0 d& v9 z  u4 c/ s2 M* P
四、结束语
! R8 d8 P3 W7 t. M! S  以上所举例仅是该程序应用的一个简单例子,在实践中还可用于图块的重新定义、图框更新、建立绘图标准配制、连续显示幻灯片、连续出图,限于篇幅不一一列举。
$ k. @: S, A4 {' h3 ]9 j$ O4 S  自从我们把该程序应用于批量修改图形文件后,不但将设计人员从繁锁的人工修改图纸中解脱出来,而且大大提高了设计效率和图纸质量
发表于 2008-4-6 19:11:45 | 显示全部楼层 来自: 中国广西南宁
AutoCAD中自动批量修改图形文件的程序
4 ~: t- i5 ]' p7 w一、概述
8 j' l' T. o0 n' E& s8 E+ @  在工程CAD绘图中,常常会遇到下列棘手的问题:0 [4 K" c! K# K. Q" p9 {
  在施工图后期,大部分图形文件都已完成,但因某一条件的变化,需在某卷图中增加(或减少)一些图纸,这将导致许多相关图形文件的内容不得不进行相应的修改:如高层代号、图纸编号等。
! g5 W& ?; ^$ }+ b1 t! U5 j* F% Z  在实际工程设计中,为了提高效率,60%的图形是通过修改已有的设计而形成新的图形,这时常常进行一些重复性的工作,比如图框的替换、设备元器件的变更等,有时,要几张图,甚至几十张图做同样的修改。' K$ i9 |$ D( M: m% G5 V! D
  对于上述情况,过去一般的作法是将每一图形文件调出来,逐一修改。在图幅比较大时,只能反复使用ZOOM命令,当所涉及的图形文件较多时(有时会有几百个),采用手动操作,其工作量非常大,而且大部分操作都是重复性的工作,长时间操作很容易发生混淆和遗漏,不但效率低,图纸质量又不能保证。
  F6 ?5 s& z1 G4 p9 h  能否将这些重复性的工作让计算机来完成呢?
8 g! w1 z5 Y& i$ R) M( Z  AutoCAD是图形设计的通用软件,它为各种专业用的CAD提供了尽可能多的图形编辑功能,但很难实现自动化作图的功能。7 X$ V* Q* y) R5 m% x/ Z7 o4 `
  在实践中我们用C语言编写了CHSCR应用程序,采用该程序设计人员只需编写一个简单的命令文件CH.SCR和要处理的文件表FILE.TAB,经过CHSCREXE应用程序转换,形成一个可以处理FILETAB所列出的所有文件的CHGESCR命令文件。然后利用AutoCAD的 SCRIPT命令,就可使计算机按命令自动批量修改图形并存盘或生成PLT绘图文件。由于采用了易于为非专业编程人员所接受的SCR文件方式来编写命令CHSCR,使用非常方便。
# R5 y$ i+ |9 B( d$ H/ @+ p二、如何使用CHSCR
/ D6 k7 @8 c, T& Y% W  t% v  1. 创建CHSCR命令文件+ k! s  F( p5 ?5 `, h
  CH.SCR文件的内容是由AutoCAD的命令和响应序列所组成的ASCⅡ文件,是可在AotuCAD编辑状态下执行的文本文件。. b$ p8 g4 A, V$ S
  CH.SCR包含了可在指定图形中自动重复执行命令序列。$ n$ z2 Z* |$ H1 s+ o
  例:把图形文件C800-01~ C800-98中的图纸编号2066DD3改变2087DD2。高层代号C13改为D24,设备型号DZ20改为C45AD。
! ~/ R5 N# P. c. y  在DOS状态下用文本编辑软件建立CH.SCR文件:
- k8 ?$ Z, i0 a  CHTEXT_all _ _2066DD3<Enter>. J* K/ z7 \! Y+ f
  2087DD2<Enter>
0 i( S+ U$ I4 @& x  CHTEXT_all _ _C13<Enter>
; \7 N- |1 X  E; a6 N  D24〈Enter〉
, m& K  h) u( ?, n7 K7 h  CHTEXT _all _ _DZ20<Enter>6 l9 o/ B4 L" [3 b
  C45AD〈Enter〉
* x: w2 i, a, _4 p& L7 Z: s" w  PLOT〈Enter〉
. [$ Z; x0 u+ ~  〈Enter〉4 S# Y2 T& J' t/ F0 J
  〈Enter〉
( J0 \0 U+ x9 \7 I 其中:
1 Z. Y. E4 x( N  _代表一个空格/ t+ V# }- `9 u8 Y, O
  〈Enter〉代表回车
0 c' N% q. I2 ^/ t6 U8 P8 l  CHTEXT修改图中文字的LISP程序6 h* L* a/ S/ R( K7 B2 n4 g
  &#8226;AotoCAD中文字修改功能较弱,AutoCADR12.0中曾加了DDEDIT修改文字命令,但只能用鼠标器手工修改,且一次只能改一个字符串不适用程序化操作。
4 r$ T( t, j% A3 o# M/ @  因此,在编写SCR命令文件时我们采用了修改图中文字的LISP程序CHTEXT.LSP(其清单附后)。将其装入ACAD.LSP后,只要键入CHTEXT,就可按汉字提示使用,它一次可以修改多个字符串。
( r& L& x" n, a- x+ R! q) n  &#8226;当编写命令文件时,必须考虑每条AutoCAD命令中的所有响应和提示。命令文件中的每个空格都是有意义的,因为AotuCAD将它看作回车,所以不能随意增减。
7 b  O7 i% f& C* w" x0 K. O" z5 {  &#8226;如果不需要输出PLT绘图文件,PLOT后面四行可以不要。+ A' E1 P+ U. f6 [; G
  &#8226;CHSCR有两个作用:
2 B; l2 t" _! a( ^  ①如果需要修改的图形文件较少,可以在ACAD中通过SCRLPT命令直接调用CH.SCR。
$ `7 C, u/ |8 H' w: m  ②可以在ACAD中通过SCRIPT命令试运行一次,看是否有错。+ C1 c8 J' A9 b4 a
  在ACAD命令状态下,键入以下命令即可按CH.SCR文件要求,对当前图形完成所需的修改。: U1 p9 f+ z) c+ q" y
  Command:script<Enter>/ x8 r$ G( b! l; h6 H
  Script file:ch<Enter>
/ w( E8 F2 z. N4 I7 |  当所涉及的图形文件较多时(十几个以上),采用手动操作,将每一图形文件调出来,逐一修改,效率太低。因此建议采用以下步骤,使计算机按命令自动批量修改图形文件。" A6 F# M$ {! ^$ ^$ e* D# {
  2. 建立图形文件表FILE.TAB- n- _" U1 @9 u7 T
  创建完CH.SCR后,下一步应把需要修改图形文件名(.DWG)存入FILE.TAB中:! x2 m$ f( L8 u/ A
  例如:' }1 O! k5 G4 p. _
  C800-01
$ w0 i4 @; \2 q: Z& n0 L# h  C800-028 M' Z5 {. P$ E2 W8 ^
  C800-03( {* D5 |+ E$ C9 b& p  I$ m+ v
   .1 Z' T- @9 J" R' ?6 N- j- i
   .
/ p( ?- @. B8 ~3 e( L   .; L9 w2 }/ r8 U+ i: [/ o
  C800-98
- b( E( w7 [; e) _0 _6 O- ?3 r  3. 编译生成CHGE.SCR文件' j3 F6 R+ ]5 A; d/ ]8 d8 a
  当具备CH.SCR(试运行正常后)和FILE.TAB文件后,就可以进行编译工作,在DOS状态下键入CHSCR〈Enter〉即开始编译,若编译出现问题,系统会给出相应的提示,编译完成后,你会发现目录中多了一个CHGE.SCR文件(自动修改图形的文本文件)。) z: Z- z7 b. w+ T" \9 q
  &#8226;CHSCR.EXE:其功能是配制SCR文件格式的命令字符串并调入相关的绘图参数(源程序用C语言编写,清单附后)。
8 `! T/ g( l+ H* [8 R' D1 N& }) {  &#8226;当ACAD输出PLT文件时,如果发现有对应图形的PLT文件,将提示出是否覆盖掉它,这将引起SCRIPT命令中断运行。为此在CHSCR.EXE中,我们是这么处理的:当程序发现有相应图形的PLT文件,将自动把它删除掉,并在屏幕上显示出对应的信息。$ f+ T& J0 c9 f6 |% D* L) Y+ s) k
  经CHSCR.EXE所生成的CHGE.SCR文件:& W2 T# a9 g; t  z/ {& @( z
  open y C800-01! C2 g  M9 j2 A3 C
  CHTEXT all 2066DD3: D8 x, U! T5 @
  2087DD29 n2 Z# X. ^( M; t
  CHTEXT all C13
7 i: g5 J* G3 t; \( }$ M; L  D24
& w3 r# F' B: w8 X' V  CHTEXT all DZ20
) \* X' a# J+ H8 O3 L  C45AD
! M( _# H* I+ I# s0 h( x4 K& t0 p  PLOT
8 n% `% M: `+ Z4 o% i0 d  <Enter>  ?0 A& Y4 p/ p% w! N6 |
  <Enter>
$ J( g3 w$ B8 H7 K6 X! X+ c8 R: o  <Enter>* [0 R& [: R) H0 M/ U* k
  save, A, O1 s2 q3 E% J/ u  b5 }, I6 m
   ." N& j) A; C9 |+ T
   .; T! \; ?8 A5 i9 E: K
   .
0 o( y9 M) J( @' n, O/ `$ Z- S4 A4 a; P  ]  open y C900-98
7 W1 l/ Y( o5 D0 X  CHTEXT all 2066DD3+ Q) R8 R; S* ~( U; k* q
  2087DD24 h# @* Q6 g+ ]/ X
  CHTEXT all C13
1 ]- J, ^+ D- f1 |4 J8 n  D24
: b8 n* M6 |: I- i5 c  CHTEXT all DZ20/ o7 a- r# ]  u3 \
  C45AD
4 C& |9 t5 D& ~  PLOT. g# s8 I0 L/ N. [. X
  <Enter>
+ ^7 @/ W5 w$ G4 d1 s  <Enter>' v5 q- Y$ Y/ k' r, t" V$ U
  <Enter>
) A3 s1 M% X1 K- H& s" C3 z) R  save
, f' X2 K8 A, l/ h! d  quit y
- K$ R3 Z8 W% ~5 v  4. 执行SCRIPT命令1 r" E! ~# J% q, M/ r
  ①在ACAD中通过SCRIPT命令直接调用CHGE.SCR:
, v, g; x- W8 Y2 ?0 R2 W  Command:script chge<Enter>
/ Z* Z0 b% F2 G; K+ Y9 q6 d  ②启动AutoCAD时从操作系统提示符处输入以下正文:& N8 A% ]' f0 z; i# _" y
  C:acad script chge<Enter>* ?7 `  S* ]/ H: w; S% F
三、程序的安装
* u3 O/ z. a" ]  1. 将CHTEXT.LSP装入ACAD.LSP中。% B/ j' R* e+ T0 r- c' V
  2. 用通用C++编译器将CHSCR.C编译成可执行程序CHSCR.EXE,将其拷贝到CAD可找到的目录下。
, `  }. H: T( K1 y* {  程序CHSCR.EXE适用于AutoCAD R11.0、R12.0。5 y7 J8 i; {: M/ d: n
四、结束语* p6 Q4 H) x% O* V9 x. S6 V
  以上所举例仅是该程序应用的一个简单例子,在实践中还可用于图块的重新定义、图框更新、建立绘图标准配制、连续显示幻灯片、连续出图,限于篇幅不一一列举。
4 ^& x: l2 W2 _, y0 T" \( L  自从我们把该程序应用于批量修改图形文件后,不但将设计人员从繁锁的人工修改图纸中解脱出来,而且大大提高了设计效率和图纸质量
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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