999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于AutoLISP的復(fù)雜數(shù)據(jù)程序化處理

2012-06-02 09:32:54林昌華邢海斌

林昌華,邢海斌

(重慶理工大學(xué)重慶汽車學(xué)院,重慶 400054)

在機械CAD中,無論是設(shè)計計算或是參數(shù)化繪制圖形,往往都需要引用有關(guān)的數(shù)據(jù)信息,這些信息既有公式表達(dá)的數(shù)據(jù),又有線圖或數(shù)表等形式表達(dá)的數(shù)據(jù),如經(jīng)驗數(shù)表、實驗曲線、各種標(biāo)準(zhǔn)和規(guī)范等[1-2]。在傳統(tǒng)的設(shè)計中,這些數(shù)據(jù)往往是以查閱設(shè)計手冊或工具書的形式獲得的。在計算機輔助設(shè)計中,就必須對這些數(shù)據(jù)資料作相應(yīng)的處理,以便程序運行時計算機能按照設(shè)計要求自動檢索和引用。本文主要針對復(fù)雜數(shù)據(jù)的程序化問題,介紹數(shù)據(jù)處理的一些簡捷實用方法和應(yīng)用。

1 復(fù)雜數(shù)表的程序化處理

機械設(shè)計中,很多參數(shù)通常以數(shù)表的形式給出,如V帶型號與截面尺寸的關(guān)系、平鍵剖面尺寸與輪轂和軸頸之間的關(guān)系等。這些數(shù)據(jù)共同的特點就是參數(shù)之間的函數(shù)關(guān)系難以用數(shù)學(xué)公式來表達(dá),因而在CAD過程中,需要針對各種情況對數(shù)據(jù)進(jìn)行相應(yīng)的處理[3-5]。

根據(jù)自變量數(shù)量,數(shù)表可分為一維數(shù)表和二維數(shù)表等。其程序化最常用的方法就是將一維、二維數(shù)表數(shù)據(jù)以表的形式直接編入程序中。因為AutoLISP語言本身就屬于表處理語言,所以在處理表數(shù)據(jù)方面非常方便。

表1所示為普通V帶的基準(zhǔn)長度Ld及帶長修正系數(shù)KL數(shù)據(jù),基準(zhǔn)長度為標(biāo)準(zhǔn)長度系列,要求根據(jù)已經(jīng)確定的V帶型號和初步計算出的帶長Lc來確定帶長修正系數(shù) KL[6]。

表1 普通V帶的基準(zhǔn)長度系列及帶長修正系數(shù)KL

由于帶長修正系數(shù)KL值對應(yīng)不同的帶型號,其位置、數(shù)據(jù)個數(shù)和大小均有所不同,很難用數(shù)學(xué)公式來表達(dá)。利用AutoLISP編程及表處理功能,分別將V帶基準(zhǔn)長度系列和帶型號對應(yīng)的帶長修正系數(shù)KL值建立在函數(shù)變量引用表中。程序運行時根據(jù)帶長初步計算值Lc進(jìn)行檢索,取最接近計算值的基準(zhǔn)長度Ld。帶長修正系數(shù)KL則由帶型號和基準(zhǔn)長度共同確定。由于KL對應(yīng)于不同的帶型號具有不同的位置和數(shù)據(jù)個數(shù),因而首先要針對不同的型號檢索出相應(yīng)的系數(shù)表,再根據(jù)Ld所處的位置檢索出修正系數(shù)KL。如果Ld不在帶型號所在區(qū)間,則應(yīng)給出錯誤信息,如“帶長Ld超出帶型號所在范圍!查不到帶長修正系數(shù)KL!”。具體編程[7]:

