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