一種提取CAD圖紙明細內(nèi)容至Excel表格的方法
【技術(shù)領域】
[0001]本發(fā)明屬AutoCAD 二次開發(fā)領域,尤其涉及一種提取CAD圖紙明細內(nèi)容至Excel表格的方法。
【背景技術(shù)】
[0002]AutoCAD是由Autodesk公司開發(fā)的計算機輔助設計軟件,在國內(nèi)企業(yè)中得到了廣泛運用。然而,工程技術(shù)人員在享受其所帶來便利的同時,又必須花費大量時間來處理圖紙中的文檔信息。工藝路線文件是企業(yè)進行順利生產(chǎn)的基礎,其物料基本信息主要來源于圖紙中的明細表。目前,明細表中的信息無法直接與外部文件進行傳遞,現(xiàn)常用的方法為根據(jù)圖紙手動錄入數(shù)據(jù)和利用軟件進行自動化提取。由于實際圖紙的多樣性,利用現(xiàn)有軟件提取出來的結(jié)果往往不盡人意,而手動錄入數(shù)據(jù)不僅效率低,而且容易出錯;因此,如何高效率、準確的提取出明細表信息顯得極其重要。
[0003]有鑒于此,有必要提供一種提取CAD圖紙明細內(nèi)容至Excel表格的方法,以解決上述問題。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的是:為了克服現(xiàn)有技術(shù)缺陷,從而提供一種能從AutoCAD圖紙中提取多種形式的明細內(nèi)容至Excel表格的方法。
[0005]為了實現(xiàn)上述目的,本發(fā)明所采用的技術(shù)方案是:一種提取CAD圖紙明細內(nèi)容至Excel表格的方法,前提是CAD軟件已安裝VBA模塊,其特征在于,該方法的具體步驟是:
1)在桌面新建Excel表格,在表格的第一行依次輸入明細行各項對應的名稱,將表格命名為“明細存放”;
2)打開CAD軟件,在MicrosoftVisual Basic模式下插入過程及窗體,過程的功能是顯示窗體,窗體為選擇明細形式,保存并命名為acd.dvb文件,然后將其拷貝至CAD的安裝目錄下;
3)在CAD軟件里新添命令按鈕“提取明細”,并將該命令指向步驟2)中的插入過程;
4)提取明細:在CAD窗口點擊“提取明細”,根據(jù)步驟2)中窗體提示進行選取,然后依次選取明細行所在區(qū)域的左下角點和右上角點,即實現(xiàn)明細行中的內(nèi)容按照原始相對位置傳遞至“明細存放”表格中。
[0006]如上所述的提取CAD圖紙明細內(nèi)容至Excel表格的方法,其特征在于,若明細數(shù)據(jù)為本文格式,則其位置關(guān)系按如下公式計算:
xlsheet.Cells ((loc (I) - pointl (I) + H * k) \ (H * k) + i, I) = ENT.TextString
其中H為行高,k為圖紙比例,i為當前表格中的行數(shù);k = (point2(0) - pointl (0))/ X,X為圖紙比例1:1時明細行總長。
[0007]本發(fā)明的有益效果:由于采用上述技術(shù)方案,本發(fā)明與現(xiàn)有技術(shù)相比具有如下積極效果:本發(fā)明涉及的提取CAD圖紙中明細內(nèi)容至Excel表格的方法考慮了明細形式的多樣性及常用形式,同時保證明細內(nèi)容整體實現(xiàn)“空間轉(zhuǎn)移”,對用戶的后續(xù)引用無影響,極大的提高了工作效率。
【附圖說明】
[0008]圖1是本發(fā)明提取CAD圖紙明細內(nèi)容至ExceI表格的方法的流程圖。
[0009]圖2是本發(fā)明的提取明細窗體。
【具體實施方式】
[0010]為了更好地理解本發(fā)明,下面結(jié)合實施例進一步闡明本發(fā)明的內(nèi)容,但本發(fā)明的內(nèi)容不僅僅局限于下面的實施例。本領域技術(shù)人員可以對本發(fā)明作各種改動或修改,這些等價形式同樣在本申請所列權(quán)利要求書限定范圍之內(nèi)。
[0011]如圖1所示,本發(fā)明的提取CAD圖紙明細表內(nèi)容至Excel表格的方法,在已安裝VBA模塊的前提下,該方法的具體步驟是:
I)在桌面新建Excel表格,在表格的第一行依次輸入目標圖紙明細行各項對應的名稱,如序號、代號、名稱、數(shù)量,將表格命名為“明細存放”;對于同類圖紙,無需每次新建此表格。
[0012]2)打開AutoCAD,在Microsoft Visual Basic模式下插入過程及窗體,見附圖2。過程的功能是顯示窗體,窗體為選擇明細形式,其中,若明細數(shù)據(jù)為本文格式,則其位置關(guān)系按如下公式計算,
xlsheet.Cells ((loc (I) - pointl (I) + H * k) \ (H * k) + i, I) = ENT.TextString
其中H為行高,k為圖紙比例,i為當前表格中的行數(shù)。
[0013]k = (point2 (0) - pointl (0)) / X,X 為圖紙比例 1:1 時明細行總長。
[0014]保存并命名為acd.dvb文件,然后將其拷貝至CAD的安裝目錄下,該步完成后,提取明細時直接進入步驟4 )。
[0015]3)在AutoCAD里“工具”菜單下新添命令按鈕“提取明細”,并將該命令指向步驟
2)中的插入過程;命令建好后,以后使用則無需重復創(chuàng)建。
[0016]4)打開目標圖紙,點擊“工具“提取明細”,根據(jù)彈出窗體的提示進行選取,本步驟以選擇窗體中明細形式為“其它”為例,首先選擇“其它”,然后再輸入圖紙比例為1:1時明細行高度值及其它各項的寬度值(若實際圖紙與窗體中的各項不一致,則根據(jù)窗體中的序號依次輸入即可)再點擊“提取明細”按鈕,然后依次選取明細行所在區(qū)域的左下角點和右上角點,即實現(xiàn)明細行中的內(nèi)容按照原始相對位置傳遞至“明細存放”表格中,對于同類圖紙,無需每次都輸入數(shù)值,程序自動保存第一次輸入的值。重復執(zhí)行該步,即可提取其它圖紙的明細,所有提取的明細數(shù)據(jù)保存在同一 Excel表格中。
[0017]最后應當說明的是,以上內(nèi)容僅用以說明本發(fā)明的技術(shù)方案,而非對本發(fā)明保護范圍的限制,本領域的普通技術(shù)人員對本發(fā)明的技術(shù)方案進行的簡單修改或者等同替換,均不脫離本發(fā)明技術(shù)方案的實質(zhì)和范圍。
【主權(quán)項】
1.一種提取CAD圖紙明細內(nèi)容至Excel表格的方法,前提是CAD軟件已安裝VBA模塊,其特征在于,該方法的具體步驟是: 1)在桌面新建Excel表格,在表格的第一行依次輸入明細行各項對應的名稱,將表格命名為“明細存放”; 2)打開CAD軟件,在MicrosoftVisual Basic模式下插入過程及窗體,過程的功能是顯示窗體,窗體為選擇明細形式,保存并命名為acd.dvb文件,然后將其拷貝至CAD的安裝目錄下; 3)在CAD軟件里新添命令按鈕“提取明細”,并將該命令指向步驟2)中的插入過程; 4)提取明細:在CAD窗口點擊“提取明細”,根據(jù)步驟2)中窗體提示進行選取,然后依次選取明細行所在區(qū)域的左下角點和右上角點,即實現(xiàn)明細行中的內(nèi)容按照原始相對位置傳遞至“明細存放”表格中。2.根據(jù)權(quán)利要求1所述的提取CAD圖紙明細內(nèi)容至Excel表格的方法,其特征在于,若明細數(shù)據(jù)為本文格式,則其位置關(guān)系按如下公式計算:xlsheet.Cells ((loc (I) - pointl (I) + H * k) \ (H * k) + i, I) = ENT.TextString 其中H為行高,k為圖紙比例,i為當前表格中的行數(shù);k = (point2(0) - pointl (O))/ X,X為圖紙比例1:1時明細行總長。
【專利摘要】本發(fā)明屬AutoCAD二次開發(fā)領域,尤其涉及一種提取CAD圖紙明細內(nèi)容至Excel表格的方法。其技術(shù)方案是:新建Excel模板文件,打開目標圖紙,點擊“工具”菜單下的“提取明細”按鈕,窗體顯示選擇明細表的具體形式,然后依次選擇明細行所在區(qū)域的左下角點和右上角點,明細行內(nèi)容按照原有相對位置傳遞至Excel表格并給出提取成功的提示。本發(fā)明具有操作簡單,準確性和效率高的特點,適用于多種形式明細表內(nèi)容的提取。
【IPC分類】G06F9/44
【公開號】CN105159685
【申請?zhí)枴緾N201510623382
【發(fā)明人】劉建洋, 張磊, 賀映才
【申請人】武漢中冶易新科技有限公司
【公開日】2015年12月16日
【申請日】2015年9月28日