增加AUTOCAD在文字處理上的功能_第1頁(yè)
增加AUTOCAD在文字處理上的功能_第2頁(yè)
增加AUTOCAD在文字處理上的功能_第3頁(yè)
增加AUTOCAD在文字處理上的功能_第4頁(yè)
增加AUTOCAD在文字處理上的功能_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、增加AUTOCAD在文字處理上的功能一、說(shuō)明 在用AUTOCAD制圖的過(guò)程中,必然要寫說(shuō)明性文字。當(dāng)然在制表和寫設(shè)計(jì)說(shuō)明時(shí),文字量就更大,AUTOCAD寫文字并無(wú)難處,難的是怎么使寫出的文字的尺寸、間距、對(duì)齊等方面象文字處理軟件那樣合適。若用AUTOCAD基本命令來(lái)處理,會(huì)很麻煩,并影響作圖速度。為此我編寫了一些小程序供大家使用。這次我提供如下兩個(gè)程序:二、程序的安裝及使用先把ZDDQLSP和ZDJTLSP 拷貝到一個(gè)特定的目錄下(如:C:R12SUPPORT或C:TCHSYS等)。用戶可以將持到AUTOCAD或其它開(kāi)發(fā)軟件的系統(tǒng)菜單上,通過(guò)菜單來(lái)調(diào)動(dòng),也可以AUTOCAD環(huán)境COMMAND后

2、面用LOAD命令裝入,形成一個(gè)附加命令ZDDQ或ZDST。1將程序調(diào)用裝入系統(tǒng)菜單先找到菜單源文件ACAD.MNU,并編輯它。在* * * POP1最后加下面內(nèi)容。字的對(duì)齊CCP(“ZDDQ”);ZDDQ;P。字的間距調(diào)整CCP(LOAD“ZDJT”);ZDJT;P。用鼠標(biāo)點(diǎn)取下拉菜單即可調(diào)用。 2命令調(diào) 用ZDDQLSP、ZDJTLSP在COMMAND后面輸入(LOAD“ZDDQ”)或(LOAD“ZDJT”),產(chǎn)生可用命令ZDDQ、ZD JT,擊入命令按提示操作。3兩程序在使用中基本為中文提示,易用,現(xiàn)已在我院網(wǎng)絡(luò)上全面使用。 4兩程序適用于AUTOCAD R10.0, R11,R12.0。

