專利名稱:工程圖自動(dòng)識(shí)別與理解的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種工程圖自動(dòng)識(shí)別與理解的方法,特別涉及一種使用層次式知 識(shí)表示對(duì)工程圖自動(dòng)識(shí)別與理解以輔助工程設(shè)計(jì)及檢索的方法。
技術(shù)背景工程圖已廣泛應(yīng)用于機(jī)械、電子、建筑、航空、航天、造船、化工、服裝等 諸多領(lǐng)域。作為體現(xiàn)設(shè)計(jì)意圖的主要載體,工程圖在工程領(lǐng)域的各個(gè)環(huán)節(jié)之間廣 為流通,有效促進(jìn)了行業(yè)效率的提高。但工程圖的人工閱讀方式已成為制約海量 工程圖中工程對(duì)象檢索、設(shè)計(jì)復(fù)用的主要因素。工程圖中所包含的工程對(duì)象一般 以圖形化方式描述,由一組諸如直線段、弧、圓、字符串的相關(guān)圖元組合而成, 而對(duì)該組相關(guān)圖元所體現(xiàn)的工程語義信息的解釋則一般由富有該領(lǐng)域工程經(jīng)驗(yàn) 的人來完成。人工解釋工程圖以獲取工程數(shù)據(jù)的方式有諸多缺點(diǎn),如效率較低、 準(zhǔn)確性及可重復(fù)性較差,容易產(chǎn)生數(shù)據(jù)不一致性,且對(duì)人的工程經(jīng)驗(yàn)要求較高等。 因此,通過計(jì)算機(jī)實(shí)現(xiàn)工程圖自動(dòng)識(shí)別與理解成為解決工程對(duì)象快速檢索與復(fù) 用、從而提高計(jì)算機(jī)輔助設(shè)計(jì)與制造水平的有效途徑?,F(xiàn)有工程圖自動(dòng)理解技術(shù)集中在如何將掃描藍(lán)圖轉(zhuǎn)變?yōu)镃AD系統(tǒng)能夠讀取 的低級(jí)矢量描述,以及利用硬編碼方式或預(yù)定義的靜態(tài)規(guī)則庫(kù)識(shí)別一些簡(jiǎn)單的工 程符號(hào),比如尺寸線。而電子工程圖自動(dòng)理解的關(guān)鍵在于識(shí)別其中高層工程對(duì)象 語義描述,且要求具有通用性和魯棒性,現(xiàn)有的工程圖自動(dòng)識(shí)別與理解方法并不 能夠?qū)崿F(xiàn)這一目標(biāo),從而影響了自動(dòng)識(shí)別與理解技術(shù)在工程領(lǐng)域的應(yīng)用。工程圖 中工程對(duì)象一般存在于較復(fù)雜的環(huán)境約束中,具體包括其自身各種可能的顯式幾 何組成約束,以及對(duì)象間如尺寸關(guān)聯(lián)、對(duì)稱、投影、引用、省略、示意式表達(dá)等 隱式語義約束。這些復(fù)雜的顯式及隱式約束一般由設(shè)計(jì)師根據(jù)制圖要求及個(gè)人風(fēng) 格靈活選擇與表達(dá)。 一般在人工讀圖時(shí),有經(jīng)驗(yàn)的工程人員可快速理解其中隱含 的設(shè)計(jì)意圖,而對(duì)于計(jì)算機(jī)實(shí)現(xiàn)的自動(dòng)識(shí)別與理解系統(tǒng),如何表示工程對(duì)象各種 可能的幾何組成及不同對(duì)象間的語義約束關(guān)系,并以此引導(dǎo)自動(dòng)識(shí)別與理解,則 成為主要困難。 發(fā)明內(nèi)容本發(fā)明的目的是針對(duì)現(xiàn)有技術(shù)僅能使用靜態(tài)規(guī)則庫(kù)識(shí)別簡(jiǎn)單符號(hào)或用硬編 碼方式識(shí)別特定表達(dá)的工程圖,提供一種靈活通用的、在結(jié)構(gòu)化領(lǐng)域知識(shí)表示驅(qū) 動(dòng)下的工程圖自動(dòng)精確理解與識(shí)別方法,以進(jìn)一步提高計(jì)算機(jī)輔助設(shè)計(jì)與制造水
平。
技術(shù)方案為了達(dá)到上述目的,解決現(xiàn)有技術(shù)的缺陷,本發(fā)明提供了一種工 程圖自動(dòng)識(shí)別與理解的方法,該方法包括以下步驟
步驟l,輸入CAD電子工程圖,判斷其是否被識(shí)別;如果判斷結(jié)果為否則返 回步驟l;
步驟2,若步驟1中的識(shí)別結(jié)果為是,則根據(jù)所輸入工程圖類型,從知識(shí)文 件庫(kù)中選擇包含該工程領(lǐng)域知識(shí)描述的知識(shí)表述文件,并讀取知識(shí)表述文件中的
.知識(shí)描述子;
步驟3,由知識(shí)處理器按知識(shí)描述子的層次式關(guān)系在計(jì)算機(jī)內(nèi)存中處理所述 CAD電子工程圖進(jìn)行分析并轉(zhuǎn)化為EBNF一Tree文件;
步驟4,對(duì)EBNF一Tree文件進(jìn)行深度優(yōu)先遍歷,并判斷是否遍歷結(jié)束,如果 判斷結(jié)果為是,則返回步驟l;
步驟5,如果步驟4中的判斷結(jié)果為否,則訪問EBNFJTree文件的葉節(jié)點(diǎn);
步驟6,讀取所述葉節(jié)點(diǎn)中對(duì)應(yīng)的知識(shí)描述子,并解析出其中的識(shí)別函數(shù)名;
步驟7,對(duì)象識(shí)別器從函數(shù)庫(kù)中調(diào)用指定函數(shù);
步驟8,對(duì)象識(shí)別器根據(jù)步驟6中的函數(shù)名與步驟7中的指定函數(shù)搜索CAD 電子工程圖中的工程對(duì)象,并判斷是否搜索成功,如果判斷結(jié)果為否則返回步驟 4;
步驟9,如果步驟8中的判斷結(jié)果為是,則輸出工程對(duì)象,并返回步驟4。 其中,步驟2所述的知識(shí)文件庫(kù)進(jìn)一步包括建立層次式結(jié)構(gòu)化工程知識(shí)表 示模型,該知識(shí)表示模型對(duì)復(fù)雜的工程領(lǐng)域知識(shí)以層次化方式表示與存儲(chǔ),其中 層次式表示包括工程級(jí)、工程圖級(jí)、工程對(duì)象級(jí)、基本圖元級(jí),每一層次均由一 組描述語言所定義的知識(shí)描述子表示。
在本發(fā)明方法中,步驟2所述領(lǐng)域知識(shí)由一組EBNF知識(shí)描述子預(yù)定義,以 此驅(qū)動(dòng)與引導(dǎo)在所輸入的工程圖中對(duì)特定工程對(duì)象的自動(dòng)識(shí)別、理解過程,它包 括工程對(duì)象圖元組合顯式表達(dá);包括多視圖、圖形省略、圖形引用、圖形繼承、
圖形映射、尺寸約束在內(nèi)的隱式表達(dá)。
在本發(fā)明方法中,步驟3所述知識(shí)處理器包括知識(shí)解釋部分及知識(shí)分析部分,
分別完成知識(shí)描述子關(guān)系的重建以及重建后的數(shù)據(jù)結(jié)構(gòu)的遍歷。其中知識(shí)解釋部 分從所加載的知識(shí)表示文件中讀取知識(shí)描述子,并按知識(shí)描述子的層次式關(guān)系在
計(jì)算機(jī)內(nèi)存中轉(zhuǎn)化為擴(kuò)展的巴克斯范式樹,即EBNF—Tree中間樹型結(jié)構(gòu)。所述 EBNFJTree特征在于其葉節(jié)點(diǎn)為一組相關(guān)的基本分析函數(shù),非葉節(jié)點(diǎn)表示不同層 次的工程對(duì)象,邊表示所連接的兩個(gè)節(jié)點(diǎn)之間的關(guān)系。
在本發(fā)明方法中,為了描述工程圖中復(fù)雜的顯式及隱式約束關(guān)系,提供一種 以擴(kuò)展的巴克斯范式,即EBNF定義、由知識(shí)描述子描述的層次式結(jié)構(gòu)化知識(shí)表 示模型。所述描述語言EBNF為擴(kuò)展的巴克斯范式,所增的擴(kuò)展包括以符號(hào)"—" 連接知識(shí)描述子名稱與工程對(duì)象名稱;以符號(hào)"*"表示可能存在多個(gè)工程對(duì)象; 以符號(hào)"[]"表示該工程對(duì)象不一定存在;以符號(hào)"U"表示基本函數(shù)名稱;以 符號(hào)"&"表示邏輯運(yùn)算符"且";以符號(hào)"()"列出函數(shù)參數(shù)。
在本發(fā)明方法中,所述知識(shí)描述子為識(shí)別一個(gè)工程對(duì)象所需的一個(gè)內(nèi)部或外 部約束條件,其類型分為外部條件對(duì)象、外部引導(dǎo)對(duì)象、外部引導(dǎo)方式、外部方 向參考、數(shù)據(jù)參考對(duì)象、數(shù)據(jù)參考方式、內(nèi)部組成對(duì)象、內(nèi)部關(guān)系約束及內(nèi)部尺 寸約束九種,每個(gè)知識(shí)描述子由本發(fā)明提出的EBNF描述和定義。
在本發(fā)明方法中,步驟7以及步驟8中對(duì)象識(shí)別器根據(jù)深度優(yōu)先遍歷 EBNF一Tree過程中解析出的識(shí)別函數(shù)名,按次序調(diào)用并執(zhí)行相應(yīng)函數(shù),在所輸入 工程圖中進(jìn)行按序、定向、整體化識(shí)別。
有益效果本發(fā)明所述的根據(jù)計(jì)算機(jī)程序?qū)崿F(xiàn)對(duì)工程圖自動(dòng)識(shí)別與理解的方 法,使得計(jì)算機(jī)能夠識(shí)別與理解更為復(fù)雜的工程圖,并且做到識(shí)別過程與理解結(jié) 果的精度高、有效性和可靠性高、理解能力強(qiáng),解決計(jì)算機(jī)程序在工程圖的識(shí)別 與理解領(lǐng)域的效率低下的難題。該方法可適用于許多領(lǐng)域的工程圖自動(dòng)識(shí)別與理 解,使用時(shí)僅需根據(jù)所輸入的工程圖類型更換相應(yīng)的知識(shí)表示文件,而無需對(duì)后 繼的知識(shí)處理器、對(duì)象搜索器作改動(dòng),因此實(shí)現(xiàn)上更加靈活、通用。同時(shí),當(dāng)某 工程領(lǐng)域知識(shí)需要修改,僅需改動(dòng)對(duì)應(yīng)的EBNF定義的知識(shí)描述子,在解釋階段 知識(shí)管理器負(fù)責(zé)重新建立各種工程對(duì)象之間的關(guān)系。
圖l表示本發(fā)明的工作流程圖。
圖2表示結(jié)構(gòu)工程圖中柱圖的一部分。
圖3表示一個(gè)結(jié)構(gòu)工程圖中的詳標(biāo)柱。
圖4表示與柱圖對(duì)應(yīng)的由知識(shí)描述重建的EBNF一Tree。
圖5表示深度優(yōu)先遍歷中與柱圖對(duì)應(yīng)的知識(shí)描述重建的EBNF一Tree的次序。
圖6表示按本發(fā)明方法識(shí)別與理解一張柱圖的過程與結(jié)果。
具體實(shí)施例方式
以知識(shí)描述子表示的層次式結(jié)構(gòu)化知識(shí)表示可適用于多種不同領(lǐng)域的工程 圖自動(dòng)識(shí)別,為方便理解與描述,以結(jié)構(gòu)工程圖中的柱圖為例進(jìn)行說明。如圖2 所示,柱圖通常用于描述建筑物的一層或結(jié)構(gòu)相同的若干層中柱的設(shè)計(jì)信息,通
常由軸網(wǎng)和柱的表示組成,其中的柱有詳標(biāo)柱(有詳細(xì)標(biāo)注)和引用柱(只有輪 廓示意)兩種表示形式。圖3給出了一個(gè)詳標(biāo)柱的圖形組成,其中柱名字符串由 柱名標(biāo)識(shí)和緊隨其后的一個(gè)整數(shù)序號(hào)組成,柱名標(biāo)識(shí)一般為大寫字母'Z'或小 寫字母'z',如其中的'Z12'。柱集中標(biāo)注由柱名字符串、柱平面輪廓尺寸描述 字符串'400X400'、角筋描述字符串'4 4)18'、箍筋描述字符串'4)8-100/200' 組成,各字符串按順序平行布局且左邊對(duì)齊。圖3中1表示柱名,2表示輪廓大 小,3表示角筋標(biāo)注,4表示箍筋標(biāo)注,5表示引線,6表示縱筋,7表示柱輪廓, 8表示拉筋線,9表示拉筋錨固線,IO表示箍筋輪廓,ll表示縱筋標(biāo)注。柱平面 輪廓可以是矩形、圓形、T形多邊形、L形多邊形、十字形多邊形,其中橫截面 描述柱內(nèi)部鋼筋結(jié)構(gòu)信息,由角筋,即四角的圓點(diǎn);中部縱筋,即四邊中部的圓 點(diǎn);箍筋,即內(nèi)層粗線矩形,左上角帶兩個(gè)接頭彎鉤;以及拉筋,即帶彎鉤粗線 段組成。
該組結(jié)構(gòu)工程圖還具有如下特點(diǎn)同一張圖中某些工程對(duì)象是示意性省略表 示,比如柱圖中的引用柱,某些對(duì)象是詳細(xì)表示,比如柱圖中的詳標(biāo)注;不同圖 之間可能有對(duì)應(yīng)關(guān)系,比如梁圖中的柱輪廓都是從柱圖中拷貝而來;不同結(jié)構(gòu)圖 各自側(cè)重點(diǎn)并不相同,比如板圖側(cè)重于描述板對(duì)象的詳細(xì)數(shù)據(jù),梁圖側(cè)重于表達(dá) 梁的詳細(xì)屬性等。
本發(fā)明的方法如圖1所示。圖1中的步驟1初始輸入為由一組有關(guān)柱圖的CAD 格式工程圖。步驟2根據(jù)所輸入的未處理的柱圖的工程圖的類型及所屬領(lǐng)域,從 知識(shí)文件庫(kù)中選擇相應(yīng)的領(lǐng)域知識(shí)表示文件。領(lǐng)域知識(shí)文件預(yù)先以EBNF進(jìn)行層 次式定義。知識(shí)表示文件定義一旦完成后,則可用于任意數(shù)量該領(lǐng)域工程圖的自 動(dòng)識(shí)別與理解。上述結(jié)構(gòu)工程圖的工程圖層次知識(shí)定義如下(以柱圖、墻圖為例, 均以EBNF定義的知識(shí)描述子表示) <柱圖〉= <內(nèi)部組成對(duì)象_柱圖〉;
<內(nèi)部組成對(duì)象—柱圖>::= <軸網(wǎng)*><詳標(biāo)柱*> [〈引用柱*>]; <墻圖>::=〈外部條件對(duì)象一墻圖><內(nèi)部組成對(duì)象_墻圖>; 〈外部條件對(duì)象—墻圖>::=K柱圖〉同層h
<內(nèi)部組成對(duì)象一墻圖〉= <軸網(wǎng)*><繼承柱*〉<詳標(biāo)墻*〉[〈引用墻*〉];
構(gòu)件層次定義如下(以柱對(duì)象為例)
<詳標(biāo)柱>::=〈內(nèi)部組成對(duì)象—詳標(biāo)柱〉;
〈內(nèi)部組成對(duì)象—詳標(biāo)柱〉=〈柱集中標(biāo)注〉〈詳標(biāo)柱平面輪廓〉
<柱鋼筋結(jié)構(gòu)截面〉〈柱縱筋描述字符串>[〈定向描述〉]; 〈引用柱〉= <數(shù)據(jù)參考對(duì)象_引用柱〉<數(shù)據(jù)參考方式_引用柱>〈內(nèi)部組成對(duì)象—引用柱〉;〈數(shù)據(jù)參考對(duì)象—引用柱>::={<詳標(biāo)柱> 同名h〈數(shù)據(jù)參考方式—引用柱〉={<引用柱平面輪廓> 形狀匹配〈詳標(biāo)柱平面輪廓>} K柱集中標(biāo)注〉復(fù)制} {<柱鋼筋結(jié)構(gòu)截面> 復(fù)制} K柱縱筋描述字符串〉復(fù)制h〈內(nèi)部組成對(duì)象—引用柱〉= <柱名字符串>〈引用柱平面輪廓>; <繼承柱>::=〈數(shù)據(jù)參考對(duì)象_繼承柱〉〈數(shù)據(jù)參考方式—繼承柱> 〈內(nèi)部組成對(duì)象—繼承柱〉;〈數(shù)據(jù)參考對(duì)象一繼承柱〉=K詳標(biāo)柱〉i〈引用柱〉同位h〈數(shù)據(jù)參考方式_繼承柱〉=K繼承柱平面輪廓〉同位重疊匹配〈詳標(biāo)柱平面輪廓〉I 〈引用柱平面輪廓〉}K柱集中標(biāo)注〉復(fù)制} K柱鋼筋結(jié)構(gòu)截面〉復(fù)制}{〈柱縱筋描述字符串〉復(fù)制};〈內(nèi)部組成對(duì)象—繼承柱〉=〈繼承柱平面輪廓〉;圖元描述層次的定義如下(以詳標(biāo)注的集中標(biāo)注為例)<柱集中標(biāo)注>::=<內(nèi)部組成對(duì)象_柱集中標(biāo)注><對(duì)象關(guān)系約束一柱集中標(biāo)注>;〈內(nèi)部組成對(duì)象_柱集中標(biāo)注>::=<詳標(biāo)柱名字符串〉〈柱平面輪廓尺寸字符串〉〈角筋描述字符串〉〈箍筋描述字符串〉;〈詳標(biāo)柱名字符串 >::=<外部方向參考_詳標(biāo)柱名字符串 >〈內(nèi)部組成對(duì)象一詳標(biāo)柱 名字符串〉〈對(duì)象關(guān)系約束_詳標(biāo)柱名字符串〉; 〈外部方向參考_詳標(biāo)柱名字符串〉=水平; 〈內(nèi)部組成對(duì)象一詳標(biāo)柱名字符串〉=〈柱名標(biāo)識(shí)><柱編號(hào)〉; <柱名標(biāo)識(shí)>::=<內(nèi)部組成對(duì)象_柱名標(biāo)識(shí)〉; <內(nèi)部組成對(duì)象一柱名標(biāo)識(shí)〉=T (' Z') IT (' z'); <柱編號(hào)>::=〈內(nèi)部組成對(duì)象_柱編號(hào)〉; 〈內(nèi)部組成對(duì)象—柱編號(hào)〉=整數(shù);<對(duì)象關(guān)系約束_詳標(biāo)柱名字符串>::={〈柱編號(hào)> 右靠 <柱名標(biāo)識(shí)〉}; 〈柱平面輪廓尺寸字符串 >::=< 內(nèi)部組成對(duì)象_柱平面輪廓尺寸字符串> 〈對(duì)象關(guān)系約束_柱平面輪廓尺寸字符串〉;〈內(nèi)部組成對(duì)象—柱平面輪廓尺寸字符串>::=<寬度字符串><乘號(hào)><長(zhǎng)度字符串> K半徑字符串〉; 〈寬度字符串〉=〈內(nèi)部組成對(duì)象一寬度字符串〉; <內(nèi)部組成對(duì)象—寬度字符串〉=整數(shù); <乘號(hào)>::=〈內(nèi)部組成對(duì)象_乘號(hào)〉; <內(nèi)部組成對(duì)象—乘號(hào)>::=T (, X,) IT (' x,); 〈長(zhǎng)度字符串〉=<內(nèi)部組成對(duì)象_長(zhǎng)度字符串〉; 〈內(nèi)部組成對(duì)象—長(zhǎng)度字符串〉=整數(shù); 〈羋徑字符串〉=<內(nèi)部組成對(duì)象一半徑字符串>; 〈內(nèi)部組成對(duì)象一半徑字符串〉=整數(shù);<對(duì)象關(guān)系約束_柱平面輪廓尺寸字符串>::={<乘號(hào)> 右靠 <寬度字符串>} K長(zhǎng) 度字符串〉右靠 <乘號(hào)>};以此類推,可將領(lǐng)域知識(shí)通過EBNF定義的知識(shí)描述子按層次式方式逐層表 示,其中需要用到的分析函數(shù)名表示調(diào)用相應(yīng)函數(shù),如"同名"表示需調(diào)用相應(yīng) 函數(shù),判斷所傳入對(duì)象是否同名。基本圖元函數(shù)則作為葉節(jié)點(diǎn),如"T('X')IT('x')" 表示要搜索一個(gè)內(nèi)容為'X'或'x'的字符。步驟3中,知識(shí)處理器中的知識(shí)解釋部分從所加載的知識(shí)表示文件中讀取知 識(shí)經(jīng)過處理的柱圖描述子,并按知識(shí)描述子的層次式關(guān)系在計(jì)算機(jī)內(nèi)存中轉(zhuǎn)化為 EBNF—Tree樹型結(jié)構(gòu)。EBNF—Tree是結(jié)構(gòu)化知識(shí)表示在內(nèi)存中重新組織而生成的 關(guān)于柱圖的數(shù)據(jù)結(jié)構(gòu),其葉節(jié)點(diǎn)為一組相關(guān)的基本分析函數(shù),非葉節(jié)點(diǎn)表示不同 層次的工程對(duì)象,邊表示所連接的兩個(gè)節(jié)點(diǎn)之間的關(guān)系。從上述柱圖層次定義到 詳標(biāo)柱、引用柱、繼承柱的工程對(duì)象層次定義,再到各自圖元描述層次定義而還 原出的對(duì)應(yīng)樹型結(jié)構(gòu)見圖4。該樹型結(jié)構(gòu)明確給出了隱含于上述層次式EBNF定 義中的關(guān)系,其中由每個(gè)節(jié)點(diǎn)均可訪問到對(duì)應(yīng)的EBNF定義的知識(shí)描述子。步驟4中,知識(shí)處理器的知識(shí)分析部分開始深度優(yōu)先遍歷經(jīng)過處理的柱圖 EBNF—Tree樹;步驟5訪問到該柱圖EBNF—Tree樹樹型結(jié)構(gòu)葉節(jié)點(diǎn),步驟6讀取 該柱圖EBNF-Tree樹葉節(jié)點(diǎn)中對(duì)應(yīng)的知識(shí)描述子,并解析出其中的識(shí)別函數(shù)名, 然后傳遞給對(duì)象識(shí)別器。步驟7中對(duì)象識(shí)別器負(fù)責(zé)從函數(shù)庫(kù)中調(diào)用與執(zhí)行指定函 數(shù),步驟8在所輸入工程圖中執(zhí)行判斷與搜索,步驟9輸出搜索結(jié)果,并繼續(xù)深 度優(yōu)先遍歷。該柱圖EBNFJTree遍歷結(jié)束時(shí),在工程圖中的搜索結(jié)束。圖5給出 了對(duì)應(yīng)于圖4的深度優(yōu)先遍歷次序。其中葉節(jié)點(diǎn)的訪問次序分別為 4-8-10-12-13-14-15-17-18-19-20-21。該次序正是解釋柱圖所應(yīng)該遵循的合理次序, 比如要搜索一個(gè)詳標(biāo)柱,應(yīng)該先搜索其名字,然后再搜索其截面字符串(其中包 含'X,或,x,),接下來再搜索角筋描述字符串,等等。圖6給出了按上述步驟識(shí)別 一張柱圖的過程與結(jié)果。
權(quán)利要求
1、一種工程圖自動(dòng)識(shí)別與理解的方法,其特征在于,該方法包括以下步驟(1)輸入CAD電子工程圖,判斷其是否被識(shí)別;如果判斷結(jié)果為否則返回步驟(1);(2)若步驟(1)中的識(shí)別結(jié)果為是,則根據(jù)所輸入工程圖類型,從知識(shí)文件庫(kù)中選擇包含該工程領(lǐng)域知識(shí)描述的知識(shí)表述文件,并讀取知識(shí)表述文件中的知識(shí)描述子;(3)由知識(shí)處理器按知識(shí)描述子的層次式關(guān)系在計(jì)算機(jī)內(nèi)存中處理所述CAD電子工程圖進(jìn)行分析并轉(zhuǎn)化為EBNF_Tree文件;(4)對(duì)EBNF_Tree文件進(jìn)行深度優(yōu)先遍歷,并判斷是否遍歷結(jié)束,如果判斷結(jié)果為是,則返回步驟(1);(5)如果步驟(4)中的判斷結(jié)果為否,則訪問EBNF_Tree文件的葉節(jié)點(diǎn);(6)讀取所述葉節(jié)點(diǎn)中對(duì)應(yīng)的知識(shí)描述子,并解析出其中的識(shí)別函數(shù)名;(7)對(duì)象識(shí)別器從函數(shù)庫(kù)中調(diào)用指定函數(shù);(8)對(duì)象識(shí)別器根據(jù)步驟(6)中的函數(shù)名與步驟(7)中的指定函數(shù)搜索CAD電子工程圖中的工程對(duì)象,并判斷是否搜索成功,如果判斷結(jié)果為否則返回步驟(4);(9)如果步驟(8)中的判斷結(jié)果為是,則輸出工程對(duì)象,并返回步驟(4)。
2、 根據(jù)權(quán)利要求1所述的工程圖自動(dòng)識(shí)別與理解的方法,其特征在于,步驟(2)所述知識(shí)文件庫(kù)進(jìn)一步包括建立層次式結(jié)構(gòu)化工程知識(shí)表示模型,該 知識(shí)表示模型對(duì)復(fù)雜的工程領(lǐng)域知識(shí)以層次化方式表示與存儲(chǔ),其中層次式表示 包括工程級(jí)、工程圖級(jí)、工程對(duì)象級(jí)、基本圖元級(jí),每一層次均由一組描述語言 所定義的知識(shí)描述子表示。
3、 根據(jù)權(quán)利要求1所述的工程圖自動(dòng)識(shí)別與理解的方法,其特征在于,步 驟(3)中,所述知識(shí)處理器包括知識(shí)解釋部分及知識(shí)分析部分。
4、 根據(jù)權(quán)利要求1所述的工程圖自動(dòng)識(shí)別與理解的方法,其特征在于,步 驟(7)和步驟(8)中,所述對(duì)象識(shí)別器根據(jù)深度優(yōu)先遍歷EBNF一Tree過程中解 析出的識(shí)別函數(shù)名,按次序調(diào)用并執(zhí)行相應(yīng)函數(shù),在所輸入工程圖中進(jìn)行按序、 定向、整體化識(shí)別。
5、 根據(jù)權(quán)利要求3所述的工程圖自動(dòng)識(shí)別與理解的方法,其特征在于,所述知識(shí)解釋部分從所加載的知識(shí)表示文件中讀取知識(shí)描述子,并按知識(shí)描述子的 層次式關(guān)系在計(jì)算機(jī)內(nèi)存中轉(zhuǎn)化為EBNF一Tree中間樹型結(jié)構(gòu)。
6、 根據(jù)權(quán)利要求l、 2或5所述的工程圖自動(dòng)識(shí)別與理解的方法,其特征在 于,所述知識(shí)描述子為識(shí)別一個(gè)工程對(duì)象所需的一個(gè)內(nèi)部或外部約束條件,其類 型分為外部條件對(duì)象、外部引導(dǎo)對(duì)象、外部引導(dǎo)方式、外部方向參考、數(shù)據(jù)參考 對(duì)象、數(shù)據(jù)參考方式、內(nèi)部組成對(duì)象、內(nèi)部關(guān)系約束及內(nèi)部尺寸約束九種。
7、 根據(jù)權(quán)利要求l、 4或5所述的工程圖自動(dòng)識(shí)別與理解的方法,其特征在 于,所述EBNFJTree的葉節(jié)點(diǎn)為一組相關(guān)的基本分析函數(shù),非葉節(jié)點(diǎn)表示不同層 次的工程對(duì)象,邊表示所連接的兩個(gè)節(jié)點(diǎn)之間的關(guān)系。
8、 根據(jù)權(quán)利要求1或2所述的工程圖自動(dòng)識(shí)別與理解的方法,其特征在于, 所述領(lǐng)域知識(shí)由一組EBNF知識(shí)描述子預(yù)定義,以此驅(qū)動(dòng)與引導(dǎo)在所輸入的工程 圖中對(duì)特定工程對(duì)象的自動(dòng)識(shí)別、理解過程,它包括工程對(duì)象圖元組合顯式表 達(dá);包括多視圖、圖形省略、圖形引用、圖形繼承、圖形映射、尺寸約束在內(nèi)的 隱式表達(dá)。
全文摘要
本發(fā)明公開了一種工程圖自動(dòng)識(shí)別與理解的方法,該方法包括從用戶接受CAD電子工程圖輸入,并根據(jù)所輸入工程圖類型自動(dòng)選擇包含該工程領(lǐng)域知識(shí)描述的知識(shí)表示文件,由知識(shí)處理器讀取該知識(shí)表示文件中的工程對(duì)象圖形定義及對(duì)象間關(guān)聯(lián)約束后,交由對(duì)象識(shí)別器在所輸入工程圖中快速搜索及識(shí)別指定對(duì)象。本發(fā)明所述的根據(jù)計(jì)算機(jī)程序?qū)崿F(xiàn)對(duì)工程圖自動(dòng)識(shí)別與理解的方法,能夠使計(jì)算機(jī)有效識(shí)別與理解復(fù)雜的工程圖,結(jié)果精確、可靠性高,從而解決計(jì)算機(jī)程序在工程圖的識(shí)別與理解領(lǐng)域效率低下的難題。
文檔編號(hào)G06F17/50GK101162480SQ20071013380
公開日2008年4月16日 申請(qǐng)日期2007年10月9日 優(yōu)先權(quán)日2007年10月9日
發(fā)明者楊華飛, 蔡士杰, 通 路 申請(qǐng)人:南京大學(xué)