梁 杰
(新疆輕工職業(yè)技術(shù)學(xué)院,新疆烏魯木齊830021)
AutoLISP是運(yùn)行在AutoCAD環(huán)境中的一種嵌入式編程語言,完全針對AutoCAD進(jìn)行編程,直接訪問和修改AutoCAD當(dāng)前的圖形數(shù)據(jù)庫,為AutoCAD增加新命令或修改AutoCAD,實現(xiàn)參數(shù)化繪圖程序設(shè)計(參數(shù)化程序設(shè)計是關(guān)于一些特殊對象怎樣構(gòu)成的基本規(guī)則集合)。
筆者在制作力學(xué)課件時,發(fā)現(xiàn)常用桿件的實物圖、計算簡圖和受力圖貌似簡單,但使用AutoCAD繪圖費(fèi)時費(fèi)力,因此對常用桿件實物圖、計算簡圖和受力圖進(jìn)行了二次開發(fā)。
本設(shè)計分為圖形形狀特征、圖元庫的編程和嵌入標(biāo)準(zhǔn)菜單三部分組成。
常見桿件的實物圖、計算簡圖、受力圖的形狀特征的確定,是采用分析與綜合的方法,即先將這些常見圖形結(jié)構(gòu)分解成若干個基本圖形元素——圖元,需要繪制的圖形可以通過圖元的組合而獲得。圖1是常見桿件實物圖、計算簡圖和受力圖的形狀特征。
圖1 常見桿件實物圖、計算簡圖和受力圖的形狀特征
對于上述結(jié)構(gòu)固定并完全依賴于尺寸參數(shù)的不同而改變大小的基本常用圖形——圖元,采用參數(shù)化的繪圖方法,是最合理的。即先將圖形結(jié)構(gòu)分解成圖元,再利用參數(shù)化編程方法把每個圖元編制成程序,編寫程序的過程,也就是將圖形的結(jié)構(gòu)信息提取并融入程序的過程。通過對這些參數(shù)圖形元素的拼裝,就可以根據(jù)所繪圖形的不同尺寸要求,靈活給定尺寸參數(shù)值,快速且準(zhǔn)確地組合出所需要的各類桿件實物圖、計算簡圖、受力圖。
參數(shù)化圖素拼裝是一種參數(shù)式與交互式相結(jié)合的繪圖方式,雖然程序的編寫會耗用較長時間,但這是一個一勞永逸的工作,適應(yīng)性較大。
如下所示的均布載荷的參數(shù)化繪圖為例,構(gòu)思說明如下:
(1)由于所繪制的圖元是添加在其他主體圖形上的,因此,所有程序的第一個參數(shù)為基準(zhǔn)點。
圖形基準(zhǔn)點選擇是否合理,決定了繪圖效率的高低,確定一個合理的基準(zhǔn)點,往往可使圖形的繪制準(zhǔn)確、迅速。
(2)為了便于在不同方向上繪制圖形元素,程序中的第二個參數(shù)為旋轉(zhuǎn)角度,以基準(zhǔn)點為旋轉(zhuǎn)中心,以圖元的軸線與水平線的夾角為旋轉(zhuǎn)角度,逆時針為正,順時針為負(fù)。
(3)第3個參數(shù)是載荷個數(shù)n:考慮到類似均布載荷的載荷數(shù)目經(jīng)常變化,新增加了參數(shù)——載荷個數(shù)n。在本程序設(shè)計中,采用了repeat語句和循環(huán)語句,并令n為循環(huán)次數(shù),使程序更完善。而一般程序中,圖形通常采用正、余旋的線性組合來實現(xiàn)旋轉(zhuǎn)。圖2是均布載荷。
圖2 均布載荷
例:(setq x(+(-(*(nth i plx)(cos ang))(*(nth i ply)(sin ang)))(car pt0)))
(setq y(+(+(*(nth i plx)(sin ang))(*(nth i ply)(cos ang)))(cadr pt0)))
均布載荷程序如下:
在調(diào)用各圖元程序時,需要在命令行上鍵入(load”d:/shltu/jb”),就要求用戶在使用時記住這個命令,給用戶的使用帶來不便,降低了使用效率。
為了方便起見,需要將調(diào)用命令加入AutoCAD的標(biāo)準(zhǔn)菜單內(nèi),使用時只要點擊相應(yīng)的下拉菜單,點擊下拉菜單的文字提示,就可以畫出相應(yīng)的圖形(圖3是下拉菜單)。
我們也可以將參數(shù)化繪圖圖元制成圖標(biāo)按鈕,并組合成浮動工具條,點擊圖標(biāo),就可以進(jìn)行繪圖,非常直觀方便(圖4是浮動工具條)。
圖3 下拉菜單
圖4 浮動工具條
另外,我們也可以通過選擇實物圖、計算簡圖、受力圖的特征對話框來繪圖。圖5是實物圖、計算簡圖、受力圖的特征對話框。
圖6是應(yīng)用程序所畫的示意圖、受力圖。
圖5 實物圖、計算簡圖、受力圖的特征對話框
圖6 應(yīng)用程序所畫的示意圖、受力圖
通過工程力學(xué)教學(xué)和課件制作,證明了本程序操作簡單,應(yīng)用可靠,效率高,教學(xué)效果令人滿意。
[1]江思敏,鄭 巍.AutoCAD R14實例詳解[M].北京:電子工業(yè)出版社,1999.
[2]賀 偉,孫 波,張 淳.計算機(jī)繪圖[M].北京:機(jī)械工業(yè)出版社,2000.
[3]孫江宏,丁立偉,米 潔.VisualLISP R14-2000編程與應(yīng)用[M].北京:科學(xué)出版社,1999.
[4]肖 剛,李學(xué)志.機(jī)械CAD原理及實踐[M].北京:清華大學(xué)出版社,1999.
[5]張定華.工程力學(xué)[M].北京:高等教育出版社,2000.