• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    利用ObjectARX方法實現(xiàn)NC車削自動編程系統(tǒng)的圖形輸入

    2019-06-20 05:34:20石鑫王忠建劉麗華石夢琳中航工業(yè)江西洪都航空工業(yè)股份有限公司中南林業(yè)科技大學
    智能制造 2019年4期
    關鍵詞:數(shù)據(jù)結(jié)構樣條圓弧

    文|石鑫 王忠建 劉麗華 石夢琳 .中航工業(yè)江西洪都航空工業(yè)股份有限公司 .中南林業(yè)科技大學

    一、引言

    AutoCAD軟件在機械制造領域已經(jīng)得到了廣泛的應用,能夠完成各種機械零件設計及圖形輸入任務,然而其所繪制的圖形數(shù)據(jù)結(jié)構不能為CAPP、CAM等相關模塊所利用,為此需要對AutoCAD的圖形數(shù)據(jù)進行讀取并轉(zhuǎn)化成數(shù)控編程系統(tǒng)所需要的數(shù)據(jù)結(jié)構。國內(nèi)外學者對此作了很多研究工作,如利用AutoLISP讀取DXF文件等方法對AutoCAD的圖形文件進行讀取識別。然而這些方法仍然有很多的局限性,不能進行信息的全面轉(zhuǎn)化。針對上述問題,本文利用ObjectARX3.0方法讀取AutoCAD2000數(shù)據(jù)庫的圖形信息及ID值來識別圖素的屬性并進行相應的數(shù)據(jù)處理,轉(zhuǎn)換成NC加工所需要的基于特征的數(shù)據(jù)結(jié)構,從而為CAPP、CAM等相關模塊提供數(shù)據(jù)源,最終實現(xiàn)NC數(shù)控編程自動化。

    二、ObjectARX簡介

    ObjectARX3.0是Autodesk公司針對AutoCAD 2000平臺的二次開發(fā)而推出的一個工具包,它支持面向?qū)ο蟮木幊谭椒ǎ∣OP)。ObjectARX3.0應用程序是一種Windows動態(tài)庫。

    ObjectARX由以下類構成:

    (1)AcRx 用于綁定應用程序和運行時類的注冊。

    (2)AcEd 用于注冊內(nèi)部命令和系統(tǒng)事件通知的類。

    (3)AcDb AutoCAD數(shù)據(jù)庫類。

    (4)AcGi用于渲染AutoCAD實體的圖形界面。

    所有ObjectARX應用程序必須與acad.Lib和raapi.Lib連接,根據(jù)使用的ObjectARX類庫和函數(shù)的前綴不同,還可能需要其它的附加鏈接庫如表1所列。

    表1 附加鏈接庫

    三、總體結(jié)構

    1、總體結(jié)構的設計

    在AutoCAD環(huán)境下進行零件設計與零件工程圖的繪制,根據(jù)零件工程圖信息進行加工特征的定義和零件特征模型的描述。圖形輸入系統(tǒng)的總體結(jié)構如圖1所示。

    圖1 系統(tǒng)總體結(jié)構

    2、幾何數(shù)據(jù)結(jié)構

    本程序的數(shù)據(jù)源來自AutoCAD數(shù)據(jù)庫,利用ObjectARX方法從數(shù)據(jù)庫中讀入數(shù)據(jù)需要存儲以便進一步進行數(shù)據(jù)分析,為此建立了圖素的幾何數(shù)據(jù)結(jié)構,如下:

    struct STusu

    long R;//若為圓弧則表示圓弧的半徑坐標,對其他圖素沒有意義

    double startAngle,endAngle;//若為圓弧則表示圓弧的起、止角度值,對其他圖素沒有意義};

    注:x1,y1——直線(或圓弧,或樣條曲線)的始點坐標。

    x2,y2——直線(或圓弧,或樣條曲線)的末點坐標。

    c1,c2——若為圓弧則表示圓弧的中心點坐標,對其他圖素沒有意義。

    3、零件工藝信息

    由于零件是以實體特征面構建的,所以各特征面的工藝信息可能是不同的,有的工藝信息是所有表面共有的,稱作全局工藝信息。實體表面工藝信息是指不同的表面類型而具有不同的工藝參數(shù)。本文主要考慮了以下工藝信息:硬度、粗糙度、表面處理、軸向尺寸公差、直徑尺寸公差、直線度、圓柱度、平行度、圓度、垂直度、同軸度、徑向全跳動和徑向圓跳動等。

    四、程序設計

    本程序分為數(shù)據(jù)讀入模塊、數(shù)據(jù)處理模塊及工藝信息輸入模塊。

    1、讀入模塊

    讀入模塊是利用ObjectARX方法從AutoCAD數(shù)據(jù)庫中讀取零件的信息,并保存在前面確定的幾何信息數(shù)據(jù)結(jié)構中,以便接下來的數(shù)據(jù)處理。讀入模塊源代碼流程圖如圖2所示。以下是讀入模塊遍歷所有實體的源代碼:

    {//打開當前塊表

    2、數(shù)據(jù)處理模塊

    數(shù)據(jù)處理模塊共有三個函數(shù):

    Data process1函數(shù):尋找圓點O(OX,OY),刪除中心線,把坐標系轉(zhuǎn)化為以O(OX,OY)為圓點的坐標系。

    Data process2函數(shù):取圖形的上半部分,并將多余的圖素刪去。

    Data process 3函數(shù):通過對零件的幾何信息進行分析,提出了一種方便快捷的圖形輪廓搜素法,從而得到圖形的外輪廓數(shù)據(jù)。它對從AutoCAD數(shù)據(jù)庫讀入的數(shù)據(jù)進行了進一步處理,從而判斷出各圖素的工藝特征(柱面、端面和錐面等)。

    數(shù)據(jù)處理的具體思路:搜索初始圖素(有一端點坐標值為(0,0)的圖素),將它的末點賦給endPoint0,然后利用endPoint0的值繼續(xù)搜索下一個圖素(下一個圖素與上一個圖素首尾相接),每搜索到符合要求的點時就將它存儲到PPON結(jié)構中。如果搜索到的圖素的X坐標值等于Xmaxx(上個模塊中得到的值,它是所有圖素中X坐標的最大值),則圖形的外輪廓搜索完成。接下來判斷有沒有內(nèi)孔,通過將剩下的圖素與外輪廓的最后一個圖素進行求交,若求交成功則說明內(nèi)孔存在,然后按照外輪廓搜索的規(guī)則繼續(xù)進行搜索直到所得圖素的Y坐標值為0,再判斷是否存在左、右盲孔,若存在就繼續(xù)是使用上述方法進行搜索,直到所搜索到圖素的X值為0,全部搜索結(jié)束,得到圖形的外輪廓。

    3、主要圖素的處理

    (1)直線、圓弧的處理

    直線程序:利用ObjectARX類庫所提供的startPoint()及endPoint()函數(shù)得到直線的起點與終點坐標值。具體使用如下:

    在進行外輪廓的搜索時,如果所搜索到的點是直線的終點,將直線的起點與終點進行調(diào)換。

    圓弧程序:利用ObjectARX類庫所提供的startAngle()、endAngle()及center()函數(shù)分別得到圓弧的起始角、終止角及圓弧的中心坐標值。具體實現(xiàn)如下:

    圓弧旋向的處理:在AutoCAD數(shù)據(jù)庫中圓弧無論是順時針繪制,還是逆時針繪制,其存儲都是按照逆時針進行的,在進行圖形外輪廓的搜索時,如果所搜索的點是圓弧的終止點,則將圓弧的旋向取反。

    (2)樣條曲線的處理

    為了從AutoCAD數(shù)據(jù)庫中讀入樣條曲線的型值點,需要利用ObjectARX所提供的函數(shù)。經(jīng)過仔細的分析從ObjectARX所提供的類庫中(dbspline.h)找到了可以得到樣條曲線型值點、始末端點及切線斜率等關鍵值的函數(shù),其聲明如下:控制端點:

    其中AcGePoint3dArray& fi tPoints定義了一個動態(tài)的數(shù)組,用來存儲搜索到的型值點坐標。

    函數(shù)的使用如下:

    從而得到了動態(tài)數(shù)組Points,它存儲樣條曲線所有的型值點坐標。

    得到了型值點的坐標后,接著利用追趕法得到繪制三次B樣條曲線所需的控制點,經(jīng)過插補得到B樣條的擬合點。將這些點存儲在點表PPON結(jié)構中,從而完成對樣條曲線的處理。

    4、工藝信息輸入模塊

    根據(jù)零件整體及各特征形面的不同工藝要求,可以輸入全局工藝信息或局部工藝信息。實驗件的軸端面的工藝信息輸入如圖3所示。

    圖3 軸端面工藝信息輸入

    五、實驗結(jié)果與討論

    為了考察本系統(tǒng)程序運行的結(jié)果是否達到預期的要求,及其形成的文件是否滿足NC數(shù)控加工所需的數(shù)據(jù)結(jié)構。首先在AutoCAD環(huán)境下繪制如圖4所示的回轉(zhuǎn)體實驗件。

    圖4 回轉(zhuǎn)體實驗件

    加載應用程序NCINTPUT.arx,讀取AutoCAD所繪制的圖形并進行數(shù)據(jù)處理,程序系統(tǒng)的主界面如圖5所示。

    圖5 程序系統(tǒng)主界面

    至此已經(jīng)得到了實驗件的幾何圖形信息,這還不能滿足數(shù)控加工的需要,接下來需對零件的工藝信息進行輸入,全局工藝信息輸入如圖6所示,其中,淬火C表示滲碳淬火,強度與韌性單位為MPa。

    圖6 全局工藝信息輸入

    為了驗證本程序所得數(shù)據(jù)的正確性,對所形成的文件進形讀取并重現(xiàn)了圖形的輪廓如圖7所示。

    圖7 圖形輪廓重現(xiàn)

    六、結(jié)論

    本文利用VC++6.0語言,通過ObjectARX3.0類庫讀取AutoCAD2000數(shù)據(jù)庫的圖形信息,從而實現(xiàn)NC自動編程系統(tǒng)的圖形輸入,可以得到以下結(jié)論:

    ◎ 利用ObjectARX方法可對AutoCAD數(shù)據(jù)庫進行操作;

    ◎ 搜索AutoCAD數(shù)據(jù)庫中的圖素時,利用ObjectARX所提供的迭代器進行搜索;

    ◎ 進行工藝信息的標注時,可隨機選取圖素進行工藝信息標注(例如,在點選外腔或內(nèi)腔圓柱面后,將彈出如圖8所示的對話框提示用戶輸入圓柱面工藝信息)。

    圖8 圓柱面工藝信息輸入

    經(jīng)過測試,利用ObjectARX方法及本系統(tǒng)程序所制定的數(shù)據(jù)轉(zhuǎn)化規(guī)則所得到的數(shù)據(jù)符合NC自動編程所需要的數(shù)據(jù)結(jié)構形式,實現(xiàn)了數(shù)控車削自動編程系統(tǒng)圖形的快速高效輸入,提高了工訓實踐能力。

    猜你喜歡
    數(shù)據(jù)結(jié)構樣條圓弧
    一元五次B樣條擬插值研究
    淺析圓弧段高大模板支撐體系設計與應用
    外圓弧面銑削刀具
    三次參數(shù)樣條在機床高速高精加工中的應用
    三次樣條和二次刪除相輔助的WASD神經(jīng)網(wǎng)絡與日本人口預測
    軟件(2017年6期)2017-09-23 20:56:27
    基于樣條函數(shù)的高精度電子秤設計
    “翻轉(zhuǎn)課堂”教學模式的探討——以《數(shù)據(jù)結(jié)構》課程教學為例
    高職高專數(shù)據(jù)結(jié)構教學改革探討
    中國市場(2016年45期)2016-05-17 05:15:48
    數(shù)控車削圓弧螺紋程序編制與加工
    等截面圓弧無鉸板拱技術狀況評價
    鄂托克前旗| 绥阳县| 营口市| 平昌县| 重庆市| 南皮县| 霍林郭勒市| 东辽县| 沂南县| 镇平县| 西平县| 兴山县| 太康县| 绥中县| 喀喇沁旗| 洪洞县| 新巴尔虎右旗| 马鞍山市| 新竹市| 建水县| 汉阴县| 丘北县| 娄底市| 海盐县| 高碑店市| 桃园市| 鹤庆县| 新丰县| 临海市| 鸡西市| 司法| 彝良县| 鲁山县| 宝坻区| 永州市| 太白县| 海伦市| 海口市| 尼勒克县| 苍南县| 驻马店市|