




已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
廣東工業(yè)大學(xué)數(shù)控技術(shù)課程設(shè)計(jì)任務(wù)書題目名稱仿真實(shí)現(xiàn)數(shù)控自動(dòng)編程系統(tǒng)學(xué)生學(xué)院機(jī)電工程學(xué)院專業(yè)班級(jí)姓 名學(xué) 號(hào)一、課程設(shè)計(jì)的內(nèi)容用計(jì)算機(jī)高級(jí)編程語(yǔ)言(如VB,VC+等)來(lái)實(shí)現(xiàn):由任意的CAD軟件(如AutoCAD,Pro/E、UG、Solid works等)所生成的二維繪圖DXF文件(限定DXF文件中的幾何元素只有直線和圓?。┑紺NC代碼的自動(dòng)生成(亦即仿真數(shù)控自動(dòng)編程系統(tǒng))。二、課程設(shè)計(jì)的要求與數(shù)據(jù)具體的要求如下:(1)從DFX文件中提取幾何信息(只提取直線與圓弧的信息);(2)在屏幕上顯示所提取得到的二維幾何圖形。(3)將提取得幾何元素的進(jìn)行排序(由程序來(lái)實(shí)現(xiàn));(4)針對(duì)指定的走刀方向、起刀點(diǎn),自動(dòng)生成數(shù)控平面銑削(或數(shù)控線切割)的CNC代碼。三、課程設(shè)計(jì)應(yīng)完成的工作每個(gè)學(xué)生應(yīng)在規(guī)定時(shí)間內(nèi),獨(dú)立完成所選題目。運(yùn)用VB編程語(yǔ)言,編寫計(jì)算機(jī)軟件在WINDOWS實(shí)現(xiàn)數(shù)控裝置的計(jì)算機(jī)仿真。要求清楚地分析問題、提出算法、確定人機(jī)界面、列出流程圖,最后用程序驗(yàn)證,完成軟件測(cè)試,并且提交程序說明書。對(duì)選擇典型零件編程題目的學(xué)生,要求用編寫計(jì)算機(jī)軟件的方法解決數(shù)控過程的一個(gè)問題??梢匀芜x用本人熟悉的一種編程語(yǔ)言,要求清楚地分析問題、提出算法、列出流程圖,最后用程序驗(yàn)證,并且提交程序說明書。四、課程設(shè)計(jì)進(jìn)程安排序號(hào)設(shè)計(jì)各階段內(nèi)容地點(diǎn)起止日期11、布置任務(wù),領(lǐng)取課程設(shè)計(jì)任務(wù)書,了解課程設(shè)計(jì)的目的、內(nèi)容和要求;了解課程設(shè)計(jì)的步驟;2、理解本課程設(shè)計(jì)題目的具體內(nèi)容要求,根據(jù)各自不同情況選擇題目;教室教室第17周 第18周1819周2了解和掌握有關(guān)軟件開發(fā)的知識(shí),如VB編程、VC編程、軟件工程、軟件開發(fā)的常用技巧及注意事項(xiàng);3調(diào)查研究,收集資料,查閱文獻(xiàn)。學(xué)生對(duì)所選題目進(jìn)行論證及確定設(shè)計(jì)方案, 4掌握數(shù)控結(jié)構(gòu)設(shè)計(jì)要求,具體技術(shù)指標(biāo)和計(jì)算要求; 進(jìn)行機(jī)械結(jié)構(gòu)設(shè)計(jì)或者軟件設(shè)計(jì);5進(jìn)行數(shù)控系統(tǒng)和算法的軟件編程與開發(fā),初步實(shí)現(xiàn)系統(tǒng)的基本功能6通過多個(gè)實(shí)例來(lái)驗(yàn)證和改進(jìn)系統(tǒng)功能,完善軟件界面7對(duì)所開發(fā)的軟件程序進(jìn)行標(biāo)識(shí)和說明8按要求的格式編制課程設(shè)計(jì)說明書9課程設(shè)計(jì)答辯五、應(yīng)收集的資料及主要參考文獻(xiàn)1 廖效果.數(shù)字控制機(jī)床.武漢:華中理工大學(xué)出版社.1992.92 廖效果.數(shù)控技術(shù). 武漢:湖北科學(xué)技術(shù)出版社.2000.73 劉又午.數(shù)字控制機(jī)床.北京:機(jī)械工業(yè)出版社4 龔浦泉.機(jī)床電氣控制.重慶:重慶大學(xué)出版社5 譚浩強(qiáng).Basic語(yǔ)言結(jié)構(gòu)化程序設(shè)計(jì)教程.北京:中國(guó)科學(xué)技術(shù)出版社.19906 楊林,李繼良. Visual Basic編程高手.北京:北京大學(xué)出版社.200057 陳浩.陳宏.解讀AUTOCAD 的DXF 文件.貴陽(yáng): 貴州科學(xué).2002.4.208 聶學(xué)俊.數(shù)控機(jī)床自動(dòng)編程及仿真系統(tǒng). 北京:機(jī)床與液壓. 2001.39 張成才.孫喜梅 朱陶業(yè). AutoCAD 的DXF 文件格式及其轉(zhuǎn)換接口研究. 長(zhǎng)沙:技術(shù)交流.2001.8發(fā)出任務(wù)書日期:2011年6月20日 計(jì)劃完成日期:20011年 7 月 6日 指導(dǎo)教師簽名:基層教學(xué)單位責(zé)任人簽章: 主管院長(zhǎng)簽章:目錄一 設(shè)計(jì)任務(wù) 1二 內(nèi)容摘要 2三DXF 文件結(jié)構(gòu) 41 DXF文件格式概述42 DXF 文件組成5四 軟件具體實(shí)現(xiàn)方法 51 軟件設(shè)計(jì)思想62 軟件具體實(shí)現(xiàn)方法6五 軟件加工過程的實(shí)現(xiàn)91 排序功能介紹92 加工起點(diǎn)的確定 93 加工過程的確定10六 軟件功能及操作介紹121 操作界面各按鈕功能介紹 12操作說明12七 設(shè)計(jì)小結(jié) 15八 參考文獻(xiàn) 15九 附錄(軟件代碼及相關(guān)功能注釋) 16摘要數(shù)控加工仿真是利用計(jì)算機(jī)來(lái)模擬實(shí)際的加工過程。利用計(jì)算機(jī)高級(jí)語(yǔ)言對(duì)DXF文件進(jìn)行讀取,再到分析DXF文件,將里面的內(nèi)容進(jìn)行提取。提取后,進(jìn)行排序,再由所編寫的程序?qū)嵲佘壽E的生成,在這同時(shí)可以進(jìn)行NC代碼的生成,并可將其保存下來(lái),來(lái)進(jìn)行數(shù)控的自動(dòng)化加工。這樣的過程是要AutoCAD 軟件支持DXF文件文本格式的和二進(jìn)制格式的DXF 文件, DXF 的全稱為圖形轉(zhuǎn)換文件(Drawing Interchange File) ,主要用于與其它CAD系統(tǒng)及用戶應(yīng)用程序間的圖形信息交換。主要是將AutoCAD圖保存為DFX的格式,再在控制介面中將所要打開的DFX文件進(jìn)行打開,這樣就能提取其中的有關(guān)圖形的信息,再將信息進(jìn)行轉(zhuǎn)換,這要就可以實(shí)現(xiàn)數(shù)控編程的系統(tǒng)仿真。關(guān)鍵詞:仿真、模擬實(shí)際、圖形轉(zhuǎn)換、數(shù)控編程 AbstractThe numerical control processing simulation is to use the computer to simulate the actual processing process . Read the DXF document by using the computer higher order language firstly; Then, analyze the DXF document and extract the inside content .After the extraction, carry on the sorting and change the procedure to the producing path. At the same time, the NC code will be showed. In order to make the numerical and automated control processing, preserve it. This process needs the AutoCAD software to support the DXF document text format and the binary form DXF document. The DXFs full name is Drawing Interchange File. It is mainly used to exchange the graphic information between other CAD system and the users application procedure and preserve the AutoCAD chart and change the chart to the DFX form; Then, open the DFX document which will have to be opened in the control interface. In this way, the graphic information can be extracted .Exchange the information again. That will make the numerical control programming system to finish the simulation.Key words:simulation、simulate the actual、Drawing Interchange、the numerical control programming三DXF 文件結(jié)構(gòu) 1 DXF文件格式概述DXF 文件有兩種格式:ASCII 和二進(jìn)制。前者較易閱讀,后者則占較少的空間且裝入速度較快。DXF 文件分成多個(gè)節(jié)(SECT ION ) , 每個(gè)節(jié)均由多個(gè)組(GROU P) 組成。每一組都有一個(gè)組代碼, 后面是一個(gè)稱為組值的數(shù)字或字符串。在每個(gè)節(jié)中由一個(gè)組值為SECTION 的0 組開始, 后跟組值為表示節(jié)名的字符串的2 組, 其后為組成該節(jié)的各個(gè)組, 最后以組值為字符串SNDSEC 的0 組表示該節(jié)結(jié)束。組碼是一個(gè)ASCII 整數(shù)(二進(jìn)制DXF 中為二進(jìn)制) , 指示后面跟的值的類型。組碼的特定范圍為特定類型的數(shù)值而保留。例如, 范圍0- 9 的組碼表示后面跟的是一個(gè)ASCII 字符串; 特定的碼指該字符串用于什么。組碼和組值之間用一個(gè)回車換行字符對(duì)分開。DXF 文件中的數(shù)據(jù)按照下列方法組織:HEADER 節(jié): 包括的大部分信息對(duì)非CAD 應(yīng)用軟件來(lái)說沒有任何價(jià)值, 許多信息是與文本和定尺寸有關(guān)的。TABLES 節(jié): 定義特定的通用常量, 如繪圖“層”(Layer)、觀察角度和距離、坐標(biāo)系統(tǒng)以及尺寸風(fēng)格。像HEADER 節(jié)一樣有時(shí)也可以忽略。BLOCKS 節(jié): 按名字定義實(shí)體組, 同時(shí)也可以包含實(shí)體?,F(xiàn)在它還沒有得到廣泛使用, 但由于它允許繪聲的模塊化, 所以正越來(lái)越流行。ENTITIES 節(jié): 通過使用點(diǎn)、線、圓、弧等定義實(shí)際的三維或二維幾何體(實(shí)體) , 并包括把實(shí)體的層或塊連接的數(shù)據(jù)。它是實(shí)體交換的主要節(jié)。在DXF 文件的最后是組值為字符串EOF (End of File)的0 組作為文件的結(jié)束標(biāo)志。2 DXF 文件組成圖形交換文件(*dxf)是一個(gè)具有專門格式的ASC碼文本文件,可以用文本編輯軟件對(duì)它進(jìn)行修改,它包含有與之對(duì)應(yīng)的圖形文件的全部信息。一個(gè)完整的DXF文件由四個(gè)段(SECTION)和一個(gè)文件結(jié)尾組成。他們的排列順序依次為:標(biāo)題(HEADER)段,標(biāo)題段記錄了系統(tǒng)的所有標(biāo)題變量的當(dāng)前值或狀態(tài),也就是系統(tǒng)的當(dāng)前工作環(huán)境;表(TABLES)段,表段包含了四個(gè)表,每個(gè)表又包含了可變數(shù)目的表項(xiàng),這些表在文件中出現(xiàn)的順序是:線型表,圖層表,字樣表和視圖表;塊(BLOCK)段,塊段記錄了定義每一個(gè)塊時(shí)的塊名、當(dāng)前圖層名、塊的種類及塊的插入基點(diǎn)等; 實(shí)體(ENTITIES)段,實(shí)體段記錄了每個(gè)實(shí)體的名稱、所在圖層的名字、線型名、顏色號(hào)、基面高度、厚度以及有關(guān)的幾何數(shù)據(jù);結(jié)尾(EOF) ,表示圖層交換文件的結(jié)束。圖形交換文件的每一個(gè)段中包含著若干組(group),每組兩行。第一行稱為組代碼(group code),是三個(gè)右對(duì)齊非負(fù)整數(shù)(不足三位時(shí)補(bǔ)空),組代碼相當(dāng)于數(shù)據(jù)類型代碼,每個(gè)組代碼的含義是由AUTOCAD系統(tǒng)約定好的;第二行稱為組值(group value),組值是組代碼所代表內(nèi)容的數(shù)值表示,組代碼和組值結(jié)合起來(lái)表示一個(gè)數(shù)據(jù)的含義和它的值??梢哉f,組是DXF文件的一個(gè)基本組成部分。四 軟件具體實(shí)現(xiàn)方法1 軟件設(shè)計(jì)思想在Windows XP的環(huán)境下, 經(jīng)過以下幾個(gè)步驟來(lái)實(shí)現(xiàn):(1) 將要加工的零件圖形在AutoCAD 中繪制出來(lái), 然后通過AutoCAD 的DXFOUT 命令將圖形轉(zhuǎn)換為文本文件格式的DXF 文件存儲(chǔ);(2) 在Visual Basic 6. 0 界面下, 編制軟件讀取DXF 文件中的有關(guān)圖形的幾何信息, 按照數(shù)控加工軟件標(biāo)準(zhǔn), 經(jīng)過轉(zhuǎn)換和工藝干預(yù), 生成加工零件的對(duì)應(yīng)數(shù)控加工軟件(即NC 軟件) ;(3) 在Visual Basic 6. 0 界面下, 讀入自動(dòng)生成的NC 軟件, 經(jīng)過轉(zhuǎn)換, 靜態(tài)顯示對(duì)應(yīng)的加工刀具運(yùn)動(dòng)軌跡, 從而校驗(yàn)NC 軟件正確否。2 軟件具體實(shí)現(xiàn)方法(1) 圖形幾何信息提取將AutoCAD 圖形轉(zhuǎn)換為DXF 文件存儲(chǔ)后, 分析DXF 文件, 從中可知:描述直線段的信息為AcDbLine直線段起點(diǎn)的X 值10直線段起點(diǎn)的Y20直線段起點(diǎn)的Z 值30直線段終點(diǎn)的X 值11直線段終點(diǎn)的Y 值21直線段終點(diǎn)的Z 值31描述圓的信息為AcDbCircle圓心的X 值10圓心的Y 值20圓心的Z 值30圓的半徑R 值40描述圓弧的信息為AcDbCircle圓心的X 值10圓心的Y 值10圓心的Z 值20圓弧的半徑R 值30圓弧的起始角140圓弧的終止角250 DXF 文件一般由 7 個(gè)段(SECTION)和文件結(jié)尾組成,按順序是:HEADER,CLASSES, TABLES,BLOCKS,ENTITIES,OBJECTS,THUMBNAILIMAGE,EOF。 針對(duì)由AutoCAD 生成的 DXF 文件,圓弧及直線的實(shí)體描述字及其有關(guān)幾何數(shù)據(jù) 都放在ENTITIES 部分,故只須提取其 ENTITIES 部分即可。 通過對(duì)DXF 文件的分析,可以編寫程序?qū)缀卧?(僅限于直線和圓?。┨崛〕鰜?lái)。在編程過程中,DXF 文件通過 循環(huán) Line Input 語(yǔ)句逐行讀取。當(dāng)讀到圓弧 或直線的實(shí)體描述字 (AcDbCircle/ AcDbLine)時(shí)調(diào)用相應(yīng)的子程序?qū)⒏鲙缀螖?shù)據(jù)組中的數(shù)據(jù)提取出來(lái),直到DXF 文件結(jié)束 (“ENDSEC”)對(duì)于一個(gè)加工零件來(lái)說,其輪廓無(wú)非是這三種幾何元素的組合。因此根據(jù)上述分析,可編制軟件將DXF文件中的幾何信息提取出來(lái)。其流程圖如圖所示(2) NC 軟件自動(dòng)生成NC 軟件結(jié)構(gòu)。按照ISO 標(biāo)準(zhǔn), NC 軟件由若干個(gè)軟件段組成。軟件段的格式為N GXYZ F S T M其中: N 后面跟四位數(shù)字, 表示軟件段號(hào);G后面跟兩位數(shù)字, 表示準(zhǔn)備功能;X、Y、Z后面跟數(shù)字,表示被加工段的終點(diǎn)坐標(biāo);F、S、T后面跟數(shù)字, 分別表示加工時(shí)的進(jìn)給速度、主軸轉(zhuǎn)速及加工刀具號(hào);M后面跟兩位數(shù)字, 表示輔助功能;軟件段用; 或LF 結(jié)束。工藝參數(shù)確定。在生成NC 軟件過程中, 需要根據(jù)加工對(duì)象來(lái)確定F、S、T 等值。本系統(tǒng)中,用戶不能選取F、S、T 的值, 需要在加工前依靠實(shí)際中的數(shù)控機(jī)床的NC 軟件的添加到軟件段中。NC 軟件自動(dòng)生成。對(duì)照DXF 文件的特征信息與NC 軟件中準(zhǔn)備功能指令, 可知AcDbLine 對(duì)應(yīng)G01AcDbCircle 對(duì)應(yīng)G02 或G03由此可編制一個(gè)完整的NC 代碼生成軟件, 由DXF 文件內(nèi)容直接轉(zhuǎn)換為NC 軟件。當(dāng)然, 在軟件中需要人機(jī)交互來(lái)確定以下內(nèi)容: 零件加工的起始點(diǎn),確定G00 的坐標(biāo); 圓或圓弧的加工方向, 確定G02 或G03 ; 加工的刀具補(bǔ)償方向, 確定G41 或G42 等信息。其流程圖如圖2 所示。下面為系統(tǒng)自動(dòng)生成的蓋板零件的加工軟件。%0000N10 G92 X0 Y0 Z M03 LFN20 G17 G90 G00 G42 D01 X1204.84 Y572.97 S1500 LFN40 G01 X1171.81 Y691.40 F100 LFN50 G01 X1004.48 Y819.74 LFN60 G02 X712.74 Y682.37 R211.79 LFN70 G01 X682.97 Y519.34 LFN80 G02 X825.98 Y377.58 R178.20 LFN90 G01 X1044.52 Y419.48 LFN100 G02 X1204.84 Y572.97 R235.07 LFN110 G00 G40 X0 Y0 Z M30 LF%五 軟件加工過程的實(shí)現(xiàn)1 排序功能介紹這個(gè)軟件只能實(shí)現(xiàn)由AutoCAD軟件所生成的二級(jí)所生成的二維繪圖DXF文件(限定DXF文件的幾何元素只有直線和圓?。┑紺NC代碼的自動(dòng)生成。所以對(duì)于描述直線段的信息、圓弧的信息和圓的信息,只要各自考慮在X和Y平面的相關(guān)坐標(biāo)值。對(duì)于含有若干直線和圓弧組成的封閉圓形,DXF文件中描述直線段的信息、圓弧的信息是按在AutoCAD繪圖的順序來(lái)排列的。在描述信息中,直線段的信息有直線段起點(diǎn)的X 值、直線段起點(diǎn)的Y 值和直線段終點(diǎn)的X 值、直線段終點(diǎn)的Y 值的描述;而對(duì)于圓弧有圓心的X 值圓心的Y 值、 圓弧的半徑R 、值圓弧的起始角1和圓弧的終止角2,由圓弧的這些信息我們通過計(jì)算可以得到圓弧的起點(diǎn)的X 值、起點(diǎn)的Y 值和終點(diǎn)的X 值、終點(diǎn)的Y 值的描述;這樣在軟件中可以定義兩個(gè)數(shù)組按照直線和圓弧信息出現(xiàn)的先后順序來(lái)各自存放直線段和圓弧起點(diǎn)的X 值、起點(diǎn)的Y 值和終點(diǎn)的X 值、終點(diǎn)的Y 值。另外,還定義五個(gè)數(shù)組來(lái)存放先后出現(xiàn)圓弧有圓心的X 值圓心的Y 值、 圓弧的半徑R 、值圓弧的起始角1和圓弧的終止角2,以備在下面軟件中計(jì)算兩點(diǎn)間的距離中的算法時(shí)判斷是否出現(xiàn)圓弧時(shí),以及在出現(xiàn)圓弧時(shí)生成NC序列時(shí)和繪圖時(shí)使用。當(dāng)所繪制的圖形只有一個(gè)圓時(shí)可作為一個(gè)特殊情況來(lái)考慮,無(wú)須對(duì)元素進(jìn)行排序。這樣便實(shí)現(xiàn)了將提取的幾何元素的進(jìn)行排序。2 加工起點(diǎn)的確定在確定加工起點(diǎn)時(shí),對(duì)于直線段或圓弧組成的封閉二維圖形,這個(gè)軟件按直線段或圓弧信息出現(xiàn)的先后順序,選取兩者中首先出現(xiàn)的段的起點(diǎn)作為加工起點(diǎn),并開始加工第一段和生成相應(yīng)的NC代碼和圖形。由讀入圓弧的半徑R組成的數(shù)組相對(duì)應(yīng)的值是否等于0來(lái)判斷是下一段出現(xiàn)的是直線還是圓弧.(1)對(duì)于第一段為直線段(如左下圖所示),可能按先后順序用G01加工,并在圖形顯示區(qū)中繪制出第一段直線。12(2)對(duì)于第一段為圓弧的情況(如右下圖所示),有描述信息圓弧的起始角1、圓弧的終止角2,可知計(jì)算出的X1,Y1和X2,Y2在圓弧中是逆時(shí)針方向的,這樣我們可以確定一定是用G03來(lái)加工。再加上在VB加圓弧的繪畫是按逆時(shí)針方向的,這樣可以在圖形顯示區(qū)中繪制出第一段圓弧。 (3) 對(duì)于只是一個(gè)圓的情況,可以選取如下圖所示的點(diǎn)劃線(X,Y)作為加工起點(diǎn),可以用G02或G03進(jìn)行加工和編寫NC 序列,并在圖形顯示區(qū)繪出圓。 3 加工過程的確定(1) 加工過程各段間連接的實(shí)現(xiàn)在由直線段和圓弧的起點(diǎn)坐標(biāo)和終點(diǎn)坐標(biāo)組成的數(shù)組X(k),Y(k)中,從第一段的終點(diǎn)坐標(biāo)開始,查找出與第一段終點(diǎn)坐標(biāo)的距離的平方小于一個(gè)接近于0的很小的數(shù)的坐標(biāo),當(dāng)滿足這個(gè)條件的坐標(biāo)出現(xiàn)時(shí),這個(gè)坐標(biāo)中的一段就是要加工的下一段。讀取出下一段的另一個(gè)坐標(biāo)作為下一個(gè)加工工序的終點(diǎn),由讀入圓弧的半徑R組成的數(shù)組相對(duì)應(yīng)的值是否等于0來(lái)判斷是下一段出現(xiàn)的是直線還是圓弧。(2)讀入的下段是直線時(shí)如圖7當(dāng)由點(diǎn)(X3,Y3)讀取到(X7,Y7)時(shí),這時(shí)下一段直線的起點(diǎn)坐標(biāo)對(duì)應(yīng)的數(shù)組的下標(biāo)K的值為奇數(shù),排序數(shù)組中的下一個(gè)數(shù)X(k+1),Y(k+1)即點(diǎn)(X8,Y8)即為下一段直線的終點(diǎn)坐標(biāo),這樣可以用G01加工下一段直線并生相應(yīng)的NC代碼,在圖形顯示區(qū)繪出直線。如圖8當(dāng)由點(diǎn)(X3,Y3)讀取到(X8,Y8)時(shí),這時(shí)下一段直線的起點(diǎn)坐標(biāo)對(duì)應(yīng)的數(shù)組的下標(biāo)K的值為偶數(shù),排序數(shù)組中的下一個(gè)數(shù)X(k-1),Y(k-1)即點(diǎn)(X7,Y7)即為下一段直線的終點(diǎn)坐標(biāo),這樣可以用G01加工下一段直線并生相應(yīng)的NC代碼,在圖形顯示區(qū)繪出直線。 圖7 圖 8 (3)當(dāng)讀入的下段是圓弧時(shí)如7圖當(dāng)由點(diǎn)(X4,Y4)讀取到(X6,Y6)時(shí),這時(shí)下一段圓弧的起點(diǎn)坐標(biāo)對(duì)應(yīng)的數(shù)組的下標(biāo)K的值為偶數(shù),排序數(shù)組中的下一個(gè)數(shù)X(k-1),Y(k-1)即點(diǎn)(X5,Y5)即為下一段圓弧的終點(diǎn)坐標(biāo),這樣可以用G02加工下一段圓弧并生相應(yīng)的NC代碼,在圖形顯示區(qū)繪出圓弧。同樣在圖7中,當(dāng)由點(diǎn)(X2,Y2)讀取到(X5,Y5)時(shí),這時(shí)下一段圓弧的起點(diǎn)坐標(biāo)對(duì)應(yīng)的數(shù)組的下標(biāo)K的值為奇數(shù),排序數(shù)組中的下一個(gè)數(shù)X(k+1),Y(k+1)即點(diǎn)(X6,Y6)即為下一段圓弧的終點(diǎn)坐標(biāo),這樣可以用G03加工下一段圓弧并生相應(yīng)的NC代碼,在圖形顯示區(qū)繪出圓弧.如圖8當(dāng)由點(diǎn)(X2,Y2)讀取到(X6,Y6)時(shí),這時(shí)下一段圓弧的起點(diǎn)坐標(biāo)對(duì)應(yīng)的數(shù)組的下標(biāo)K的值為偶數(shù),排序數(shù)組中的下一個(gè)數(shù)X(k-1),Y(k-1)即點(diǎn)(X5,Y5)即為下一段圓弧的終點(diǎn)坐標(biāo),這樣可以用G02加工下一段圓弧并生相應(yīng)的NC代碼,在圖形顯示區(qū)繪出圓弧。同樣在圖8中,當(dāng)由點(diǎn)(X4,Y4)讀取到(X5,Y5)時(shí),這時(shí)下一段圓弧的起點(diǎn)坐標(biāo)對(duì)應(yīng)的數(shù)組的下標(biāo)K的值為奇數(shù),排序數(shù)組中的下一個(gè)數(shù)X(k+1),Y(k+1)即點(diǎn)(X6,Y6)即為下一段圓弧的終點(diǎn)坐標(biāo),這樣可以用G03加工下一段圓弧并生相應(yīng)的NC代碼,在圖形顯示區(qū)繪出圓弧.綜上可知,當(dāng)讀入的下段是圓弧時(shí),當(dāng)下一段圓弧的起點(diǎn)坐標(biāo)對(duì)應(yīng)的數(shù)組的下標(biāo)K的值為偶數(shù)時(shí),用G02加工下一段圓弧并生相應(yīng)的NC代碼,在圖形顯示區(qū)繪出圓??;當(dāng)下一段圓弧的起點(diǎn)坐標(biāo)對(duì)應(yīng)的數(shù)組的下標(biāo)K的值為奇數(shù)用G03加工下一段圓弧并生相應(yīng)的NC代碼,在圖形顯示區(qū)繪出圓弧。六 軟件功能及操作介紹1 操作界面各按鈕功能介紹操作界面如圖9所示:“讀入DXF文件”命令按鈕打開由CAD軟件生成的二維繪圖DXF文件。然后由軟件自動(dòng)生成NC代碼并顯示在NC序列區(qū),同時(shí)在圖形顯示區(qū)顯示二維圖形?!氨4鍺C代碼”命令按鈕可以用來(lái)保存由DXF文件生成的圖形NC代碼,即是與NC 序列顯示區(qū)一樣的代碼。此代碼可以直接或稍加修改后用于或稍加修改后數(shù)控機(jī)床上的加工。 “退出程序”命令按鈕用于退出軟件。當(dāng)按下“退出程序”,自動(dòng)退出程序??梢栽谟覉D的方框內(nèi)輸入起刀點(diǎn)坐標(biāo)。與加工時(shí)切削深度輸入DXF文件后,要從右圖方框內(nèi)選擇其中一個(gè)對(duì)刀點(diǎn),對(duì)刀點(diǎn)有程序找到,為導(dǎo)入DXF圖像的直線或圓弧的起點(diǎn)。點(diǎn)擊其中一點(diǎn),則為選中,在對(duì)刀點(diǎn)框內(nèi)顯示選擇的對(duì)刀點(diǎn)序號(hào)。選擇完對(duì)刀點(diǎn)之后,可以在右邊選擇加工方,向,可以選擇順時(shí)鐘,和逆時(shí)針??梢栽谟疫叺妮斎胫鬏S速度,默認(rèn)為1500r/min進(jìn)度速度也可以在右邊框輸入,默認(rèn)100mm/min 輸入完所有參數(shù)后,點(diǎn)擊:,就會(huì)在下面的代碼顯示區(qū)顯示NC代碼圖像顯示框如下:可以通過頂滾條跟豎直滾條完成圖像的滾動(dòng)。底滾條為圖形的大小調(diào)整:操作說明首先,按下“讀入DXF文件”按鈕,圖形顯示區(qū)就會(huì)自動(dòng)顯示輸入的圖形,可以通過滾動(dòng)條對(duì)圖形顯示進(jìn)行調(diào)整。然后輸入起刀坐標(biāo),選擇對(duì)刀點(diǎn),選擇加工方向,輸入轉(zhuǎn)速,進(jìn)給速度。輸入完上面的加工參數(shù)后,才能生產(chǎn)NC代碼,否則會(huì)出現(xiàn)提示:輸入完所有的加工參數(shù),就可以點(diǎn)擊生成數(shù)控代碼,代碼框會(huì)顯示加工代碼。生成的NC代碼可以保存,點(diǎn)擊保存NC代碼,現(xiàn)在保存路徑就可以。按“保存文件”按鈕,生成NC文件(*.txt)如果需要繼續(xù)輸入其他的DXF文件,可以直接點(diǎn)擊輸入DXF文件,繼續(xù)下一次的NC代碼生成。退出程序直接點(diǎn)擊退出程序或直接關(guān)閉軟件窗口。設(shè)計(jì)小結(jié)數(shù)控課程設(shè)計(jì)是對(duì)所學(xué)數(shù)控技術(shù)課程和其它有關(guān)課程知識(shí)和技能的一次綜合性練習(xí),不僅對(duì)數(shù)控知識(shí)要求較高,而且還要熟悉計(jì)算機(jī)語(yǔ)言,了解軟件設(shè)計(jì)的必要步驟。課程設(shè)計(jì)是培養(yǎng)我們理論聯(lián)系實(shí)際、解決生產(chǎn)實(shí)際問題的良好機(jī)會(huì)。通過對(duì)數(shù)控自動(dòng)編程仿真的設(shè)計(jì)和零件編程的具體問題的解決,使我們對(duì)數(shù)控機(jī)床的結(jié)構(gòu)原理、設(shè)計(jì)方法以及用編程方法處理實(shí)際問題的一般步驟和具體技巧得到訓(xùn)練,同時(shí)也提高運(yùn)用所學(xué)專業(yè)知識(shí)分析問題和解決問題的能力。這次課程設(shè)計(jì),基本上能完成課程設(shè)計(jì)指導(dǎo)書中的設(shè)計(jì)任務(wù)。這個(gè)軟件能實(shí)現(xiàn)用VB編程來(lái)實(shí)現(xiàn)將生成的二維繪圖DXF文件(限定DXF文件的幾何元素只有直線和圓?。┑紺NC代碼的自動(dòng)生成,并能在屏幕上顯示所提取得到的二維幾何圖形,非常直觀,便于用戶檢查代碼的正誤,對(duì)于較復(fù)雜的圖形、手工編程較困難的圖形的編程相當(dāng)方便,快捷,準(zhǔn)確。另外,能實(shí)現(xiàn)用戶坐標(biāo)、圖形坐標(biāo)的顯示。圖形坐標(biāo)的顯示為用戶檢查代碼的正誤提供了很大的方便。但由于知識(shí)等的因素,軟件中考慮到的情況有局限性,還有很多問題有待完善。本軟件對(duì)于含有樣條曲線的圖形不適用,因此在使用上受到一點(diǎn)限制。另外,只能實(shí)現(xiàn)顯示用戶坐標(biāo)系,而不能顯示圖形的實(shí)際坐標(biāo),使圖形的顯示不夠完美、具體。在打開DXF文件時(shí),有時(shí)不能確定繪制出的圖形的位置,要通過調(diào)整比例或上下左右移動(dòng)圖形來(lái)全部顯示圖形。還有在繪制圖形時(shí)是一讀入圖形文件就顯示出整個(gè)圖形。因此,改進(jìn)的意見有:可以通過居中顯示和全局顯示來(lái)顯示全個(gè)圖形,還有在讀入文件后能夠按加工次序逐步畫出圖形,這樣可以更直觀地由圖形來(lái)驗(yàn)證所生成的NC代碼的正確性。雖然設(shè)計(jì)過程很辛苦,但當(dāng)看到自己奮戰(zhàn)的勞動(dòng)成果,還是開心得忘記了一切,激動(dòng)不已。希望老師提出寶貴的建議!八 參考文獻(xiàn)1 廖效果等.數(shù)控技術(shù)M. 湖北.湖北科學(xué)技術(shù)版社.2005.32 江志文.Visual Basic軟件設(shè)計(jì)教程廣州:中山大學(xué)出版社.2003.23 蘇金明.用Visual Basic開發(fā)交互式CAD系統(tǒng).北京:電子工業(yè)出版社.2003.54 松橋工作室.深入淺出 Visual Basic 6 軟件設(shè)計(jì).北京:中國(guó)鐵道出版社.20045 陳浩.陳宏.解讀AUTOCAD 的DXF 文件.貴陽(yáng): 貴州科學(xué).2002.4.206 聶學(xué)俊.數(shù)控機(jī)床自動(dòng)編程及仿真系統(tǒng). 北京:機(jī)床與液壓. 2001.37 張成才.孫喜梅 朱陶業(yè). AutoCAD 的DXF 文件格式及其轉(zhuǎn)換接口研究. 長(zhǎng)沙:技術(shù)交流.2001.8九 附錄(軟件代碼及相關(guān)功能注釋)Const PI As Double = 3. 定義變量Dim i As Integer, j As Integer, s As IntegerDim Xmax As Double, Xmin As Double, Ymax As Double, Ymin As Double, D() As C_typeDim filename As String, saveDXF As String, n() As String, temp As StringDim strStart, strStart1, strStart2 As IntegerDim strEnd As IntegerDim startPos As IntegerDim sourse As Variant, sHeight As Double, k As Integer, Rate As IntegerPrivate Sub Command1_Click()Form2.Visible = TrueEnd SubPrivate Sub openfile_Click() 單擊打開文件Call CmdOpenfile_ClickEnd SubPrivate Sub List2_Click() 顯示選中的走刀點(diǎn)Text1.Text = List2.ListIndex + 1End SubPrivate Sub Opt_Click() 顯示刀補(bǔ)代號(hào)TextG41.Text = TextG42.Text = G42End SubPrivate Sub Opt1_Click() 顯示刀補(bǔ)代號(hào)TextG42.Text = TextG41.Text = G41End SubPrivate Sub code_Click() 單擊生成代碼Call CmdGetcode_ClickEnd SubPrivate Sub savefile_Click() 單擊保存文件Call CmdSavefile_ClickEnd SubPrivate Sub CmdSavefile_Click() 保存代碼Dim filename As String, i As IntegerOn Error GoTo cancelsavedlgsavefile.ShowSavefilename = dlgsavefile.filenameOpen filename For Output As #1For i = 0 To k + 4Print #1, List1.List(i)NextClose #1Exit Subcancelsave:End SubPrivate Sub out_Click() 退出軟件EndEnd SubPrivate Sub Text2_Change()End SubPrivate Sub Timer1_Timer() 定時(shí)On Error GoTo cancletimerCall DrawExit Subcancletimer:End SubPrivate Sub HSC_Change() 調(diào)整圖形比例Rate = HSC.ValueCall DrawEnd SubPrivate Sub Hscmove_Change() 用于圖形左移和右移If Hscmove.Value = 0 ThenExit SubEnd IfCall DrawEnd SubPrivate Sub Vscmove_Change() 用于圖形上移和下移If Vscmove.Value = 0 ThenExit SubEnd IfCall DrawEnd SubFunction Max(l, m) 調(diào)整圖形用If l = m ThenMax = lElseMax = mEnd IfEnd FunctionFunction Min(l, m) 調(diào)整圖形用If l strStart2 And strStart2 0 Then strStart = strStart2 Else strStart = strStart1 End If strEnd = InStr(strStart, TDXF, ENDSEC & vbCrLf ) 提取直線和圓弧終點(diǎn)的幾何信息 temp = Mid(TDXF, strStart, strEnd - strStart) 提取直線和圓弧的幾何信息 sourse = Split(temp, vbCrLf ) startPos = -1 j = 0Do While startPos -2 提取直線和圓弧的幾何信息startPos = getStart(startPos) If startPos = -2 Then Exit Do If sourse(startPos) = AcDbLine Then j = j + 1 DXFline(j).SX = 0 DXFline(j).SY = 0 DXFline(j).EX = 0 DXFline(j).EY = 0 DXFline(j).SX = sourse(startPos + 2) 拾取起點(diǎn)的X坐標(biāo) DXFline(j).SY = sourse(startPos + 4) 拾取起點(diǎn)的Y坐標(biāo) DXFline(j).EX = sourse(startPos + 8) 拾取終點(diǎn)的X坐標(biāo) DXFline(j).EY = sourse(startPos + 10) 拾取終點(diǎn)的Y坐標(biāo) DXFline(j).Flag = True Common(j).SX = DXFline(j).SX Common(j).SY = DXFline(j).SY Common(j).EX = DXFline(j).EX Common(j).EY = DXFline(j).EY Common(j).R = 0 Common(j).Flag = True 直線的標(biāo)記 Else j = j + 1 DXFcircle(j).R = 0 DXFcircle(j).OX = 0 DXFcircle(j).OY = 0 DXFcircle(j).Sangle = 0 DXFcircle(j).Eangle = 0 DXFcircle(j).OX = sourse(startPos + 2) 拾取圓心的X坐標(biāo) DXFcircle(j).OY = sourse(startPos + 4) 拾取圓心的Y坐標(biāo) DXFcircle(j).R = sourse(startPos + 8) 拾取圓弧半徑 DXFcircle(j).Sangle = sourse(startPos + 12) * PI / 180 拾取圓弧起始角 DXFcircle(j).Eangle = sourse(startPos + 14) * PI / 180 拾取圓弧終止角 DXFline(j).Flag = False Common(j).SX = DXFcircle(j).R * Cos(DXFcircle(j).Sangle) + DXFcircle(j).OX 計(jì)算圓弧的起始點(diǎn)X坐標(biāo) Common(j).SY = DXFcircle(j).R * Sin(DXFcircle(j).Sangle) + DXFcircle(j).OY 計(jì)算圓弧的起始點(diǎn)Y坐標(biāo) Common(j).EX = DXFcircle(j).R * Cos(DXFcircle(j).Eangle) + DXFcircle(j).OX 計(jì)算圓弧的終止點(diǎn)X坐標(biāo) Common(j).EY = DXFcircle(j).R * Sin(DXFcircle(j).Eangle) + DXFcircle(j).OY 計(jì)算圓弧的終止點(diǎn)Y坐標(biāo) Common(j).R = DXFcircl
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 售前保密協(xié)議書范本
- 環(huán)保型產(chǎn)業(yè)園區(qū)廠房租賃及配套設(shè)施使用協(xié)議
- 草原生態(tài)旅游項(xiàng)目經(jīng)營(yíng)權(quán)轉(zhuǎn)讓合同
- 財(cái)務(wù)會(huì)計(jì)人員職業(yè)健康與安全勞動(dòng)合同范本
- 虛擬股轉(zhuǎn)股協(xié)議書范本
- 直銷團(tuán)長(zhǎng)協(xié)議書范本
- 退房款協(xié)議書范本
- 沙灘浴場(chǎng)場(chǎng)地租賃及經(jīng)營(yíng)管理協(xié)議
- 展覽館產(chǎn)品陳列設(shè)計(jì)與實(shí)施協(xié)議
- 2024年拆遷安置房購(gòu)房協(xié)議書范文(五篇)
- GB/T 19844-2005鋼板彈簧
- 湖南常德2022生地會(huì)考試卷及答案
- 2023年濟(jì)南綜??毓杉瘓F(tuán)有限公司招聘筆試題庫(kù)及答案解析
- 電力拖動(dòng)自動(dòng)控制系統(tǒng)-運(yùn)動(dòng)控制系統(tǒng)(第5版)習(xí)題答案
- 禾川x3系列伺服說明書
- 細(xì)胞生物學(xué)(全套1047張課件)
- 魚丸生產(chǎn)加工項(xiàng)目可行性研究報(bào)告
- 架空乘人裝置專項(xiàng)設(shè)計(jì)(一采區(qū)運(yùn)輸下山)
- 六年級(jí)下冊(cè)“快樂讀書吧”練習(xí)題試題及答案
- ★教導(dǎo)型組織-行動(dòng)管理模式(三)
- 朗文英語(yǔ)2B英語(yǔ)復(fù)習(xí)資料
評(píng)論
0/150
提交評(píng)論