(defun ldkl(dx lc);定義帶型號和帶長計算值為變參的函數(shù);

首先建立基準(zhǔn)長度標(biāo)準(zhǔn)系列引用表:

其次建立帶型號對應(yīng)的帶長修正系數(shù)KL值數(shù)據(jù)表:

檢索帶長計算值最接近的基準(zhǔn)長度及位置:

檢索帶型號對應(yīng)的基準(zhǔn)長度系列:

假設(shè)取帶型號為“C”,帶長初值 Lc=892,由于C型號在該長度段沒有對應(yīng)的帶長修正系數(shù),故執(zhí)行函數(shù)(LdKL“C”892),返回結(jié)果:“帶長 Ld超出帶型號所在范圍!查不到帶長修正系數(shù) KL!”。

如果帶型號為“C”,帶長初值Lc=2 892,執(zhí)行函數(shù)(LdKL“C”2 892)后,返回結(jié)果 Ld=2 800,KL=0.95。

2 線圖的程序化處理

在機械設(shè)計數(shù)據(jù)中,有很多參數(shù)間的關(guān)系是用線圖來表示的,如圖1所示的齒輪動載系數(shù)曲線,就表明了齒輪動載系數(shù)與速度和制造精度的關(guān)系。線圖的程序化處理通常有2種途徑:一是將線圖離散化后存入數(shù)表,再進(jìn)行前述的數(shù)表程序化處理;二是將線圖通過插值或擬合變成公式,再將公式編入程序執(zhí)行[8]。

圖1 齒輪動載系數(shù)Kv

插值法的基本思想是:設(shè)法構(gòu)造一個簡單的函數(shù)y=p(x),作為曲線函數(shù)f(x)的近似表達(dá)式,然后計算p(x)的值以得到f(x)的近似值,使得

成立。

插值方法有線性插值和非線性插值。在某些情況下,線性插值的誤差較大,難以滿足設(shè)計要求,為了提高插值精度,可采用非線性的多點插值方法。多點插值又稱為拉格朗日插值,當(dāng)插值節(jié)點取n=3時,就得到二次插值多項式,即拋物線插值[9]。若插值節(jié)點取n,則拉格朗日插值多項式的一般表達(dá)式為[10]

以圖1中齒輪精度為8級的動載系數(shù)曲線為例,要求根據(jù)齒輪的線速度V確定其動載系數(shù)Kv[11]。對該曲線進(jìn)行處理時可在該曲線上取出7個點,分別將其坐標(biāo)值賦給表變量xi和yi,然后通過多項式插值確定自變量相對應(yīng)的函數(shù)值。程序編制:

應(yīng)用舉例:設(shè)齒輪線速度V=15 m/s,執(zhí)行該函數(shù)(fx15),將得到動載系數(shù)值y(x)=1.32。

說明:所編制的多項式插值程序是一個通用程序,其中數(shù)表xi、yi中的數(shù)據(jù)可以根據(jù)具體情況更換,坐標(biāo)點數(shù)可多于7點,也可少于7點,基本上沒有限制。

3 數(shù)表數(shù)據(jù)文件的建立及檢索

前述方法是將數(shù)據(jù)資料編入程序,使用起來方便、快捷,但缺陷是數(shù)據(jù)依賴于程序而存在,若要修改數(shù)據(jù),則要修改程序,各程序之間所需相同數(shù)據(jù)資料無法共享。因此,對于數(shù)據(jù)量較大,且需要共享的數(shù)據(jù),采用數(shù)據(jù)文件是較好的一種方式。數(shù)據(jù)文件有固定的存取格式,既可在各種文本編輯器中建立,又可通過程序運行自動產(chǎn)生,而數(shù)據(jù)文件的管理和數(shù)據(jù)的檢索則可利用AutoLISP程序語言中的函數(shù)或文件管理功能來實現(xiàn)。

數(shù)據(jù)文件的建立格式取決于數(shù)據(jù)的類型和對應(yīng)的檢索數(shù)據(jù)方法,通常采用的數(shù)據(jù)文件保存為后綴為“dat”的文本格式,檢索方法為表處理關(guān)鍵字對應(yīng)法,即根據(jù)關(guān)鍵字檢索對應(yīng)的數(shù)據(jù)。如一維數(shù)據(jù)類型的文件格式:

該數(shù)據(jù)文件的第1排為變量表,表中的每一個變量對應(yīng)后面各排數(shù)據(jù)表中的數(shù)據(jù),每個表中的第1個元素為關(guān)鍵字。檢索時根據(jù)關(guān)鍵字找到數(shù)據(jù)文件中相應(yīng)的數(shù)據(jù)表,再將數(shù)據(jù)表中的數(shù)據(jù)依次賦給對應(yīng)的變量。

這類數(shù)據(jù)類型很常見,可定義一個通用的檢索函數(shù)來檢索數(shù)據(jù)并給變量賦值。檢索函數(shù)定義[12]:

再例如根據(jù)帶輪幾何圖形關(guān)系圖(圖2)及數(shù)據(jù)表建立 CAD文件夾下的數(shù)據(jù)文件為“dlvc.dat”,數(shù)據(jù)建立:

該數(shù)據(jù)文件使用檢索函數(shù)js的檢索過程為調(diào)用:(js"d:/cad/dlvc.dat"“B”)

返回:("B"3.5 10.8 7.5 12.5 19 14 38)

圖2 帶輪幾何參數(shù)

同時表中的數(shù)據(jù)已賦給數(shù)據(jù)文件首表中的各個變量中,如查詢 “!ha”,將顯示其值為3.5。

將數(shù)據(jù)存入一個獨立于程序的數(shù)據(jù)文件中,使數(shù)據(jù)和應(yīng)用程序分開,程序運行時,可按需要打開相應(yīng)的數(shù)據(jù)文件檢索數(shù)據(jù)。優(yōu)點是應(yīng)用程序簡潔,占用內(nèi)存量大大減少,數(shù)據(jù)更改也方便;缺點是數(shù)據(jù)的操作仍離不開應(yīng)用程序,兩者之間并未實現(xiàn)完全獨立。

4 結(jié)束語

在機械設(shè)計過程中,要查閱和檢索的數(shù)據(jù)信息、圖表、線圖等的形式是千變?nèi)f化的,上面所舉的只不過是比較典型的一些例子。從這些例子可見,工程數(shù)據(jù)的處理具有很大的靈活性,同一種數(shù)據(jù)資料可以采用多種方式編程處理。在具體處理時遵循的原則:在保證數(shù)據(jù)精確可靠的前提下,盡可能尋找簡練的方式,在編程時多費點功夫,使用起來就顯得方便、快捷。

