• 
    

    
    

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

      ?

      基于AutoLISP和Visual Basic的工程圖紙信息提取與處理

      2011-05-11 02:49:36謝中梅陳友福劉素楠
      制造業(yè)自動(dòng)化 2011年7期
      關(guān)鍵詞:圖號(hào)明細(xì)表控件

      謝中梅,陳友福,劉素楠

      (江西應(yīng)用技術(shù)職業(yè)學(xué)院,贛州 341000)

      基于AutoLISP和Visual Basic的工程圖紙信息提取與處理

      謝中梅,陳友福,劉素楠

      (江西應(yīng)用技術(shù)職業(yè)學(xué)院,贛州 341000)

      0 引言

      隨著計(jì)算機(jī)科學(xué)和工程科學(xué)的結(jié)合與滲透,傳統(tǒng)的機(jī)械設(shè)計(jì)發(fā)生了深刻的變化,計(jì)算機(jī)輔助繪圖日益取代傳統(tǒng)手工繪圖。目前,國(guó)內(nèi)使用CAD軟件進(jìn)行繪圖過(guò)程中,圖紙明細(xì)欄文檔信息輸入,還不是很方便且信息不容易提取,匯總成整臺(tái)設(shè)備的零部件明細(xì)表,仍需要做大量、繁瑣的人工抄錄或在CAD中重復(fù)輸入及檢索。這種狀況極大地影響了公司甩圖板計(jì)劃。采用AutoLISP、DCL(Dialog Control Language對(duì)話框控制語(yǔ)言)和Visual Basic開(kāi)發(fā)而成的Windows應(yīng)用程序,實(shí)現(xiàn)了CAD繪圖與明細(xì)表匯總一體化設(shè)計(jì),即在圖紙?jiān)O(shè)計(jì)完畢之后,利用計(jì)算機(jī)實(shí)現(xiàn)明細(xì)表的自動(dòng)匯總。

      1 設(shè)計(jì)思想

      在機(jī)械工程圖紙中,零件明細(xì)欄是圖紙的重要組成部分,部件圖紙的零件明細(xì)欄設(shè)有序號(hào)、代號(hào)、名稱(chēng)、數(shù)量、材料、單件重量及附注。在一臺(tái)設(shè)備中,從總圖號(hào)至最底層一級(jí)零部件,要按總圖號(hào)編制明細(xì)表或總圖下一級(jí)部件獨(dú)立明細(xì)表,在編制明細(xì)表時(shí)須獲得全部圖紙的文檔信息。

      因此,在CAD繪圖輸入圖紙明細(xì)欄時(shí),動(dòng)態(tài)地建立每張圖紙的數(shù)據(jù)文件,一方面滿足輸入它的上一級(jí)部件圖明細(xì)欄的信息,另一方面滿足明細(xì)表匯總時(shí)的信息,將是實(shí)現(xiàn)CAD繪圖與明細(xì)表自動(dòng)匯總生成的關(guān)鍵所在,考慮到一個(gè)零部件可能對(duì)應(yīng)幾個(gè)不同的圖形文件,但這些圖形文件所表達(dá)的零部件的圖號(hào)是唯一的,基于圖號(hào)與零部件的一對(duì)一關(guān)系對(duì)應(yīng)于每個(gè)零部件,規(guī)定取其圖號(hào)作為其數(shù)據(jù)文件名。

      2 系統(tǒng)組成

      基于上述設(shè)計(jì)思想,以圖紙明細(xì)欄數(shù)據(jù)文件作為重要的聯(lián)系標(biāo)志,對(duì)CAD繪圖軟件進(jìn)行二次開(kāi)發(fā),實(shí)現(xiàn)CAD繪圖與明細(xì)表自動(dòng)生成,并為計(jì)算機(jī)輔助工藝設(shè)計(jì)(CAPP)系統(tǒng)提供數(shù)據(jù)共享。主要由如下幾部分組成,如圖1所示。

      圖1 系統(tǒng)組成框圖

      3 程序設(shè)計(jì)

      3.1 CAD明細(xì)欄輸入

      采用AutoLISP及DCL編程在CAD繪圖填寫(xiě)明細(xì)欄同時(shí)建立每個(gè)零部件的數(shù)據(jù)文件,供系統(tǒng)數(shù)據(jù)處理檢索之用。

      DCL語(yǔ)言結(jié)合了AutoLISP與DCL兩種語(yǔ)法的功能,可以讓用戶(hù)半自動(dòng)地架構(gòu)出“圖形模式”的對(duì)話框界面,即可編程對(duì)話框PDB,一個(gè)DCL文件的基本架構(gòu)外觀是:

      DCL對(duì)話框的屏幕畫(huà)面以框欄(Tile)為基本結(jié)構(gòu),將框欄按左右、上下或混合排行之后,就組成了對(duì)話框的主要外觀。每個(gè)框欄內(nèi)部可以容納對(duì)話框的基本控件。DCL語(yǔ)法可以自動(dòng)調(diào)整控件之間的相對(duì)位置,用戶(hù)只需要將控件代碼和各控件的排行模式代碼按順序?qū)懺贒CL文件里即可,一般不用考慮控件的尺寸問(wèn)題。系統(tǒng)會(huì)自動(dòng)計(jì)算應(yīng)有的對(duì)話框尺寸,并自動(dòng)規(guī)劃適當(dāng)?shù)目臻g來(lái)放置這些控件。

      DCL文件與AutoLISP程序一樣,是單純的ASCII格式的文本文件,可使用VLISP或一般的文本編輯器(如:記事本等)來(lái)編輯和修改,用DCL語(yǔ)法撰寫(xiě)的對(duì)話框,其擴(kuò)展名為.dcl。對(duì)話框程序的運(yùn)行,按先后順序可分為3步驟:

      第1步:在AutoLISP文件里調(diào)用DCL對(duì)話框程序。

      第2步:用戶(hù)在對(duì)話框里輸入數(shù)據(jù)。

      第3步:將用戶(hù)輸入的數(shù)據(jù)返回AutoLISP文件執(zhí)行[1]。

      DCL文件本身并不能單獨(dú)運(yùn)作,必須在AutoLISP主程序里進(jìn)行初始設(shè)定,然后由主程序調(diào)用DCL文件,才能顯示在CAD的繪圖屏幕上。用戶(hù)輸入數(shù)據(jù)后,單擊程序設(shè)置的按鈕,DCL文件再將取得的鍵值數(shù)據(jù)送回AutoLISP主程序執(zhí)行,關(guān)閉對(duì)話框后,AutoLISP主程序還將繼續(xù)執(zhí)行后續(xù)的代碼。

      明細(xì)欄數(shù)據(jù)錄入對(duì)話框DCL程序代碼如下。

      圖2 明細(xì)欄輸入對(duì)話框

      以上代碼為對(duì)話框源代碼,并將其保存為p1.dcl,提供給下面的LISP程序(mxb.lsp)調(diào)用。因篇幅關(guān)系,省略mxb.lsp文件在CAD中調(diào)入對(duì)話框并錄入、提取數(shù)據(jù)的源代碼。此外,確保將p1.dcl和mxb.lsp兩個(gè)文件保存在CAD安裝目錄下的support文件夾中。進(jìn)入CAD后,在菜單欄項(xiàng)點(diǎn)擊‘明細(xì)欄’下的‘I明細(xì)欄錄入’(注:可通過(guò)修改CAD菜單文件在菜單欄中添加用戶(hù)自定義的菜單項(xiàng)),按命令窗口中提示輸入該圖明細(xì)欄項(xiàng)數(shù),回車(chē);輸入文件名(要求以該圖的圖號(hào)命名,例如該圖的圖號(hào)為5EQ.524.123,則在命令窗口中輸入的文件名應(yīng)為”5EQ.524.123”。),回車(chē),按提示捕捉標(biāo)題欄左上角,出現(xiàn)如圖2所示的對(duì)話框。其功能在CAD中輸出明細(xì)欄、提取明細(xì)欄數(shù)據(jù),特點(diǎn)有:

      1)明細(xì)欄輸入及修改均采用對(duì)話框形式。

      2)序號(hào)自動(dòng)產(chǎn)生。

      3)產(chǎn)品型號(hào)和總圖號(hào)對(duì)話輸入框中均以最近一次的輸入值為默認(rèn)值。

      另外,由于多種因素的制約:一方面,手工圖紙仍占一定的比重,另一方面,圖紙資料具有繼承性,設(shè)計(jì)中難免使用通用件及借用老產(chǎn)品的零部件,也可采用該程序在CAD中逐條將圖中明細(xì)欄的信息輸入并提取產(chǎn)生數(shù)據(jù)文件,而不產(chǎn)生圖形實(shí)體。(當(dāng)然,也可在明細(xì)欄數(shù)據(jù)處理過(guò)程中添加或修改、刪除數(shù)據(jù))它提供了在CAD下圖紙明細(xì)欄信息提取與存儲(chǔ)功能:

      1)在對(duì)話框輸入完數(shù)據(jù)后,按OK鍵,數(shù)據(jù)自動(dòng)填入明細(xì)欄中,同時(shí)在C:MXB目錄下自動(dòng)生成了一個(gè)以該圖號(hào)命名的文本文件。(例如:5EQ.524.123.txt)

      2)另外,如果是“定子”、“轉(zhuǎn)子”、“機(jī)座” 圖紙,其輸入的文件名必是該圖紙的圖號(hào)后加上MX,(例如:需要錄入明細(xì)欄的圖紙是圖號(hào)為5EQ.034.633的機(jī)座,那么在命令窗口中提示輸入文件名應(yīng)為:5EQ.034.633MX。)

      3)若遇到部件圖已經(jīng)出了明細(xì)表或不必出明細(xì)表時(shí),在輸入數(shù)據(jù)對(duì)話框代號(hào)一欄中,必須為標(biāo)準(zhǔn)的部件圖號(hào)加上MX。另外,遇到?jīng)]有代號(hào)時(shí),必須在代號(hào)一欄中輸入一個(gè)“.”。

      3.2 明細(xì)表自動(dòng)生成

      對(duì)全部零部件信息進(jìn)行搜索,當(dāng)缺少某一部件的數(shù)據(jù)信息時(shí),系統(tǒng)提示缺少部件,并拒絕將產(chǎn)品零部件信息分類(lèi)入庫(kù)。在明細(xì)表中,按不同部件層次并以“序號(hào)”特征加以區(qū)分,按樹(shù)狀結(jié)構(gòu)排序。明細(xì)表的輸出形式,可在明細(xì)表自動(dòng)生成系統(tǒng)中直接由繪圖儀輸出,在本系統(tǒng)中支持打印機(jī)設(shè)置、網(wǎng)絡(luò)打印及打印預(yù)覽。明細(xì)表自動(dòng)生成部分采用Visual Basic編寫(xiě)。程序框圖如圖3所示。

      圖3 程序框圖

      以下是明細(xì)表自動(dòng)生成部分主要功能:

      1)運(yùn)行明細(xì)表生成程序,若需生成明細(xì)表數(shù)據(jù)都已入庫(kù),則按“明細(xì)表打印”按鈕,然后在對(duì)話框中輸入您要輸出的明細(xì)表的總圖號(hào)等有關(guān)信息,按“打印”或“瀏覽、修改”等按鈕,就可打印、瀏覽或修改該產(chǎn)品下的明細(xì)表信息,如圖4所示。

      圖4 明細(xì)表打印窗口

      2)若數(shù)據(jù)未導(dǎo)入,則按 ‘明細(xì)表數(shù)據(jù)處理’按鈕,在數(shù)據(jù)導(dǎo)入中點(diǎn)擊“選擇需導(dǎo)入文件”按鈕,可實(shí)現(xiàn)文本數(shù)據(jù)轉(zhuǎn)換成數(shù)據(jù)庫(kù)文件、產(chǎn)品數(shù)據(jù)處理分類(lèi)、明細(xì)表數(shù)據(jù)庫(kù)修改、添加、刪除及產(chǎn)品零件入庫(kù)等。選擇需要導(dǎo)入的文件(如:1EQ.010.416)。如此反復(fù),直到該產(chǎn)品的明細(xì)數(shù)據(jù)導(dǎo)入完,即可打印總裝、定子、轉(zhuǎn)子、機(jī)座明細(xì)表,完成后,再執(zhí)行“產(chǎn)品零件入庫(kù)”,給計(jì)算機(jī)輔助工藝設(shè)計(jì)系統(tǒng)提供數(shù)據(jù)。

      3)在明細(xì)表數(shù)據(jù)修改窗口中,可對(duì)當(dāng)前產(chǎn)品明細(xì)表進(jìn)行修改、刪除、添加。如果要?jiǎng)h除某幾項(xiàng)只要用鼠標(biāo)在要?jiǎng)h除的記錄上做上刪除標(biāo)記,然后在把光標(biāo)定在“要?jiǎng)h除的代號(hào)”這一輸入框中,回車(chē)就可刪除不想要的記錄。如果不想用移動(dòng)滾動(dòng)條去尋找要修改的記錄,那么可以在“要修改的代號(hào)或名稱(chēng)的輸入框中輸入要修改的代號(hào)或名稱(chēng),回車(chē),就可定位到要修改的記錄。如下圖5所示。

      圖5 明細(xì)表數(shù)據(jù)修改窗口

      4 結(jié)束語(yǔ)

      系統(tǒng)將對(duì)話框控制語(yǔ)言DCL與AutoLISP的可編程對(duì)話框函數(shù)[2]相結(jié)合,各模塊均采用窗口式,對(duì)話框輸入,且支持網(wǎng)絡(luò)數(shù)據(jù)搜索及調(diào)用,極大地提高了設(shè)計(jì)效率。克服了圖紙明細(xì)欄輸入困難,做到了部件圖零件明細(xì)欄數(shù)據(jù)提取及共享,真正做到圖紙完,明細(xì)表同時(shí)生成,為工藝、材料定額、工時(shí)定額、生產(chǎn)計(jì)劃管理提供數(shù)據(jù)共享,同時(shí)保證了數(shù)據(jù)信息的準(zhǔn)確、可靠及高度一致。另外,從圖紙?jiān)O(shè)計(jì)到明細(xì)表自動(dòng)生成,相同的零部件的數(shù)據(jù)信息,不管在本產(chǎn)品設(shè)計(jì)或其它產(chǎn)品中出現(xiàn)多次,僅需輸入一次,大大減少了重復(fù)輸入的工作量,通用零部件越多重復(fù)輸入工作量減少越明顯。

      [1]舒飛.AutoCAD2004二次開(kāi)發(fā)標(biāo)準(zhǔn)教程[M].上海:上??茖W(xué)普及出版社,2004.

      [2]楊素敏.AutoCAD2000定制與開(kāi)發(fā)[M].北京:人民郵電出版社,2000.

      [3]張曉黎,張巍.Visual Basic+SQL Server數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)與實(shí)例[M].北京:人民郵電出版社,2003.

      Engineering drawings of the information extraction and processing based on AutoLISP and Visual Basic

      XIE Zhong-mei, CHEN You-fu, LIU Su-nan

      工程圖紙信息提取與處理由CAD二次開(kāi)發(fā)模塊和圖紙信息管理模塊組成。CAD二次開(kāi)發(fā)采用AutoLISP及對(duì)話控制語(yǔ)言編寫(xiě);圖紙信息管理主控程序和各功能模塊用Visual Basic編寫(xiě)。將計(jì)算機(jī)輔助繪圖與CAD圖紙中零部件明細(xì)表匯總有機(jī)地結(jié)合為一體,利用計(jì)算機(jī)實(shí)現(xiàn)了產(chǎn)品零部件明細(xì)表自動(dòng)生成,保證了圖紙信息與明細(xì)表匯總的信息的一致性。

      計(jì)算機(jī)輔助繪圖;明細(xì)表(BOM);DCL(對(duì)話框控制語(yǔ)言);AutoLISP

      謝中梅(1970 -),女,副教授,工程師,碩士,研究方向?yàn)閿?shù)據(jù)庫(kù)信息管理及應(yīng)用。

      TP391

      B

      1009-0134(2011)4(上)-0145-03

      10.3969/j.issn.1009-0134.2011.4(上).45

      2010-10-27

      猜你喜歡
      圖號(hào)明細(xì)表控件
      一種改進(jìn)的接圖表生成算法
      勘誤聲明
      磁共振成像(2021年4期)2021-03-25 07:48:26
      學(xué)術(shù)出版物插圖的編排要求(2):版式要求
      2019年中國(guó)出口石材明細(xì)表(三)
      石材(2020年8期)2020-10-28 07:53:18
      2019年中國(guó)出口石材明細(xì)表(二)
      石材(2020年7期)2020-08-24 08:28:08
      2019年中國(guó)出口量值石材明細(xì)表(一)
      石材(2020年6期)2020-08-24 08:27:08
      關(guān)于.net控件數(shù)組的探討
      軟件(2018年7期)2018-08-13 09:44:42
      B/S模式產(chǎn)品圖號(hào)信息系統(tǒng)的開(kāi)發(fā)與應(yīng)用
      2011年十家拍賣(mài)公司秋拍1000萬(wàn)元以上成交拍品前50名明細(xì)表
      就這樣玩會(huì)VBA中常見(jiàn)的自定義控件
      電腦迷(2012年24期)2012-04-29 00:44:03
      青田县| 大丰市| 五原县| 旬邑县| 肥西县| 闽清县| 大足县| 武平县| 周口市| 榆树市| 武冈市| 大邑县| 彭泽县| 濮阳县| 弥渡县| 汶上县| 东光县| 阳谷县| 当雄县| 土默特右旗| 兴文县| 措美县| 大庆市| 永昌县| 阳泉市| 喀什市| 庆安县| 淮滨县| 江门市| 甘谷县| 鄂尔多斯市| 疏附县| 通河县| 米易县| 长春市| 太白县| 龙山县| 泸水县| 武陟县| 弋阳县| 大足县|