3、 三、操作過(guò)程1多文字對(duì)齊。提示如下:(其中“<>”中為缺省的選項(xiàng))選擇對(duì)齊方式如下:L左/R右/C中心/M中點(diǎn)<L>: 選擇對(duì)齊方向如下:1橫向?qū)R(Y座標(biāo)一致). 2縱向?qū)R(X座標(biāo)一致) <2>: 點(diǎn)取對(duì)齊點(diǎn)<點(diǎn)取參照實(shí)體>:(即用鼠標(biāo)在屏上點(diǎn)取對(duì)齊的位置,缺省后,提出讓你點(diǎn)取參照目標(biāo)字,這樣后面選上的文字與對(duì)齊) 選取文字(自動(dòng)濾非文字類實(shí)體,且不用考慮次序,開(kāi)窗口選也可)。 2多文字的間距調(diào)整,提示如下: 文字間距調(diào)整方式如下:1. 水平 2. 垂直 3. 斜向 <1>: 若選“1”或缺省值,則* 輸入各文字水平距值(或用鼠

4、標(biāo)點(diǎn)取)* 選擇對(duì)齊方式:(C中心/L左側(cè)/R右側(cè)/H中心) <L>1 若選“L”或缺省,則:* 輸入這組文字起點(diǎn)。* 按選后次序選取文字。2 其它類推。 選“2”,則:* 輸入文字垂直間距值(或用鼠標(biāo)點(diǎn)取):其它同。 選“3”,則:* 按先后次序選取文字。* 點(diǎn)取斜線起點(diǎn)(即文字排列方向線)。* 點(diǎn)取斜線終點(diǎn)。(結(jié)果所選文字在斜線起點(diǎn)和終點(diǎn)間等分排列)。 四、源程序如下:1多文字的對(duì)齊: ;- ; 1996.03.04 ; (defun c:zddq ( / i n txsize ent ent1 o1 o2 o3 o4 a aa oldsiaze newsize index b

5、b cc p0 p1 p pp ent0 b ss a1 a2 a3 a4 a5 a6) (setq i 1) (princ "n")(princ "選擇對(duì)齊方式如下:")(princ) (setq a (getstring "n L左/R右/C中心/M中點(diǎn) < L >: ") (if (= a "")(setq a "L") (setq a (strcase a) (cond (= a "L")(setq a1 0 a2 11 a4 10 a5 10)(= a

6、"M")(setq a1 1 a2 10 a4 11 a5 11)(= a "R")(setq a1 2 a2 10 a4 11 a5 11)(= a "C")(setq a1 4 a2 10 a4 11 a5 11) ) (setq b (getint "n1.橫向?qū)R(使Y座標(biāo)一樣) 2. 縱向?qū)R(使X座標(biāo)一樣) <2>: ") (setq txsize (getpoint "n點(diǎn)取對(duì)齊點(diǎn)<點(diǎn)取參照實(shí)體>: ") (princ "n")(prin

7、c "選取文字(自動(dòng)濾去非文字實(shí)體):")(princ) (while (< i 10000) (setq ss (ssget) (setq n (sslength ss) (setq index 0) (repeat n (setq ent0 (entget (ssname ss index) (if (= (cdr (assoc 72 ent0) 0)(progn (setq a4 10) (if (/ = a1 0)(setq a5 11)(setq a5 10) ) (setq index (+ 1 index) (setq type (assoc 0 ent

8、0) (if (= "TEXT" (cdr type)(progn (setq p0 (assoc 72 ent0) (setq p (cons (car p0) a1) (setq pp (subst p p0 ent0) (setq old (assoc 11 pp) (if (= a "L") (setq a3 (list 0 0) (setq a3 (cdr (assoc 11 pp) ) (setq new (cons (car old) a3) (setq ent (subst new old pp) (setq o1 (cadr (cdr

9、(assoc a4 ent0) (setq o2 (car (cdr (assoc a4 ent0) (if (= txsize nil) (p rogn(setq a6 (entget (ssname ss 0)(setq a6 (cdr (assoc a4 a6)(setq o3 (car a6) o4 (cadr a6) ) (setq o3 (car txsize) o4 (cadr txsize) ) (setq oldsize (assoc a5 ent0) (if (and (/= b nil)(/= b 2) (setq aa o2 bb o4 cc (car oldize)

10、(setq aa o3 bb o1 cc (cdr oldsize) ) (setq newsize (cons (car oldsize) (list aa bb) (setq ent1 (subst newsize oldsize ent) (entmod ent1) ) ) ) ) (prin1);-2多文字的間距調(diào)整 edit date: 1995.6.1 (defun c:zd jt ( / new old ent ent1 index s ss s1 s2 cj sj n x xs y ys wb wg wc wg0 wg1 zb type fs i j bbb bj1 bj2 a

11、j1 aj2 cj1 cj2 $a $c $b ss1 ss2 dj1 dj2 zx ej1 ej2 fj1 fj2 zk jd) (setvar "cmdecho" 0); (princ "n1. order: from top to button. from left to right"); (princ "n2. there is over a entity")(princ) (princ "n間距調(diào)整方式選擇如下:")(princ) (setq sj nil cj nil) (setq s1 (getint

12、 "n 1.水平 2.垂直 3.斜向 <1>: ")(if (/ = s1 3) (progn (if (= s1 nil)(setq s1 1) (if (= s1 1) (setq sj (getdist "n輸入文字水平間距值(或用鼠標(biāo)點(diǎn)取):") (setq cj (getdist "n輸入文字垂直間距值(或用鼠標(biāo)點(diǎn)取):") (setq fs (strcase (getstring "n選擇對(duì)齊方式(C中心/L左側(cè)/R右側(cè)/M中點(diǎn)) < L >: ") (if (= fs &quo

13、t;M")(progn(command "osnap" "nea")(setq ss1 (getpoint "n文字起點(diǎn): ")(setq ss2 (getcorner ss1 "n文字終點(diǎn): ")(setq s2 (polar ss1 (angle ss1 ss2) (/ (distance ss1 ss2) 2)(command "osnap" "none") ) (setq s2 (getpoint "n這組文字起點(diǎn)text location poi

14、nt:") ) (setq x (car s2) y (cadr s2) (princ "n按先后次序選取文字")(princ) (setq ss (ssget) (setq n (sslength ss) index 0 i 0 j 0) (rep eat n(setq ent (entget (ssname ss index)(if (= "TEXT" (cdr (assoc 0 ent) (pr ogn (setq i (+ i 1)( if (= s1 1) (setq zb (car (CDR (assoc 10 (entget (s

15、sname ss index)(setq zb (CADR (cdr (assoc 10 (entget (ssname ss index)(set q wb (cdr (assoc 1 (entget (ssname ss index) wg (cdr (assoc 40 (entget (ssname ss index)zk (cdr (assoc 41 (entget (ssname ss index)jd (cdr (assoc 50 (entget (ssname ss index)zx (cdr (assoc 7 (entget (ssname ss index) ) (set (

16、read (strcat "b" (itoa i) zb);coordinate (set (read (strcat "a" (itoa i) wb);word (set (read (strcat "c" (itoa i) wg);hight (set (read (strcat "d" (itoa i) zx);word style (set (read (strcat "e" (itoa i) zk);word wide (set (read (strcat "f"

17、(itoa i) jd);word engle (setq new (cons (car (assoc 1 ent) " ") (setq ent1 (subst new (assoc 1 ent) ent) (entmod ent1) ) ) (setq index (+ index 1) ) (setq n i) (while (>= n 2) (setq j 1) (wh ile (<= j (- n 1)(setq bj1 (eval (read (strcat "b" (itoa j)(setq bj2 (eval (read (s

18、trcat "b" (itoa (+ j 1)(setq aj1 (eval (read (strcat "a" (itoa j)(setq aj2 (eval (read (strcat "a" (itoa (+ j 1)(setq cj1 (eval (read (strcat "c" (itoa j)(setq cj2 (eval (read (strcat "c" (itoa (+ j 1)(setq dj1 (eval (read (strcat "d" (itoa

19、 j)(setq dj2 (eval (read (strcat "d" (itoa (+ j 1)(setq ej1 (eval (read (strcat "e" (itoa j)(setq ej2 (eval (read (strcat "e" (itoa (+ j 1)(setq fj1 (eval (read (strcat "f" (itoa j)(setq fj2 (eval (read (strcat "f" (itoa (+ j 1) ; (if (/= s1 1)(setq

20、bbb bj1 bj1 bj2 bj2 bbb);-(if (AND (= S1 1)(> bj1 bj2)(BBBB)(if (AND (= S1 2)(< bj1 bj2)(BBBB)(setq j (+ j 1) ) (setq n (- n 1) ) (setq n 0) (re peat i(setq n (+ n 1)(setq wg (eval (read (strcat "c" (itoa n)(setq wb (eval (read (strcat "a" (itoa n)(setq zx (eval (read (strc

21、at "d" (itoa n)(setq zk (eval (read (strcat "e" (itoa n)(setq jd (eval (read (strcat "f" (itoa n)(setq zk2 (cdr (assoc 41 (tblsearch "style" zx) zt (cdr (assoc 3 (tblsearch "style" zx) zt2 (cdr (assoc 4 (tblsearch "style" zx) ) (if (/= zk z

22、k2) (if (= (strcase zx) "STANDARD") (command "style" zx "" "0" zk "0" "n" "n" "n") (command "style" zx "" "0" zk "0" "n" "n") ) ) (if (= s1 1)(progn(setq xs (+

23、x (* sj (- n 1)(setq zb (list xs y)( if (= fs "")( if (> (cdr (assoc 40 (tblsearch "style" zx) 0.00001)(command "text" zb (/ (* jd 180.0) pi) wb)(command "text" zb wg (/ (* jd 180.0) pi) wb) )(if (> (cdr (assoc 40 (tblsearch "style" zx) 0.00001

24、) (command "text" fs zb (/ (* jd 180.0) pi) wb) KG*2(command "text" fs zb wg (/ (* jd 180.0) pi) wb) ) ) ) (p rogn(setq ys (- y (* cj (- n 1)(setq zb (list x ys)( if (= fs "")( if (> (cdr (assoc 40 (tblsearch "style" zx) 0.00001)(command "text" zb (/ (* jd 180.0) pi) wb)(command "text" zb wg (/ (* jd 180.0) pi) wb) )(if (> (cdr (assoc 40 (tblsearch "style" zx) 0.00001) (command "text" fs zb (/ (* jd 180.0) pi) wb) (command "text" fs zb wg (/ (* jd 180.0) pi) wb) ) ) ) ) ) ) (

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論