[1]濮良貴,紀(jì)明剛.機械設(shè)計[M].8版.北京:高等教育出版社,2006:4-21.

[2]許天羽,鄭婷婷,戴賽帥.基于VB的高速艇航速預(yù)報程序開發(fā)[J].重慶理工大學(xué)學(xué)報:自然科學(xué)版,2011,25(2):34 -36

[3]喬愛科.機械CAD軟件開發(fā)實用技術(shù)教程[M].北京:機械工業(yè)出版社,2008:2-10.

[4]閆潔,江開勇.馬達(dá)外殼盒形拉深件成型模擬與沖壓級進(jìn)模設(shè)計[J].重慶理工大學(xué)學(xué)報:自然科學(xué)版,2011,25(9):25 -28

[5]許桎樟,李強,趙君官.基于ADAMS的軟導(dǎo)引結(jié)構(gòu)特性分析[J].四川兵工學(xué)報,2011(6):28-30.

[6]萬小利,高志.計算機輔助機械設(shè)計[M].北京:機械工業(yè)出版社,2005:22-28.

[7]劉銀遠(yuǎn).AutoLISP(10.0版)教程[M].北京:希望電腦公司,1991,37 -40.

[8]李志宏.使用AutoLISP程序進(jìn)行數(shù)據(jù)文件處理[J].林業(yè)建設(shè),2008(4):61-62.

[9]李建霞,肖啟敏.非圖形數(shù)據(jù)結(jié)構(gòu)在AutoLISP程序設(shè)計中的應(yīng)用[J].煤礦機械,2004(3):62-64.

[10]王漢財,金銀玉.淺談AUTOLISP在數(shù)據(jù)入庫過程中的應(yīng)用[J].吉林測繪,2009(4):54-56.

[11]姜松,姚敬,吳應(yīng)兵.CAD平臺下用AutoLISP進(jìn)行圖形數(shù)據(jù)檢查軟件開發(fā)[J].科技信息,2008(5):67-68.

[12]張漢春,廖金才.AutoLisp在管線數(shù)據(jù)轉(zhuǎn)換中的應(yīng)用[J].廣東科技,2009(20):65.

主站蜘蛛池模板: 欧美国产日本高清不卡| 在线色国产| 伊人久久大香线蕉成人综合网| 亚洲中文字幕久久无码精品A| 国产精品嫩草影院av| 免费a级毛片18以上观看精品| 国产91丝袜在线播放动漫| 久久无码av三级| 亚洲色图欧美视频| a级毛片网| 国产农村妇女精品一二区| 69av免费视频| 女人天堂av免费| 中文字幕欧美日韩| 伊人91在线| 久久综合九色综合97婷婷| 亚洲国产日韩在线观看| 国产麻豆精品在线观看| 亚洲视频在线青青| 97视频免费在线观看| 精品福利国产| 思思热在线视频精品| 欧美视频在线观看第一页| 国产va免费精品观看| 国产一区二区三区免费观看| 1024你懂的国产精品| 国产福利微拍精品一区二区| 99热这里只有精品免费| 亚洲成人播放| 中日无码在线观看| 欧美激情成人网| 欧美国产视频| 97亚洲色综久久精品| 一区二区日韩国产精久久| 久久久久国色AV免费观看性色| 欧美不卡视频一区发布| 国产欧美精品一区二区| 三级国产在线观看| 亚洲aaa视频| 国产不卡网| 538国产视频| 久久久久亚洲AV成人人电影软件| 一本大道在线一本久道| 免费播放毛片| 欧美日韩免费在线视频| 玖玖精品视频在线观看| 草草线在成年免费视频2| 亚洲国产日韩一区| 伊人中文网| 秋霞午夜国产精品成人片| 日韩欧美91| 麻豆国产精品| 91精品伊人久久大香线蕉| 在线精品自拍| 天天视频在线91频| 免费看的一级毛片| 在线看AV天堂| 麻豆AV网站免费进入| 国产精鲁鲁网在线视频| 在线国产你懂的| 久久青草视频| 国产精品网拍在线| 国产精品对白刺激| 天天做天天爱天天爽综合区| 中文字幕在线播放不卡| 就去吻亚洲精品国产欧美| 日韩免费毛片| 无码内射中文字幕岛国片| 国产一区二区视频在线| 亚洲第一视频区| 国产玖玖玖精品视频| 精品少妇人妻av无码久久| 日韩精品无码免费一区二区三区| 国产91蝌蚪窝| 在线观看国产精美视频| 亚洲欧美日本国产综合在线| 精品91自产拍在线| 亚洲女同欧美在线| 成人第一页| 欧美一区福利| 伊人激情久久综合中文字幕| 日韩在线播放中文字幕|