• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      蝸輪滾刀CAD系統(tǒng)自定義函數(shù)庫(kù)的開(kāi)發(fā)

      2012-12-26 06:58:24趙明潔
      關(guān)鍵詞:函數(shù)庫(kù)蝸輪滾刀

      趙明潔,徐 巖

      (河北師范大學(xué)職業(yè)技術(shù)學(xué)院,河北石家莊 050024)

      蝸輪滾刀CAD系統(tǒng)自定義函數(shù)庫(kù)的開(kāi)發(fā)

      趙明潔,徐 巖

      (河北師范大學(xué)職業(yè)技術(shù)學(xué)院,河北石家莊 050024)

      以AutoCAD為開(kāi)發(fā)平臺(tái),利用其內(nèi)嵌語(yǔ)言Auto LISP為開(kāi)發(fā)工具開(kāi)發(fā)蝸輪滾刀CAD系統(tǒng)時(shí),由于Auto LISP本身提供的函數(shù)不能滿足滾刀設(shè)計(jì)過(guò)程中的全部需要,因此在系統(tǒng)中開(kāi)發(fā)了計(jì)算類(lèi)、標(biāo)注類(lèi)、繪圖類(lèi)等補(bǔ)充函數(shù)共同組成自定義函數(shù)庫(kù)并設(shè)計(jì)成一個(gè)獨(dú)立的模塊,供系統(tǒng)各模塊調(diào)用。通過(guò)系統(tǒng)的運(yùn)行,驗(yàn)證了自定義函數(shù)庫(kù)的必要性和有效性。

      蝸輪滾刀;機(jī)械CAD;Auto LISP;自定義函數(shù)庫(kù)

      隨著CAD技術(shù)在機(jī)械工程中的普遍應(yīng)用[1-2],各類(lèi)CAD系統(tǒng)被廣泛應(yīng)用于機(jī)床、夾具、刀具等的設(shè)計(jì)中,并正向著深度和廣度方向逐漸延伸。AutoCAD是一個(gè)在機(jī)械設(shè)計(jì)中有著廣泛應(yīng)用的開(kāi)放式通用繪圖軟件[3],該軟件功能強(qiáng)大,使用簡(jiǎn)單方便,允許用戶(hù)利用其內(nèi)嵌的Auto LISP語(yǔ)言設(shè)計(jì)開(kāi)發(fā)各種應(yīng)用程序。所以在設(shè)計(jì)開(kāi)發(fā)蝸輪滾刀CAD系統(tǒng)時(shí)[4-6],采用了AutoCAD這一通用繪圖軟件。雖然Auto LISP本身提供了基本函數(shù)、實(shí)用函數(shù)、內(nèi)存管理函數(shù)等多種函數(shù),但是,針對(duì)蝸輪滾刀設(shè)計(jì)過(guò)程中的特殊要求,特別是繪圖、標(biāo)注等功能的實(shí)現(xiàn)問(wèn)題,Auto LISP本身提供的函數(shù)還不足以滿足設(shè)計(jì)中的全部需要。所以,在系統(tǒng)中專(zhuān)門(mén)設(shè)置一個(gè)自定義函數(shù)庫(kù)模塊,在此模塊中,通過(guò)分析研究蝸輪滾刀設(shè)計(jì)中的應(yīng)用需求,分別擴(kuò)充了數(shù)值計(jì)算類(lèi)函數(shù)、繪圖類(lèi)函數(shù)和標(biāo)注類(lèi)函數(shù)的自定義函數(shù),用Auto LISP語(yǔ)言進(jìn)行定義和開(kāi)發(fā),作為補(bǔ)充函數(shù)共同組成自定義函數(shù)庫(kù),供系統(tǒng)其余各模塊調(diào)用。

      1 數(shù)值計(jì)算類(lèi)函數(shù)

      1.1 數(shù)值圓整函數(shù)

      滾刀長(zhǎng)度要根據(jù)計(jì)算值和手冊(cè)中相關(guān)表格或選用機(jī)床的型號(hào)進(jìn)行圓整,設(shè)計(jì)過(guò)程中也有不少數(shù)值需要按一定精度進(jìn)行圓整。因此,在自定義函數(shù)庫(kù)定義了可以按不同精度要求對(duì)不同的數(shù)值進(jìn)行圓整的函數(shù)。設(shè)計(jì)時(shí),利用計(jì)算所得的待圓整數(shù)值和要求精度相除并取整,然后進(jìn)行四舍五入處理,圓整過(guò)程在程序內(nèi)部完成。定義的函數(shù)為round(ab)。

      圖1 數(shù)值圓整程序框圖Fig.1 Flow sheet of numerical roundness

      即當(dāng)圓整精度為0.1時(shí)5.34圓整為5.3。

      1.2 角度轉(zhuǎn)換函數(shù)

      系統(tǒng)從用戶(hù)界面接收到的是以度、分、秒形式表示的度數(shù),而在計(jì)算、繪圖過(guò)程中使用的是弧度或用小數(shù)形式表示的度,但Auto LISP函數(shù)和AutoCAD命令不提供此項(xiàng)轉(zhuǎn)換功能,所以,作為Auto LISP函數(shù)和AutoCAD命令的補(bǔ)充,在自定義函數(shù)庫(kù)定義了將度、分、秒轉(zhuǎn)換為用小數(shù)形式表示的度的函數(shù)。該函數(shù)既可識(shí)別用鍵盤(pán)輸入半角的分和秒,也可識(shí)別用軟鍵盤(pán)輸入的全角的分和秒。該函數(shù)計(jì)算程序框圖如圖2所示,第1次循環(huán)是判別全角的分和秒,第2次循環(huán)是判別半角的分和秒。

      同時(shí),系統(tǒng)在進(jìn)行參數(shù)輸出時(shí),為了符合大多數(shù)用戶(hù)的讀數(shù)習(xí)慣,都是將計(jì)算過(guò)程中產(chǎn)生的用小數(shù)形式表示的度轉(zhuǎn)換為度、分、秒的形式輸出,因此,此模塊同樣定義了將用小數(shù)形式表示的度轉(zhuǎn)換為度、分、秒的函數(shù)。而在計(jì)算過(guò)程中需要不斷在用小數(shù)形式表示的度和弧度之間轉(zhuǎn)換,因此,在此模塊還定義了用小數(shù)形式表示的度和弧度相互轉(zhuǎn)換的函數(shù)。此2種函數(shù)與ftod函數(shù)共同組成了角度轉(zhuǎn)換函數(shù)。

      1.3 三角函數(shù)補(bǔ)充函數(shù)

      Auto LISP語(yǔ)言中定義了正弦、余弦、反正切函數(shù)可供調(diào)用,但未定義反正弦、反余弦、正切、余切和反余切函數(shù),而在設(shè)計(jì)計(jì)算過(guò)程中要經(jīng)常用到這些函數(shù),所以,此模塊定義了正切補(bǔ)充函數(shù)、余切補(bǔ)充函數(shù)、反正弦補(bǔ)充函數(shù)、反余弦補(bǔ)充函數(shù)和反正切補(bǔ)充函數(shù)共同組成了三角函數(shù)補(bǔ)充函數(shù)。反正弦補(bǔ)充函數(shù)程序如下:

      圖2 角度轉(zhuǎn)換程序框圖Fig.2 Flow sheet of angular transformation

      2 標(biāo)注類(lèi)函數(shù)

      2.1 粗糙度標(biāo)注函數(shù)rough(ptangtxt)

      在AutoCAD環(huán)境下標(biāo)注表面粗糙度都是將其定義為塊然后插入,應(yīng)用不便,而開(kāi)發(fā)的對(duì)話框式表面粗糙度標(biāo)注工具采用交互式,不適用于在程序中自動(dòng)完成標(biāo)注。因此,通過(guò)定義表面粗糙度標(biāo)注函數(shù)在系統(tǒng)中實(shí)現(xiàn)了表面粗糙度的自動(dòng)標(biāo)注,并且可以標(biāo)注任意角度的表面粗糙度符號(hào)且使數(shù)值書(shū)寫(xiě)方向均符合國(guó)標(biāo)規(guī)定。

      在蝸輪滾刀工作圖中,標(biāo)注表面粗糙度時(shí)只有高度參數(shù),其國(guó)標(biāo)要求形式如圖3a)所示。

      具體設(shè)計(jì)時(shí)首先在指定的pt位置按圖3b)實(shí)線所示的形式繪制一個(gè)向上的表面粗糙度符號(hào),然后按照系統(tǒng)讀取的角度以pt點(diǎn)為基點(diǎn)進(jìn)行旋轉(zhuǎn),使其在pt點(diǎn)處保證圖3b)中的虛線與該點(diǎn)處的輪廓線垂直。

      粗糙度數(shù)值書(shū)寫(xiě)位置分2種情況:當(dāng)表面粗糙度符號(hào)尾端偏上或偏左時(shí),書(shū)寫(xiě)基點(diǎn)為p點(diǎn),文本對(duì)齊方式為BR即右下對(duì)齊,文本旋轉(zhuǎn)角度同標(biāo)注角度,如圖3b)所示;當(dāng)偏下或偏右時(shí),書(shū)寫(xiě)基點(diǎn)同樣為p點(diǎn),但文本對(duì)齊方式為T(mén)L即左上對(duì)齊,文本旋轉(zhuǎn)角度為(標(biāo)注角度-π),如圖3c)所示。

      該函數(shù)通過(guò)指定點(diǎn)pt、旋轉(zhuǎn)角度ang和由數(shù)據(jù)文件中讀取粗糙度數(shù)值txt而標(biāo)注表面粗糙度。表面粗糙度數(shù)值字高與表面粗糙度符號(hào)高度均通過(guò)讀取設(shè)定的尺寸字高而自動(dòng)設(shè)置。

      2.2 基準(zhǔn)符號(hào)標(biāo)注函數(shù)

      圖3 表面粗糙度的標(biāo)注Fig.3 Surface roughness labeling

      蝸輪滾刀工作圖中要求標(biāo)注形位公差和基準(zhǔn)符號(hào),為此定義了基準(zhǔn)符號(hào)標(biāo)注補(bǔ)充函數(shù)datum(ptangtxt)。其中pt表示標(biāo)注點(diǎn),如圖4所示,ang表示標(biāo)注方向角度,txt是基準(zhǔn)字母,其書(shū)寫(xiě)基點(diǎn)為cenpt。利用該函數(shù)標(biāo)注的基準(zhǔn)符號(hào)粗實(shí)線、細(xì)實(shí)線和基準(zhǔn)名稱(chēng)字母分別繪制在各自的圖層,但組合成為一個(gè)“組”,除可以單獨(dú)改變名稱(chēng)字母外,不可對(duì)各部分進(jìn)行單獨(dú)操作。

      利用該補(bǔ)充函數(shù),在編程中通過(guò)讀取標(biāo)注處輪廓線的角度而標(biāo)注不同方向的基準(zhǔn)符號(hào)。基準(zhǔn)名稱(chēng)字母的字高通過(guò)讀取設(shè)定的尺寸標(biāo)注字而自動(dòng)設(shè)置。

      2.3 雙半徑標(biāo)注函數(shù)

      在蝸輪滾刀工作圖中,標(biāo)注齒形圖圓角和退刀槽圓角等時(shí)一般是用如圖5a)所示R1和R2的形式,即兩圓角用兩條尺寸線共用一尺寸文本表示,自定義函數(shù)庫(kù)內(nèi)定義了此種類(lèi)型的半徑標(biāo)注函數(shù)。

      標(biāo)注時(shí)各位置點(diǎn)的確定如圖5b)所示,通過(guò)指定pt1和pt2兩點(diǎn)以及pt點(diǎn)相對(duì)于pt1和pt2連線的方向進(jìn)行標(biāo)注。系統(tǒng)首先搜索讀取pt1,pt2和pt范圍內(nèi)的圓弧半徑和圓心cen1,cen2的坐標(biāo),則pt1,cen1連線和pt2,cen2連線的交點(diǎn)即為pt,然后以pt為起點(diǎn),分別沿pt,pt1連線和pt,pt2連線方向繪制包含箭頭的多義線,多義線的長(zhǎng)度為pt至cen1的長(zhǎng)度與圓弧半徑的和。文本“R1”和“R2”的書(shū)寫(xiě)基點(diǎn)為pt,“R1”形式的文本對(duì)齊方式為T(mén)C即中上對(duì)齊,“R2”形式的文本對(duì)齊方式為BC即中下對(duì)齊。

      圖4 基準(zhǔn)符號(hào)標(biāo)注Fig.4 Fiducial mark labeling

      圖5 雙半徑標(biāo)注Fig.5 Double radius mark

      3 繪圖類(lèi)函數(shù)

      3.1 圖層變換函數(shù)

      繪制滾刀工作圖時(shí)刀齒等需要進(jìn)行陣列,若逐條線選擇再進(jìn)行陣列不僅增大編程的工作量,而且使得程序復(fù)雜。因此,通過(guò)定義圖層變換函數(shù),可以在繪圖時(shí)將待陣列圖形繪制在備用圖層內(nèi),然后選擇該圖層內(nèi)全部圖形對(duì)象進(jìn)行陣列,再用圖層變換函數(shù)自動(dòng)將其轉(zhuǎn)換到應(yīng)在圖層,使得程序簡(jiǎn)單,容易維護(hù)。同樣,利用該函數(shù)還可以對(duì)其他類(lèi)似的繪圖操作進(jìn)行圖層轉(zhuǎn)換。轉(zhuǎn)換圖層語(yǔ)句如下。

      3.2 填充螺旋升角線函數(shù)

      在蝸輪滾刀工作圖中有一種特殊的表示方法,即用相互交叉的雙點(diǎn)劃線以剖面線的形式填充主視圖的未剖部分,雙點(diǎn)劃線的方向和傾斜角度要符合蝸輪滾刀的旋向和螺旋升角。若用AutoCAD中的剖面線填充方式實(shí)現(xiàn)此功能編程比較繁瑣,不易判斷旋轉(zhuǎn)角度,并且需要在不同圖層間反復(fù)轉(zhuǎn)換。因此,在自定義函數(shù)庫(kù)中定義了填充螺旋升角線函數(shù)hat(pt),通過(guò)從系統(tǒng)中自動(dòng)讀取螺旋升角和旋向并以pt點(diǎn)為填充區(qū)域的內(nèi)部點(diǎn)而自動(dòng)填充螺旋升角線。填充螺旋升角線函數(shù)hat(pt)的LISP程序如下。

      另外,還有其他一些類(lèi)似問(wèn)題需要解決,因此,在此自定義函數(shù)庫(kù)中,還定義了其他一系列函數(shù)與以上函數(shù)共同組成自定義函數(shù)庫(kù),供整個(gè)系統(tǒng)各模塊調(diào)用。

      4 結(jié) 語(yǔ)

      設(shè)計(jì)開(kāi)發(fā)了數(shù)值計(jì)算、標(biāo)注、繪圖3大類(lèi)補(bǔ)充函數(shù)共同組成自定義函數(shù)庫(kù),該函數(shù)庫(kù)已成功應(yīng)用在筆者開(kāi)發(fā)的蝸輪滾刀CAD系統(tǒng)中。本函數(shù)庫(kù)所開(kāi)發(fā)的自定義函數(shù)作為Auto LISP函數(shù)的補(bǔ)充,不僅滿足了蝸輪滾刀CAD系統(tǒng)設(shè)計(jì)的特殊需要,而且豐富了Auto LISP的函數(shù),擴(kuò)展了AutoCAD的功能,并且可以用于其他CAD系統(tǒng)的應(yīng)用開(kāi)發(fā)。

      [1]董金華,李才潑,劉順?lè)?,?網(wǎng)絡(luò)環(huán)境下三維CAD技術(shù)研究[J].河北科技大學(xué)學(xué)報(bào)(Journal of Hebei University of Science and Technology),2010,31(4):342-345.

      [2]董金華,楊松林.標(biāo)準(zhǔn)單元測(cè)試環(huán)境的CAD二維圖形自動(dòng)判別技術(shù)研究[J].河北科技大學(xué)學(xué)報(bào)(Journal of Hebei University of Science and Technology),2009,30(3):223-226.

      [3]吳永進(jìn),林美櫻.Auto LISP&DCL基礎(chǔ)篇[M].北京:中國(guó)鐵道出版社,2003.

      [4]徐 巖,湯百智,張艷華.蝸輪滾刀CAD系統(tǒng)中工作圖的自動(dòng)繪制[J].現(xiàn)代制造工程(Modern Manufacturing Engineering),2005(7):54-56.

      [5]馬新廣.蝸輪滾刀的計(jì)算機(jī)輔助設(shè)計(jì)[J].機(jī)械工程與自動(dòng)化(Mechanical Engineering & Automation),2010,16(6):14-15.

      [6]田培棠.齒輪刀具設(shè)計(jì)與選用手冊(cè)[M].北京:國(guó)際工業(yè)出版社,2011.

      Development of self-defined function database for the worm hob CAD system

      ZHAO Ming-jie,XU Yan
      (Vocation Technology College,Hebei Normal University,Shijiazhuang Hebei 050024,China)

      When making use of Auto LISP of AutoCAD to develop the CAD system of the worm hob,the functions provided by Auto LISP can't fulfill all requirements in the design process of the worm hob.So some complementary functions such as calculating,dimensioning and drawing are developed to make an unattached module.It can be transferred by every module of the system.Through running the system,the necessity and the validity of the database are verified.

      worm hob;mechanical CAD;Auto LISP;self-defined function database

      TP391.72

      A

      1008-1542(2012)04-0347-04

      2012-03-19;責(zé)任編輯:馮 民

      河北省教育廳基金資助項(xiàng)目(2010143)

      趙明潔(1960-),女,遼寧大連人,副教授,主要從事機(jī)械設(shè)計(jì)方面的研究。

      猜你喜歡
      函數(shù)庫(kù)蝸輪滾刀
      新型材料的蝸輪蝸桿減速箱
      用于優(yōu)化雷達(dá)信號(hào)處理的VSIPL函數(shù)庫(kù)
      基于Python的開(kāi)源GIS應(yīng)用開(kāi)發(fā)
      Scratch求最值和平均值
      超硬翅片滾刀加工在CNC磨床上的實(shí)現(xiàn)
      電梯蝸輪輪齒失效原因分析及警示
      基于BB60C的IQ數(shù)據(jù)采集與存儲(chǔ)系統(tǒng)設(shè)計(jì)
      不同地應(yīng)力下TBM盤(pán)形滾刀破巖特性
      滾刀式剪草機(jī)傳動(dòng)方式的現(xiàn)狀和發(fā)展前景
      TBM滾刀刀圈加工工藝的研究
      丹寨县| 常熟市| 昂仁县| 涿州市| 报价| 五寨县| 高唐县| 理塘县| 布尔津县| 简阳市| 甘泉县| 湾仔区| 阿拉善左旗| 来凤县| 建平县| 勃利县| 曲沃县| 健康| 前郭尔| 阿坝| 岫岩| 伊宁市| 榆林市| 云安县| 岗巴县| 建昌县| 永兴县| 安岳县| 固安县| 镇雄县| 汶上县| 湘潭县| 浦城县| 荃湾区| 延长县| 甘南县| 普格县| 金山区| 仁寿县| 宁波市| 丹棱县|