一、概述
在工程CAD繪圖中,常常會遇到下列棘手的問題:
在施工圖後期,大部分圖形文件都已完成,但因某一條件的變化,需在某捲圖中增加(或減少)一些圖紙,這將導致許多相關圖形文件的內容不得不進行相應的修改:如高層代號、圖紙編號等。
在實際工程設計中,為了提高效率,60%的圖形是通過修改已有的設計而形成新的圖形,這時常常進行一些重複性的工作,比如圖框的替換、設備元器件的變更等,有時,要幾張圖,甚至幾十張圖做同樣的修改。
對於上述情況,過去一般的作法是將每一圖形文件調出來,逐一修改。在圖幅比較大時,只能反覆使用ZOOM命令,當所涉及的圖形文件較多時(有時會有幾百個),採用手動操作,其工作量非常大,而且大部分操作都是重複性的工作,長時間操作很容易發生混淆和遺漏,不但效率低,圖紙質量又不能保證。
能否將這些重複性的工作讓計算機來完成呢?
AutoCAD是圖形設計的通用軟體,它為各種專業用的CAD提供了儘可能多的圖形編輯功能,但很難實現自動化作圖的功能。
在實踐中我們用C語言編寫了CHSCR應用程序,採用該程序設計人員只需編寫一個簡單的命令文件CH.SCR和要處理的文件表FILE.TAB,經過CHSCR?EXE應用程序轉換,形成一個可以處理FILE?TAB所列出的所有文件的CHGE?SCR命令文件。然後利用AutoCAD的 SCRIPT命令,就可使計算機按命令自動批量修改圖形並存檔或生成PLT繪圖文件。由於採用了易於為非專業編程人員所接受的SCR文件方式來編寫命令CH?SCR,使用非常方便。
二、如何使用CHSCR
1. 創建CH?SCR命令文件
CH.SCR文件的內容是由AutoCAD的命令和響應序列所組成的ASCⅡ文件,是可在AotuCAD編輯狀態下執行的文本文件。
CH.SCR包含了可在指定圖形中自動重複執行命令序列。
例:把圖形文件C800-01~ C800-98中的圖紙編號2066DD3改變2087DD2。高層代號C13改為D24,設備型號DZ20改為C45AD。
在DOS狀態下用文本編輯軟體建立CH.SCR文件:
CHTEXT_all _ _2066DD3<Enter>
2087DD2<Enter>
CHTEXT_all _ _C13<Enter>
D24〈Enter〉
CHTEXT _all _ _DZ20<Enter>
C45AD〈Enter〉
PLOT〈Enter〉
〈Enter〉
〈Enter〉
其中:
_代表一個空格
〈Enter〉代表回車
CHTEXT修改圖中文字的LISP程序
•AotoCAD中文字修改功能較弱,AutoCADR12.0中曾加了DDEDIT修改文字命令,但只能用滑鼠器手工修改,且一次只能改一個字元串不適用程序化操作。
因此,在編寫SCR命令文件時我們採用了修改圖中文字的LISP程序CHTEXT.LSP(其清單附后)。將其裝入ACAD.LSP后,只要鍵入CHTEXT,就可按漢字提示使用,它一次可以修改多個字元串。
•當編寫命令文件時,必須考慮每條AutoCAD命令中的所有響應和提示。命令文件中的每個空格都是有意義的,因為AotuCAD將它看作回車,所以不能隨意增減。
•如果不需要輸出PLT繪圖文件,PLOT後面四行可以不要。
•CHSCR有兩個作用:
①如果需要修改的圖形文