設(shè)計(jì)圖紙拆分方法
【專利摘要】本發(fā)明提供一種設(shè)計(jì)圖紙拆分方法,其根據(jù)各預(yù)設(shè)圖框的世界坐標(biāo)范圍,并通過將圖框內(nèi)各元素的塊內(nèi)坐標(biāo)轉(zhuǎn)換為世界坐標(biāo),以確定單個(gè)圖框中所需拆分的元素,剔除其他元素,進(jìn)而將把單個(gè)圖框內(nèi)的所有元素單獨(dú)拆分成一個(gè)個(gè)單一的DWG格式文件,實(shí)現(xiàn)了采取不炸開塊的方式在圖紙效果不改變的基礎(chǔ)上的設(shè)計(jì)圖紙拆分工作,且這種不炸開塊的方式也提高了拆分的效率,另外,該方法在拆分圖紙之前對(duì)設(shè)計(jì)圖紙進(jìn)行了修復(fù)清理,這大大減少了設(shè)計(jì)圖紙?jiān)诓煌腃AD版本中可能會(huì)無法正常打開的情況。
【專利說明】設(shè)計(jì)圖紙拆分方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及建筑設(shè)計(jì)領(lǐng)域,尤其涉及一種設(shè)計(jì)圖紙拆分方法。
【背景技術(shù)】
[0002]自從AutoCAD面世以來,其以普及的DWG文件格式、完善的圖形繪制功能及強(qiáng)大的圖形編輯處理功能在各行業(yè)計(jì)算機(jī)輔助設(shè)計(jì)中發(fā)揮著舉足輕重的作用。對(duì)其進(jìn)行二次開發(fā)可以繼承其強(qiáng)大的圖形數(shù)據(jù)處理接口,根據(jù)更深層次的需求擴(kuò)展其繪圖功能,以更深層次、高精度、高效率地時(shí)行計(jì)算機(jī)輔助設(shè)計(jì)。
[0003]現(xiàn)在建筑設(shè)計(jì)行業(yè)主要的設(shè)計(jì)圖紙繪制工具就是AutoCAD,AutoCAD功能非常強(qiáng)大,但由于計(jì)算機(jī)的品牌與配置的不同,決定著AutoCAD能否發(fā)揮其巨大的功能。一臺(tái)計(jì)算機(jī)能流暢地處理圖,而另一臺(tái)計(jì)算機(jī)可能會(huì)因圖紙過大,往往出現(xiàn)需要修復(fù)、圖紙卡死、黑屏等打不開圖紙的現(xiàn)象,在設(shè)計(jì)院將設(shè)計(jì)圖紙?zhí)峤唤o相關(guān)單位時(shí),這種現(xiàn)象對(duì)設(shè)計(jì)院來說會(huì)導(dǎo)致不可預(yù)知的后果。
[0004]為了應(yīng)對(duì)這種現(xiàn)象,在畫圖的過程中需要把圖紙大小限定起來,這樣微小的圖紙也可以在任何計(jì)算機(jī)上流暢打開。但這就意味著增加了設(shè)計(jì)師對(duì)圖紙的維護(hù)量,重復(fù)的內(nèi)容需要重復(fù)圖畫,而多個(gè)圖紙之間的關(guān)系需要用外參,這樣無形中增加了設(shè)計(jì)師的工作量,降低了設(shè)計(jì)效率。
[0005]另一種解決方法是通過將設(shè)計(jì)圖紙進(jìn)行拆分,即把大圖拆分成η多個(gè)微小的圖紙。由于通過設(shè)計(jì)師手動(dòng)拆分圖紙工作量浩大,且圖紙效果易發(fā)生變形,因此設(shè)計(jì)圖紙拆分軟件便應(yīng)運(yùn)而生。但現(xiàn)有的設(shè)計(jì)圖紙拆分軟件大多只能完成設(shè)計(jì)院的部分要求,由于實(shí)現(xiàn)的原理是把塊炸開,這樣很容易導(dǎo)致圖紙的效果變形,無法達(dá)到設(shè)計(jì)師預(yù)期的效果,另外,由于圖紙的版本的不確定性,很多圖紙?jiān)诓煌腃AD版本中可能會(huì)出現(xiàn)無法正常打開的問題,而現(xiàn)有的設(shè)計(jì)圖紙拆分軟件并沒有解決這種問題的功能。
【發(fā)明內(nèi)容】
[0006]本發(fā)明提供一種設(shè)計(jì)圖紙拆分方法,以采取不炸開塊的方式在圖紙效果不改變的基礎(chǔ)上進(jìn)行設(shè)計(jì)圖紙的拆分,且提高了拆分效率。
[0007]為了實(shí)現(xiàn)上述目的,本發(fā)明提供一種設(shè)計(jì)圖紙拆分方法,以按照預(yù)設(shè)圖框?qū)υO(shè)計(jì)圖紙進(jìn)行拆分,具體包括:
[0008]步驟一:對(duì)設(shè)計(jì)圖紙進(jìn)行修復(fù)清理;
[0009]步驟二:在設(shè)計(jì)圖紙空間中搜索各預(yù)設(shè)圖框,以獲取各圖框的坐標(biāo)范圍;
[0010]步驟三:對(duì)各圖框進(jìn)行外部參照的綁定;
[0011]步驟四:按照?qǐng)D框拆分設(shè)計(jì)圖紙;
[0012]步驟五:重復(fù)步驟四,直至設(shè)計(jì)圖紙中所有圖框均拆分完畢。
[0013]進(jìn)一步的,所述步驟一具體包括:
[0014]步驟11:清除注釋比例;
[0015]步驟12:修復(fù)設(shè)計(jì)圖紙;
[0016]步驟13:清理無用數(shù)據(jù)。
[0017]進(jìn)一步的,所述步驟二具體包括:
[0018]步驟21:根據(jù)塊名和圖層搜索各預(yù)設(shè)圖框;
[0019]步驟22:獲取各圖框的大小,并確定其世界坐標(biāo)范圍。
[0020]進(jìn)一步的,所述步驟三具體包括:
[0021]步驟31:使用批量綁定指令一次性綁定圖紙中的全部外部參照;
[0022]步驟32:判斷全部外部參照是否全部綁定成功,若成功則進(jìn)行步驟四,否則進(jìn)行步驟33 ;
[0023]步驟33:使用單個(gè)綁定指令綁定圖紙中尚未綁定的單個(gè)外部參照;
[0024]步驟34:判斷該外部單數(shù)是否綁定成功,若成功則回到步驟32,否則進(jìn)行步驟35:
[0025]步驟35:清理并修復(fù)外部參照文件;
[0026]步驟36:使用單個(gè)綁定指令綁定該外部參照;
[0027]步驟37:判斷該外部參照是否綁定成功,若成功則回到步驟32,否則進(jìn)行步驟38 ;
[0028]步驟38:通過手動(dòng)綁定方式綁定該外部參照;
[0029]步驟39:判斷該外部參照是否手動(dòng)綁定成功,若成功則回到步驟32,否則返回錯(cuò)誤值。
[0030]進(jìn)一步的,所述步驟四具體包括:
[0031]步驟41:將圖框所在的區(qū)域作為裁剪區(qū)域;
[0032]步驟42:判斷裁剪區(qū)域中的單個(gè)元素是否為視口,若為視口則進(jìn)行步驟43,否則進(jìn)行步驟44 ;
[0033]步驟43:將該視口映射在圖紙模型空間的區(qū)域也作為裁剪區(qū)域;
[0034]步驟44:判斷裁剪區(qū)域中的單個(gè)元素是否為塊,若為塊則進(jìn)行步驟45,否則進(jìn)行步驟47 ;
[0035]步驟45:根據(jù)該塊的旋轉(zhuǎn)角度和縮放比例,換算得到其塊內(nèi)坐標(biāo)系映射到世界坐標(biāo)的轉(zhuǎn)換矩陣;
[0036]步驟46:根據(jù)所述轉(zhuǎn)換矩陣將單個(gè)元素的塊內(nèi)坐標(biāo)轉(zhuǎn)換為世界坐標(biāo);
[0037]步驟47:根據(jù)交叉塊規(guī)則判斷該元素是否存在于所述裁剪區(qū)域的世界坐標(biāo)范圍內(nèi),若存在則作為待裁剪塊保留,否則將其從該圖框中剔除;
[0038]步驟48:重復(fù)步驟42至步驟47,直至確定所有待裁剪塊。
[0039]進(jìn)一步的,所述交叉塊規(guī)則包括:
[0040]當(dāng)一元素位于裁剪區(qū)域內(nèi)時(shí),保留該元素;
[0041]當(dāng)一元素與裁剪區(qū)域交叉,即有共同區(qū)域時(shí),保留該元素;
[0042]當(dāng)一或多個(gè)相同塊與裁剪區(qū)域交叉,該塊中存在另一元素時(shí),則判斷該元素是否與裁剪區(qū)域交叉,若交叉則保留該塊與該元素;反之則保留該塊,剔除該元素。
[0043]與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
[0044]本發(fā)明提供的設(shè)計(jì)圖紙拆分方法根據(jù)各預(yù)設(shè)圖框的世界坐標(biāo)范圍,并通過將圖框內(nèi)各元素的塊內(nèi)坐標(biāo)轉(zhuǎn)換為世界坐標(biāo),以確定單個(gè)圖框中所需拆分的元素,剔除其他元素,進(jìn)而將把單個(gè)圖框內(nèi)的所有元素單獨(dú)拆分成一個(gè)個(gè)單一的DWG格式文件,實(shí)現(xiàn)了采取不炸開塊的方式在圖紙效果不改變的基礎(chǔ)上的設(shè)計(jì)圖紙拆分工作,且這種不炸開塊的方式也提高了拆分的效率,另外,該方法在拆分圖紙之前對(duì)設(shè)計(jì)圖紙進(jìn)行了修復(fù)清理,這大大減少了設(shè)計(jì)圖紙?jiān)诓煌腃AD版本中可能會(huì)無法正常打開的情況。
【專利附圖】
【附圖說明】
[0045]下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步說明:
[0046]圖1為本發(fā)明實(shí)施例提供的設(shè)計(jì)圖紙拆分方法的流程示意圖;
[0047]圖2為本發(fā)明實(shí)施例提供的設(shè)計(jì)圖紙拆分方法中步驟一的具體流程示意圖;
[0048]圖3為本發(fā)明實(shí)施例提供的設(shè)計(jì)圖紙拆分方法中步驟二的具體流程示意圖;
[0049]圖4為本發(fā)明實(shí)施例提供的設(shè)計(jì)圖紙拆分方法中步驟三的具體流程示意圖;
[0050]圖5為本發(fā)明實(shí)施例提供的設(shè)計(jì)圖紙拆分方法中步驟四的具體流程示意圖;
[0051]圖6為本發(fā)明實(shí)施例提供的設(shè)計(jì)圖紙拆分方法中交叉塊規(guī)則的第一種情況示意圖;
[0052]圖7為本發(fā)明實(shí)施例提供的設(shè)計(jì)圖紙拆分方法中交叉塊規(guī)則的第二種情況示意圖;
[0053]圖8為本發(fā)明實(shí)施例提供的設(shè)計(jì)圖紙拆分方法中交叉塊規(guī)則的第三種情況示意圖;
[0054]圖9為本發(fā)明實(shí)施例提供的設(shè)計(jì)圖紙拆分方法中交叉塊規(guī)則的第四種情況示意圖;
[0055]圖10為本發(fā)明實(shí)施例提供的設(shè)計(jì)圖紙拆分方法中交叉塊規(guī)則的第五種情況示意圖。
【具體實(shí)施方式】
[0056]以下結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明提出的設(shè)計(jì)圖紙拆分方法作進(jìn)一步詳細(xì)說明。根據(jù)下面說明和權(quán)利要求書,本發(fā)明的優(yōu)點(diǎn)和特征將更清楚。
[0057]本發(fā)明的核心思想在于,提供一種設(shè)計(jì)圖紙拆分方法,其根據(jù)各預(yù)設(shè)圖框的世界坐標(biāo)范圍,并通過將圖框內(nèi)各元素的塊內(nèi)坐標(biāo)轉(zhuǎn)換為世界坐標(biāo),以確定單個(gè)圖框中所需拆分的元素,剔除其他元素,進(jìn)而將把單個(gè)圖框內(nèi)的所有元素單獨(dú)拆分成一個(gè)個(gè)單一的DWG格式文件,實(shí)現(xiàn)了采取不炸開塊的方式在圖紙效果不改變的基礎(chǔ)上的設(shè)計(jì)圖紙拆分工作,且這種不炸開塊的方式也提高了拆分的效率,另外,該方法在拆分圖紙之前對(duì)設(shè)計(jì)圖紙進(jìn)行了修復(fù)清理,這大大減少了設(shè)計(jì)圖紙?jiān)诓煌腃AD版本中可能會(huì)無法正常打開的情況。
[0058]請(qǐng)參考圖1至8,圖1為本發(fā)明實(shí)施例提供的設(shè)計(jì)圖紙拆分方法的流程示意圖;圖2為本發(fā)明實(shí)施例提供的設(shè)計(jì)圖紙拆分方法中步驟一的具體流程示意圖;圖3為本發(fā)明實(shí)施例提供的設(shè)計(jì)圖紙拆分方法中步驟二的具體流程示意圖;圖4為本發(fā)明實(shí)施例提供的設(shè)計(jì)圖紙拆分方法中步驟三的具體流程示意圖;圖5為本發(fā)明實(shí)施例提供的設(shè)計(jì)圖紙拆分方法中步驟四的具體流程示意圖;圖6為本發(fā)明實(shí)施例提供的設(shè)計(jì)圖紙拆分方法中交叉塊規(guī)則的第一種情況示意圖;圖7為本發(fā)明實(shí)施例提供的設(shè)計(jì)圖紙拆分方法中交叉塊規(guī)則的第二種情況示意圖;圖8為本發(fā)明實(shí)施例提供的設(shè)計(jì)圖紙拆分方法中交叉塊規(guī)則的第三種情況示意圖;圖9為本發(fā)明實(shí)施例提供的設(shè)計(jì)圖紙拆分方法中交叉塊規(guī)則的第四種情況示意圖;圖10為本發(fā)明實(shí)施例提供的設(shè)計(jì)圖紙拆分方法中交叉塊規(guī)則的第五種情況示意圖。
[0059]如圖1所示,本發(fā)明實(shí)施例提供一種設(shè)計(jì)圖紙拆分方法,在本實(shí)施例中,該設(shè)計(jì)圖紙自動(dòng)拆分方法主要通過軟件實(shí)現(xiàn),采取的技術(shù)路線為Autodesk公司提供的ARX(Autc)CADRuntime extens1n)技術(shù)與微軟公司提供的C#.Net技術(shù)深度結(jié)合及一套精密算法相融合的技術(shù)路線,可在微軟Windows系統(tǒng)上完美運(yùn)行的一套軟件程序。該方法按照預(yù)設(shè)圖框?qū)υO(shè)計(jì)圖紙進(jìn)行拆分,具體包括:
[0060]步驟一:對(duì)設(shè)計(jì)圖紙進(jìn)行修復(fù)清理;
[0061]步驟二:在設(shè)計(jì)圖紙空間中搜索各預(yù)設(shè)圖框,以獲取各圖框的坐標(biāo)范圍;
[0062]步驟三:對(duì)各圖框進(jìn)行外部參照的綁定;
[0063]步驟四:按照?qǐng)D框拆分設(shè)計(jì)圖紙;
[0064]步驟五:重復(fù)步驟四,直至設(shè)計(jì)圖紙中所有圖框均拆分完畢。
[0065]進(jìn)一步的,如圖2所示,所述步驟一具體包括:
[0066]步驟11:使用ScaleListEdit清除注釋比例;
[0067]步驟12:使用Audit修復(fù)設(shè)計(jì)圖紙;
[0068]步驟13:調(diào)用Puge命令清理無用數(shù)據(jù)。
[0069]進(jìn)一步的,如圖3所示,所述步驟二具體包括:
[0070]步驟21:使用AcadSelectSet對(duì)象的Select方法根據(jù)塊名和圖層搜索各預(yù)設(shè)圖框;
[0071]步驟22:獲取各圖框的大小,并確定其世界坐標(biāo)范圍。
[0072]進(jìn)一步的,如圖4所示,所述步驟三具體包括:
[0073]步驟31:使用批量綁定指令(_xef B*) —次性綁定圖紙中的全部外部參照;
[0074]步驟32:判斷全部外部參照是否全部綁定成功,若成功則進(jìn)行步驟四,否則進(jìn)行步驟33 ;
[0075]步驟33:使用單個(gè)綁定指令(_xef)綁定圖紙中尚未綁定的單個(gè)外部參照;
[0076]步驟34:判斷該外部單數(shù)是否綁定成功,若成功則回到步驟32,否則進(jìn)行步驟35:
[0077]步驟35:打開外部參照文件,清理修復(fù)外部參照文件后保存并關(guān)閉文件;
[0078]步驟36:使用單個(gè)綁定指令(-xef)綁定該外部參照;
[0079]步驟37:判斷該外部參照是否綁定成功,若成功則回到步驟32,否則進(jìn)行步驟38 ;
[0080]步驟38:通過手動(dòng)綁定方式綁定該外部參照;
[0081]步驟39:判斷該外部參照是否手動(dòng)綁定成功,若成功則回到步驟32,否則返回錯(cuò)誤值。
[0082]進(jìn)一步的,如圖5所示,所述步驟四具體包括:
[0083]步驟41:將圖框所在的區(qū)域作為裁剪區(qū)域;
[0084]步驟42:判斷裁剪區(qū)域中的單個(gè)元素是否為視口,若為視口則進(jìn)行步驟43,否則進(jìn)行步驟44 ;
[0085]步驟43:將該視口映射在圖紙模型空間的區(qū)域也作為裁剪區(qū)域;
[0086]步驟44:判斷裁剪區(qū)域中的單個(gè)元素是否為塊,若為塊則進(jìn)行步驟45,否則進(jìn)行步驟47 ;
[0087]步驟45:根據(jù)該塊的旋轉(zhuǎn)角度和縮放比例,換算得到其塊內(nèi)坐標(biāo)系映射到世界坐標(biāo)的轉(zhuǎn)換矩陣;
[0088]步驟46:根據(jù)所述轉(zhuǎn)換矩陣將單個(gè)元素的塊內(nèi)坐標(biāo)轉(zhuǎn)換為世界坐標(biāo);
[0089]步驟47:根據(jù)交叉塊規(guī)則判斷該元素是否存在于所述裁剪區(qū)域的世界坐標(biāo)范圍內(nèi),若存在則作為待裁剪塊保留,否則將其從該圖框中剔除;
[0090]步驟48:重復(fù)步驟42至步驟47,直至確定所有待裁剪塊。
[0091]關(guān)于上述塊的處理說明:在CAD中的可見元素分為2類,實(shí)體元素和塊參照。塊參照可以看作一個(gè)容器,里面放著各種實(shí)體元素。圖紙的模型空間和圖紙(布局)空間也可以看做一個(gè)特殊的塊參照。塊參照元素是塊定義的一個(gè)實(shí)例,一個(gè)塊定義可以有多個(gè)塊參照,每個(gè)塊參照內(nèi)部結(jié)構(gòu)都是一樣的,但位置、大小、角度等參數(shù)可以不一樣。每個(gè)塊內(nèi)都有一個(gè)塊內(nèi)坐標(biāo)系,當(dāng)塊發(fā)生旋轉(zhuǎn)和縮放時(shí),塊內(nèi)坐標(biāo)系與圖紙的世界坐標(biāo)系是不一致的,此時(shí)需要通過一個(gè)轉(zhuǎn)換矩陣來進(jìn)行坐標(biāo)變化,否則無法通過坐標(biāo)判斷塊內(nèi)的元素是否存在于圖框范圍內(nèi)。在CAD圖紙中存在世界坐標(biāo)系與自定義坐標(biāo)系兩種,其中世界坐標(biāo)系是與我們物理世界統(tǒng)一的坐標(biāo)體系,而自定義坐標(biāo)系則是基于世界坐標(biāo)系偏移、旋轉(zhuǎn)、縮放后得到的坐標(biāo)系。在本發(fā)明進(jìn)行開發(fā)時(shí),為了便于程序處理,發(fā)明人將塊內(nèi)坐標(biāo)系也當(dāng)作自定義坐標(biāo)系處理,通過計(jì)算塊的插入點(diǎn)以及旋轉(zhuǎn)角度、縮放比例等參數(shù)可以得到塊內(nèi)坐標(biāo)系映射到世界坐標(biāo)系的轉(zhuǎn)換矩陣,從而將元素的塊內(nèi)坐標(biāo)轉(zhuǎn)換為其在真實(shí)的世界的投影坐標(biāo),以判斷元素是否存在于裁剪區(qū)域內(nèi)。
[0092]關(guān)于上述視口的處理說明:設(shè)計(jì)總圖及一些其他特定圖紙或者跟據(jù)公司的規(guī)定和設(shè)計(jì)師的習(xí)慣會(huì)把圖框插入到圖紙的布局空間,并通過視口來透視圖紙模型空間的設(shè)計(jì)內(nèi)容,一張?jiān)O(shè)計(jì)圖紙中含有至少一個(gè)視口。此時(shí)在圖紙空間可以看到經(jīng)過視口裁剪旋轉(zhuǎn)縮放后的模型空間內(nèi)容,但模型空間元素并不是被復(fù)制到圖紙(布局)空間,而是通過視口的透視可以看到而已。對(duì)此情況需要找到視口元素,并根據(jù)視口與模型空間的對(duì)應(yīng)關(guān)系,找到對(duì)應(yīng)的模型空間區(qū)域,然后在模型空間中根據(jù)視口對(duì)應(yīng)的裁剪區(qū)域進(jìn)行元素過濾。
[0093]進(jìn)一步的,所述交叉塊規(guī)則包括:
[0094]當(dāng)一元素位于裁剪區(qū)域內(nèi)時(shí),保留該元素;
[0095]當(dāng)一元素與裁剪區(qū)域交叉,即有共同區(qū)域時(shí),保留該元素,具體如圖6所示,元素A與裁剪區(qū)域交叉,則保留元素A ;
[0096]當(dāng)一或多個(gè)相同塊與裁剪區(qū)域交叉,該塊中存在另一元素時(shí),則判斷該元素是否與裁剪區(qū)域交叉,若交叉則保留該塊與該元素;反之則保留該塊,剔除該元素。
[0097]對(duì)于該規(guī)則的第三點(diǎn),具體地,當(dāng)一個(gè)塊與裁剪區(qū)域交叉時(shí),如圖7所示,裁剪區(qū)域與塊B交叉,且塊B中有元素C也在交叉區(qū)域內(nèi),則保留塊B與元素C ;如圖8所示,裁剪區(qū)域與塊B交叉,但塊B中的元素C不在交叉的區(qū)域內(nèi),則保留塊B,剔除元素C。當(dāng)多個(gè)塊與裁剪區(qū)域交叉時(shí),如圖9所示,裁剪區(qū)域與兩個(gè)塊B交叉,塊B中有元素C,有一個(gè)塊B中的元素C在交叉區(qū)域內(nèi),則保留塊B與元素C ;如圖10所示,裁剪區(qū)域與兩個(gè)塊B交叉,塊B中有元素C,但兩個(gè)塊B中的元素C都不在交叉區(qū)域內(nèi),則保留塊B,剔除元素C。
[0098]進(jìn)一步的,當(dāng)一個(gè)塊中還存在包含元素的塊時(shí),同樣依照上述判斷原則,元素或塊與裁剪區(qū)域有交叉則保留,無交叉則剔除。
[0099]綜上所述,本發(fā)明實(shí)施例提供設(shè)計(jì)圖紙拆分方法具體有以下有益效果:
[0100]I)能夠根據(jù)預(yù)設(shè)自動(dòng)識(shí)別圖框,并針對(duì)圖框邊界進(jìn)行拆分,拆離剔除圖框邊界外的內(nèi)容,簡(jiǎn)化了拆分步驟,增加了拆分效率及效果;
[0101]2)對(duì)于含有外部參照的圖紙先進(jìn)行綁定,然后再進(jìn)行拆分,保證了拆分的完整性;
[0102]3)對(duì)于含有塊(含外部參照)或嵌套塊的設(shè)計(jì)圖紙,且塊中的元素超出了圖框范圍的按照?qǐng)D框范圍進(jìn)行裁剪,而不是將圖塊炸開進(jìn)行處理,與圖框交叉的元素或塊則保留,使拆分過程更流暢;
[0103]4)對(duì)于在圖紙(布局)空間套圖框的圖紙,保留圖紙(布局)空間圖框范圍內(nèi)的內(nèi)容,并保留圖紙空間視口所對(duì)應(yīng)的圖紙模型空間元素,對(duì)于超出視口范圍的模型空間元素進(jìn)行裁剪,同樣保證了拆分的完整性;
[0104]5)在拆分前對(duì)所需拆分的設(shè)計(jì)圖紙進(jìn)行清理修復(fù),拆分后的文件總大小基本等于或稍大于源文件大小,避免了出現(xiàn)“拆分文件大小之和=源文件大小*拆分文件數(shù)量”的情況;
[0105]6)通過該方法中的錯(cuò)誤自處理方法(如綁定外參時(shí)的多層次綁定方法)的有效地進(jìn)行了容錯(cuò)處理,對(duì)于絕大部分設(shè)計(jì)圖紙能夠忽略圖紙中的異常因素,以保證在絕大多數(shù)情況下能正常拆分圖紙,并可以長(zhǎng)時(shí)間自動(dòng)化處理,減少人工干預(yù)次數(shù);
[0106]7)在以上前提的基礎(chǔ)上,保證了一定的拆分速度,對(duì)于2M左右含有10張圖紙的DffG文件,其總體拆分時(shí)間不大于3分鐘。
[0107]顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些改動(dòng)和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
【權(quán)利要求】
1.一種設(shè)計(jì)圖紙拆分方法,其特征在于,按照預(yù)設(shè)圖框?qū)υO(shè)計(jì)圖紙進(jìn)行拆分,具體包括: 步驟一:對(duì)設(shè)計(jì)圖紙進(jìn)行修復(fù)清理; 步驟二:在設(shè)計(jì)圖紙空間中搜索各預(yù)設(shè)圖框,以獲取各圖框的坐標(biāo)范圍; 步驟三:對(duì)各圖框進(jìn)行外部參照的綁定; 步驟四:按照?qǐng)D框拆分設(shè)計(jì)圖紙; 步驟五:重復(fù)步驟四,直至設(shè)計(jì)圖紙中所有圖框均拆分完畢。
2.根據(jù)權(quán)利要求1所述的設(shè)計(jì)圖紙拆分方法,其特征在于,所述步驟一具體包括: 步驟11:清除注釋比例; 步驟12:修復(fù)設(shè)計(jì)圖紙; 步驟13:清理無用數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的設(shè)計(jì)圖紙拆分方法,其特征在于,所述步驟二具體包括: 步驟21:根據(jù)塊名和圖層搜索各預(yù)設(shè)圖框; 步驟22:獲取各圖框的大小,并確定其世界坐標(biāo)范圍。
4.根據(jù)權(quán)利要求1所述的設(shè)計(jì)圖紙拆分方法,其特征在于,所述步驟三具體包括: 步驟31:使用批量綁定指令一次性綁定圖紙中的全部外部參照; 步驟32:判斷全部外部參照是否全部綁定成功,若成功則進(jìn)行步驟四,否則進(jìn)行步驟33 ; 步驟33:使用單個(gè)綁定指令綁定圖紙中尚未綁定的單個(gè)外部參照; 步驟34:判斷該外部單數(shù)是否綁定成功,若成功則回到步驟32,否則進(jìn)行步驟35: 步驟35:清理并修復(fù)外部參照文件; 步驟36:使用單個(gè)綁定指令綁定該外部參照; 步驟37:判斷該外部參照是否綁定成功,若成功則回到步驟32,否則進(jìn)行步驟38 ; 步驟38:通過手動(dòng)綁定方式綁定該外部參照; 步驟39:判斷該外部參照是否手動(dòng)綁定成功,若成功則回到步驟32,否則返回錯(cuò)誤值。
5.根據(jù)權(quán)利要求1所述的設(shè)計(jì)圖紙拆分方法,其特征在于,所述步驟四具體包括: 步驟41:將圖框所在的區(qū)域作為裁剪區(qū)域; 步驟42:判斷裁剪區(qū)域中的單個(gè)元素是否為視口,若為視口則進(jìn)行步驟43,否則進(jìn)行步驟44 ; 步驟43:將該視口映射在圖紙模型空間的區(qū)域也作為裁剪區(qū)域; 步驟44:判斷裁剪區(qū)域中的單個(gè)元素是否為塊,若為塊則進(jìn)行步驟45,否則進(jìn)行步驟47 ; 步驟45:根據(jù)該塊的旋轉(zhuǎn)角度和縮放比例,換算得到其塊內(nèi)坐標(biāo)系映射到世界坐標(biāo)的轉(zhuǎn)換矩陣; 步驟46:根據(jù)所述轉(zhuǎn)換矩陣將單個(gè)元素的塊內(nèi)坐標(biāo)轉(zhuǎn)換為世界坐標(biāo); 步驟47:根據(jù)交叉塊規(guī)則判斷該元素是否存在于所述裁剪區(qū)域的世界坐標(biāo)范圍內(nèi),若存在則作為待裁剪塊保留,否則將其從該圖框中剔除; 步驟48:重復(fù)步驟42至步驟47,直至確定所有待裁剪塊。
6.根據(jù)權(quán)利要求5所述的設(shè)計(jì)圖紙拆分方法,其特征在于,所述交叉塊規(guī)則包括: 當(dāng)一元素位于裁剪區(qū)域內(nèi)時(shí),保留該元素; 當(dāng)一元素與裁剪區(qū)域交叉,即有共同區(qū)域時(shí),保留該元素; 當(dāng)一或多個(gè)相同塊與裁剪區(qū)域交叉,該塊中存在另一元素時(shí),則判斷該元素是否與裁剪區(qū)域交叉,若交叉則保留該塊與該元素;反之則保留該塊,剔除該元素。
【文檔編號(hào)】G06F17/50GK104408269SQ201410790991
【公開日】2015年3月11日 申請(qǐng)日期:2014年12月17日 優(yōu)先權(quán)日:2014年12月17日
【發(fā)明者】王婷玉 申請(qǐng)人:上海天華建筑設(shè)計(jì)有限公司