夏函

摘要:隨著科學技術的快速發展,計算機技術的應用范圍越來越廣泛,而且它應用于輔助設計工作當中的年限相對較長,進入到目前階段已經發展得相當成熟。AutoLISP語言是一種具有智能特性的程序設計途徑,將其嵌入到相關的軟件當中,可以將整個系統進行簡化并且提高設計的效果。利用計算機技術解決相關程序設計問題,可以更好地應對各種困難。特別是在進行編程平臺上開展的輔助設計工作時,工程技術人員可以利用前沿獲取的數據基礎完成一系列的程序設計工作。對于整個機械行業的發展而言,計算機語言是極其重要的一種技術,它利用于輔助設計工作當中,也可以極大提高計算機輔助設計的效果。
關鍵詞: AutoLISP語言;計算機輔助設計;應用
中圖分類號: TP391. 72? ? ? 文獻標識碼: A
文章編號:1009-3044(2021)34-0079-02
對于程序設計人員來說利用AutoLISP語言進行計算機輔助設計操作,可以在一定程度上節省自己的工作時間以及工作。所以在CAD工作當中變成語音已經成為一種必不可少的工具。特別是在產品設計領域,計算機輔助設計的廣泛應用,使得人們對AutoLISP語言的內容越發重視。在進行研究時,以AutoLISP語言作為基礎分析,它在計算機輔助設計當中的具體應用實例,并以實例作為主要的研究方向,展示其強大且快速的處理能力以及廣闊的應用前景。
1 AutoLISP語言和CAD簡介
AutoLISP語言是一種函數語言,它的研究起步時間相對較早,可以說是一門古老的函數語言,它的語言代碼就是將各種列表進行排列和組合,每一種排列組合的方式都是一種獨特的數據和信息,每一個列表也都可以進行數據儲存,同時還可以進行函數儲存和符號儲存不同類型的儲存方式,代表的信息各不相同。這種方式是一種非常典型的弱類型計算機程序設計方式,它們有命令式語言當中非常常見的變量定義以及賦值語句,它遞歸函數的實現需要以重復的運算過程作為基礎,并不是利用反復循環的模式。而且所有的運算過程都是函數加參數的方式進行。編程語言是20世紀60年代發展起來的一種高級程序設計方式,在同時代發展起來的其他計算機語言已經被淘汰,它卻能頑強生存,其主要原因是它的應用價值相對較高,就目前為止AutoLISP語言已經壟斷,人工智能領域它屬于第1個函數式的高級程序設計方式。它與面向過程的C語言以及面向對象的Java結構化語言具有較大的差異。
CAD語言是我們常說的計算機輔助設計,它是指利用計算機以及相關的圖形設備進行一系列的設計工作,對于程序設計人員而言,CAD的輔助具有較高的使用價值,可以極大提高設計的效果。隨著社會的快速發展,人們對計算機技術以及人工智能技術的要求越來越高,而且在對各種類型的設備元件,CPU進行選擇時,均會選擇一些性能較強的元件。但是存儲元件以及超強性能CPU的出現,也需要有相關的計算機作為載體,這就要求計算機的圖形處理能力可達到人們的實際需求和標準。這就促使CAD技術普遍運用于各行各業。直到20世紀80年代中期及后期CAD技術的發展已經逐漸接近成熟。除此之外,CAD技術也開始朝著集成化,標準化和智能化的方向發展。
2 AutoLISP語言在CAD中的應用研究
2.1 利用AutoLISP語言批量修改CAD圖形的屬性值
在編程CAD繪畫當中,最常見的基本操作就是修改圖形元素當中的一些常見屬性值。在AutoCAD當中,程序設計人員可以通過對圖形進行平移,旋轉,縮放等操作達到坐標系統互換的目的。在進行互換操作期間,圖形點位的屬性值就會產生改變,這會對圖形進度以及圖形的使用產生極大的影響,所以必須對這些屬性進行改變。改正圖形的屬性也需要借助AutoLISP語言,它可以快速方便地達到改正的目的。程序設計人員可以直接在命令提示當中輸入AutoLISP語言,或者從外部文件當中加入AutoLISP語言代碼就可以達到修改的目的,而且此項修改的過程具有高效性和準確性的特點。如果使用傳統常規的修改方法,有。程序設計人員需要花費大量的時間以及精力,因為這種方式下進行一系列的修改操作,必須經歷大量機械重復的煩瑣操作。
2.2 利用AutoLISP語言繪制基本圖形
在CAD設計工作當中,AutoLISP語言是一種使用價值較高的語言,特別是在近期二次開發工作時與其他的程序設計方法相比,它的使用效率非常高。程序設計人員在利用AutoLISP語言展開一系列設計操作時,可以按照自己的情況添加一些自己常用的命令。因為通用模塊當中很有可能會不存在自己常用的命令,只是在其系統當中添加自己常用的命令,之后就可以極大提高設計工作的效率。例如在CAD模塊當中并沒有畫出一個螺釘的命令,此時設計人員就可以在模塊里面輸入這個命令。這與其他的程序設計途徑相比具有較為明顯的特點,我們可以通過AutoLISP語言編寫一個畫螺絲釘的命令,并且進行保存,在往后的畫圖工作當中,只需要輸入以往已經編輯好的命令以及螺絲釘的基本參數,就可以快速出現螺絲釘的圖形。
在進行實際AutoLISP工作的過程當中,程序設計人員需要經歷4個步驟才可以達到相應的圖形設計目的。如在使用AutoLISP語言編程,繪制“海港航標燈樁”的方法。首先新建一個記事本文件,文件名改為HGDZ.lsp,保存該文件;其次,將下列代碼輸入到該文件中:
(defun C: wjx()
(setq pt0 (getpoint "\n 插入點:"))
(setq sc (getint "\n 輸入比例因子:"))
(setq ptl (polar pt0 (angtof "90") (* sc 1.5)))
(setq pt2 (polar ptl (angtof "-108") (* sc 1.0898)))
(setq pt3 (polar pt2 pi (*sc: 1.0898)))
(setq pt4 (polar pt3 (angtof "-36") (* sc 1.0898)))
(setq pt5 (polar pt4 (angtof "-108") (* sc 1.0898)))
(setq pt6 (polar pt5 (angtof "36") (* sc1.0898)))
(setq pt7 (polar pt6 (angtof "-36") (* sc 1.0898)))
....
再次,在AutoCAD中選擇菜單欄“工具”“AutoLISP”→“加載應用程序”菜單命令,彈出“加載/卸載應用程序”對話框,找到步驟(1)創建的HGDZ.lsp,單擊“加載”按鈕,此時AutoCAD顯示已成功加載。
最后,待 AutoCAD加載上述代碼文件后,在命令行輸入:wjx,命令行提示插入點:”,在此提示下輸入坐標或單擊鼠標左鍵在圖中拾取定位點坐標,按回車后命令行提示“輸入比例因子:”,輸入比例因子并回車,最后繪制如圖1所示“海港航標燈樁”。
2.3利用AutoLISP語言進行數據處理
在進行數據測量操作時,利用全站儀,GPS等先進的電子測量儀器可以快速獲得測量的數據以及結果。但是電子測量儀器的出現也帶來了一系列的問題,例如如何保證快速獲取測量數據的基礎上,保證數據的準確性。現在很多數據處理軟件都必須由特定的情況以及需求作為根本而進行定制的,雖然他們能夠完成相應的數據處理操作,但是如果面對大量的野外數據,那么處理的效果往往不盡如人意。此時利用AutoLISP語言進行數據處理,可以獲得較好的效果,它不需要專業的軟件開發團隊進行技術支持,而且還可以在一定程度上降低成本,具有功能強大,簡單易學的特點。AutoLISP語言的特點在于它能夠更好地進行人機對話的操作。
2.4可以利用AutoLISP語言進行二次開發
與其他類型的程序相比,AutoLISP語言具有一個非常顯著的特點,也就是它的一個LISP程序就可以以把另一個LISP程序作為數據進行直接處理,所以在利用AutoLISP語言進行二次開發的過程當中,這個特點就可以整體提高數據處理和數據開發的效果,特別是在進行CAD開發工作時,可以嵌套多個LISP程序,這可以在一定程度上將編程涉及的思路進行簡化。對于程序設計的工作人員來說,在進行日常的工程技術工作期間,二次開發工作的難度相對較高,但是利用AutoLISP語言可以在一定程度上減少代碼程序的相關問題,并整體提高它的可讀性,甚至為后期的維護和修改工作都可以提供很多的便利條件,與此同時,在利用CAD進行繪圖操作時,可以將整體的繪圖效率進行提升。
程序設計人員在對一些大比例的地圖進行繪制工作時,需要對大量的數據和信息進行分析這些龐大的數據量,如果逐個進行分析,那么其工作難度非常大。程序員可以將這些龐大的數據分為幾十個大層與幾百個小層,要想快速打開這些龐大的數據,就需要以相關的程序批量處理作為基礎。目前在AutoCAD平臺下進行數據編輯以及數據整理工作,并且使用AutoLISP語言進行二次開發,可以很好地簡化一些操作的步驟以及減掉一些重復的勞動,甚至可以整體提升數據處理的準確性,是整個程序開發工作當中的有力工具。
3 結束語
一直以來程序設計人員在工程技術工作當中都產生著非常重要的作用,對于廣大工程技術人員而言,他們的日常生活工作就是開展一系列的編程設計工作,而在危機的基礎上進行編程設計需要熟練掌握CAD程序設計的基本方法,這是每一個工程技術人員需具備的職業基礎。特別是在日常工作期間,需要利用業余時間熟練學習 CAD程序設計的內容,特別是最新的方法,這具有極其重要的意義。在CAD二次開發工作當中,利用AutoLISP語言進行一系列的程序設計操作,以及計算工作可以設計出具有人際交互的程序,而這一程序可以更加輕松地完成重復的設計計算工作和大量煩瑣的校核工作量。
參考文獻:
[1] 李子錚,李超,張躍.AutoLISP實例教程[M].北京:機械工業出版社,2007.
[2] 陳尚林.利用AutoLISP實現CAD圖形屬性修改[J].科技資訊,2010,8(28):22,24.
[3] 蔡真印,陳秋成,楊闖AutoLISP技術在礦圖繪制中的應用[C]//第18屆川魯冀晉瓊粵遼七省礦業學術交流會,2012:47-48.
【通聯編輯:光文玲】