1 概述
美國Autodesk公司開發的AutoCAD系統自1982年推出以來,以其使用方便、功能強大和系統開放性一直獨領風騷。成為各工程領域首選的CAD系統。
水利水電工程領域利用AutoCAD平臺進行二次開發也取得了一系列成果,如90年代以來陸續開發的水電站地面廠房CAD系統、重力壩CAD系統、隧洞CAD系統、水機油汽水CAD系統、地質柱狀圖CAD等均取得了較好的應用效果。但水電工程設計的復雜性決定了任何現成的CAD軟件都有其局限性,設計過程中許多問題還只能用原始的方法解決。本文通過幾個實例對AutoCAD二次開發常用的Lisp語言在水電工程設計中的應用進行了初步探討,希望能夠起到拋磚引玉的作用。
VisualLisp語言是AutoCADR14版本以后提供的全新的開發環境,是嵌于AutoCAD內部,將Lisp語言與AutoCAD相結合的產物,是一種智能型語言。利用AutoLisp可以靈活方便地增加AutoCAD新命令,幾乎無限地擴展AutoCAD新功能,
2 應用實例
2 .1 坐標畫線
利用已知坐標點畫線是設計工作中經常遇到的問題,如河道、堤防等實測斷面、水位流量關系曲線、堰面曲線等數據的處理,均可歸結為坐標畫線問題。對于堰面曲線等有函數方程的曲線可以利用EXCEL按照期望的步長自動生成一系列坐標點。對于測量常用的起點距-高程形式的數據,也可以利用EXCEL轉化成坐標點形式。
(1)利用腳本文件(.SCR)
利用任何文本編輯器如Note、Uedit、Word、Excel等建立純文本文件EX1.SCR,注意文本文件后綴必須為.SCR,坐標之間用半角逗號分開,文件中不允許出現空格,文件最后一行必須為空回車。文件建立時,可以直接把 EXCEL或其他文件中的坐標表利用拷貝、粘貼功能加入腳本文件中。
Pline
345.66,238.65
213.45,124.56
128.44,235.66
文件保存后,執行AutoCAD中“工具”下的“運行腳本”,在顯示的窗口中查找并選中EX1.SCR,屏幕上會立即顯示所繪線條。
(2)利用LSP程序
建立坐標表文件EX2.DAT,后綴任意,可以依次輸入多段曲線,中間用曲線名稱分開,程序自動繪制多條曲線并可標注坐標表。
“曲線1”
213.45,124.56
128.44,235.66
345.66,231.78
“曲線2”
433.34,567.23
434.12,464.12
利用AutoCAD中“工具”菜單下的“VisulLisp編輯器”建立DRLINE.LSP文件如下
(defun C:drline()
2 .3 沿曲線標注
在設計中會遇到沿給定曲線進行標注問題,如平面布置圖中的開挖線符號沿開挖輪廓的標注,剖面圖中巖石符號沿輪廓線標注、點筋標注、沿任意曲線進行漢字標注等。此類問題主要應用AutoCAD的Measure或divide命令來解決。兩個命令的主要差別是前者按指定的長度在曲線上標注,后者按給定的分段數等分曲線并在等分點處進行標注。要標注的輪廓曲線最好用pline線,要標注的符號預先做成圖塊,圖塊采用單位塊,執行measure或divide命令,選取要標注的曲線,指定標注符號,分段長度或分段數即可完成標注,當發現標注的符號太密或太疏時,可以執行erase命令選擇P進行刪除,比例不合適或符號方向不正確,可以利用特性編輯器,選中所有標注符號,對標注符號的比例和旋轉角度進行調整,直到滿意為止。對于更高級的應用,可以編制LSP程序,實現符號和文字沿任意曲線標注。