本發(fā)明涉及矢量圖技術(shù)領(lǐng)域,尤其涉及一種cad矢量圖自動(dòng)切圖方法及裝置。
背景技術(shù):
cad矢量圖的矢量元素(例如線條或點(diǎn)等)一般較多且密集,因此如果通過縮小cad矢量圖來打印的話會(huì)造成打印模糊不清的現(xiàn)象?,F(xiàn)有的做法都是由業(yè)務(wù)人員通過一系列反復(fù)的步驟(框選、移動(dòng)、套圖框等),將cad矢量圖切割成一份份可打印的標(biāo)準(zhǔn)圖紙(例如a4、a3或a5等圖紙),然后再逐一進(jìn)行打印。但是采用人工切圖的方式對(duì)cad矢量圖進(jìn)行切圖打印,效率比較低下,而且容易因?yàn)槿藶榈恼`操作而影響到切圖的質(zhì)量,造成切圖質(zhì)量下降。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)上述問題,本發(fā)明的目的在于提供一種cad矢量圖自動(dòng)切圖方法及裝置,通過應(yīng)用該方法可以實(shí)現(xiàn)對(duì)cad矢量圖的自動(dòng)切圖,從而可以提高切圖的效率并可以提高切圖質(zhì)量。
為了實(shí)現(xiàn)上述目的,本發(fā)明一方面提供了一種cad矢量圖自動(dòng)切圖方法,其包括以下步驟:獲取目標(biāo)cad矢量圖;接收用戶輸入的切圖生成命令,并根據(jù)所述切圖生成命令顯示多個(gè)預(yù)設(shè)的用于對(duì)所述目標(biāo)cad矢量圖進(jìn)行切圖的切圖模型,以供用戶進(jìn)行選擇操作;根據(jù)用戶選擇的切圖模型在所述目標(biāo)cad矢量圖中生成與該切圖模型相對(duì)應(yīng)的多個(gè)截圖框,以將所述目標(biāo)cad矢量圖分割成多個(gè)相應(yīng)的截圖框區(qū)域;根據(jù)所述切圖模型以及獲取到的所述截圖框生成與所述截圖框相對(duì)應(yīng)的矢量圖切圖。
進(jìn)一步地,所述切圖模型包括截圖框區(qū)域?qū)挾扰c高度、切圖框模板文件路徑、切圖框區(qū)域?qū)挾扰c高度、縮放系數(shù)以及圖框信息。
進(jìn)一步地,所述步驟“根據(jù)用戶選擇的切圖模型在所述目標(biāo)cad矢量圖中生成與該切圖模型相對(duì)應(yīng)的多個(gè)截圖框,以將所述目標(biāo)cad矢量圖分割成多個(gè)相應(yīng)的截圖框區(qū)域”具體為:
遍歷所述目標(biāo)cad矢量圖,以獲取所述目標(biāo)cad矢量圖中所有的矢量元素的坐標(biāo)點(diǎn);
對(duì)所有矢量元素的坐標(biāo)點(diǎn)進(jìn)行比較分析,以獲取所述矢量元素坐標(biāo)點(diǎn)中的x坐標(biāo)及y坐標(biāo)的最小、最大值:
根據(jù)獲取到的x坐標(biāo)及y坐標(biāo)的最小、最大值,得到所述目標(biāo)cad矢量圖的矢量圖切圖區(qū)域,并得到所述矢量圖切圖區(qū)域的寬度與高度;
獲取所述切圖模型中截圖框區(qū)域的高度與寬度,并根據(jù)所述矢量圖切圖區(qū)域的寬度與高度以及所述截圖框區(qū)域的高度與寬度,得到所述矢量圖切圖區(qū)域中的截圖框的列數(shù)與行數(shù);
以所述矢量圖切圖區(qū)域的左上角坐標(biāo)點(diǎn)、右上角坐標(biāo)點(diǎn)、左下角坐標(biāo)點(diǎn)或右下角坐標(biāo)點(diǎn)為截圖框生成起始點(diǎn),并根據(jù)獲取到的截圖框的列數(shù)與行數(shù)以及截圖框區(qū)域的高度與寬度在所述矢量圖切圖區(qū)域上依次生成所述截圖框。
進(jìn)一步地,所述步驟“根據(jù)用戶選擇的切圖模型在所述目標(biāo)cad矢量圖中生成與該切圖模型相對(duì)應(yīng)的多個(gè)截圖框,以將所述目標(biāo)cad矢量圖分割成多個(gè)相應(yīng)的截圖框區(qū)域”具體為:
遍歷所述目標(biāo)cad矢量圖,以獲取所述目標(biāo)cad矢量圖中所有的矢量元素的坐標(biāo)點(diǎn);
對(duì)所有矢量元素的坐標(biāo)點(diǎn)進(jìn)行比較分析,以獲取所述矢量元素坐標(biāo)點(diǎn)中的x坐標(biāo)及y坐標(biāo)的最小、最大值:
根據(jù)獲取到的x坐標(biāo)及y坐標(biāo)的最小、最大值,得到所述目標(biāo)cad矢量圖的矢量圖切圖區(qū)域,并得到所述矢量圖切圖區(qū)域的寬度與高度;
獲取所述切圖模型中截圖框區(qū)域的高度與寬度,并根據(jù)所述矢量圖切圖區(qū)域的寬度與高度以及所述截圖框區(qū)域的高度與寬度,得到所述矢量圖切圖區(qū)域中的截圖框的列數(shù)與行數(shù);
以所述矢量圖切圖區(qū)域的左上角坐標(biāo)點(diǎn)、右上角坐標(biāo)點(diǎn)、左下角坐標(biāo)點(diǎn)或右下角坐標(biāo)點(diǎn)為截圖框生成起始點(diǎn),并根據(jù)獲取到的截圖框的列數(shù)與行數(shù)以及截圖框區(qū)域的高度與寬度在所述矢量圖切圖區(qū)域上依次生成所述截圖框。
進(jìn)一步地,所述步驟“根據(jù)所述切圖模型以及獲取到的所述截圖框生成與所述截圖框相對(duì)應(yīng)的矢量圖切圖”具體為:
根據(jù)獲取到的所述截圖框?qū)?duì)應(yīng)的截圖框區(qū)域復(fù)制遷移到相應(yīng)的位置上,并根據(jù)所述切圖模型中的切圖框區(qū)域?qū)挾扰c高度在每一個(gè)所述截圖框區(qū)域的復(fù)制遷移位置上對(duì)應(yīng)生成切圖框區(qū)域;
根據(jù)所述切圖模型在每一個(gè)所述切圖框區(qū)域上對(duì)應(yīng)生成矢量圖切圖。
進(jìn)一步地,所述步驟“根據(jù)獲取到的所述截圖框?qū)?duì)應(yīng)的截圖框區(qū)域復(fù)制遷移到相應(yīng)的位置上,并根據(jù)所述切圖模型中的切圖框區(qū)域?qū)挾扰c高度在每一個(gè)所述截圖框區(qū)域的復(fù)制遷移位置上對(duì)應(yīng)生成切圖框區(qū)域”具體為:
對(duì)每一個(gè)截圖框進(jìn)行排序;
按照截圖框的排序依次復(fù)制與截圖框?qū)?yīng)的截圖框區(qū)域,并將復(fù)制的截圖框區(qū)域按照所述切圖模型中的縮放系數(shù)進(jìn)行縮放;
將縮放后的截圖框區(qū)域復(fù)制遷移到相應(yīng)的位置上,并根據(jù)所述切圖模型中的切圖框區(qū)域?qū)挾扰c高度在每一個(gè)所述截圖框區(qū)域的復(fù)制遷移位置上對(duì)應(yīng)生成切圖框區(qū)域。
進(jìn)一步地,所述目標(biāo)cad矢量圖為管線施工cad矢量圖,則所述步驟“對(duì)每一個(gè)截圖框進(jìn)行排序”具體為:
遍歷每一個(gè)截圖框,以判斷每一個(gè)截圖框內(nèi)是否存在點(diǎn)元素;
對(duì)存在點(diǎn)元素的每一個(gè)截圖框內(nèi)的所有點(diǎn)元素的位置進(jìn)行比較分析,以獲取每一個(gè)存在點(diǎn)元素的截圖框內(nèi)的為最小位置的點(diǎn)元素;其中,所述點(diǎn)元素的位置以數(shù)字編號(hào)的形式來進(jìn)行表示;
根據(jù)每一個(gè)存在點(diǎn)元素的截圖框內(nèi)的為最小位置的點(diǎn)元素的位置大小對(duì)每一個(gè)存在點(diǎn)元素的截圖框進(jìn)行排序,并將不存在點(diǎn)元素的截圖框排至最后。
進(jìn)一步地,所述步驟“將縮放后的截圖框區(qū)域復(fù)制遷移到相應(yīng)的位置上,并根據(jù)所述切圖模型中的切圖框區(qū)域?qū)挾扰c高度在每一個(gè)所述截圖框區(qū)域的復(fù)制遷移位置上對(duì)應(yīng)生成切圖框區(qū)域”具體為:
s13020,獲取所述切圖模型中的切圖框區(qū)域?qū)挾燃案叨龋?/p>
s13021,判斷當(dāng)前的截圖框區(qū)域和排序位于當(dāng)前的截圖框區(qū)域后面的截圖框區(qū)域的高度之和與所述縮放系數(shù)的乘積是否小于所述切圖框區(qū)域高度;
s13022,若是,則將當(dāng)前的截圖框區(qū)域以及排序位于當(dāng)前的截圖框區(qū)域后面的截圖框區(qū)域一起復(fù)制遷移到相應(yīng)的位置上,并根據(jù)所述切圖框區(qū)域?qū)挾燃案叨仍谠搹?fù)制遷移位置上生成相應(yīng)的切圖框區(qū)域,使得當(dāng)前的截圖框區(qū)域以及排序位于當(dāng)前的截圖框區(qū)域后面的截圖框區(qū)域按照截圖框排序上下設(shè)置在該切圖框區(qū)域中,返回步驟s13021;
s13023,若否,則判斷當(dāng)前的截圖框區(qū)域和排序位于當(dāng)前的截圖框區(qū)域后面的截圖框區(qū)域的寬度之和與所述縮放系數(shù)的乘積是否小于所述切圖框區(qū)域?qū)挾龋?/p>
s13024,若是,則將當(dāng)前的截圖框區(qū)域以及排序位于當(dāng)前的截圖框區(qū)域后面的截圖框區(qū)域一起復(fù)制遷移到相應(yīng)的位置上,并根據(jù)所述切圖框區(qū)域?qū)挾燃案叨仍谠搹?fù)制遷移位置上生成相應(yīng)的切圖框區(qū)域,使得當(dāng)前的截圖框區(qū)域以及排序位于當(dāng)前的截圖框區(qū)域后面的截圖框區(qū)域按照截圖框排序左右設(shè)置在該切圖框區(qū)域中,返回步驟s13021;
s13025,若否,則將當(dāng)前的截圖框區(qū)域復(fù)制遷移到相應(yīng)的位置上,并根據(jù)所述切圖框區(qū)域?qū)挾燃案叨仍诋?dāng)前的截圖框區(qū)域的復(fù)制遷移位置上相應(yīng)生成切圖框區(qū)域。
進(jìn)一步地,所述步驟“根據(jù)所述切圖模型在每一個(gè)所述切圖框區(qū)域上對(duì)應(yīng)生成矢量圖切圖”具體為:
根據(jù)所述切圖模型中的切圖框模板文件路徑讀取預(yù)設(shè)的切圖框,并在每一個(gè)切圖框區(qū)域上對(duì)應(yīng)添加所述切圖框,以形成與所述截圖框區(qū)域相對(duì)應(yīng)的矢量圖切圖;
根據(jù)所述切圖模型給每一幅矢量圖切圖添加圖框信息;
根據(jù)與所述矢量圖切圖對(duì)應(yīng)的截圖框的排序?qū)γ恳环噶繄D切圖進(jìn)行圖框序號(hào)標(biāo)示。
進(jìn)一步地,在所述步驟“根據(jù)用戶選擇的切圖模型在所述目標(biāo)cad矢量圖中生成與該切圖模型相對(duì)應(yīng)的多個(gè)截圖框,以將所述目標(biāo)cad矢量圖分割成多個(gè)相應(yīng)的截圖框區(qū)域”之后,所述步驟“根據(jù)所述切圖模型以及獲取到的所述截圖框生成與所述截圖框相對(duì)應(yīng)的矢量圖切圖”之前,還包括:
當(dāng)判斷出所述截圖框所對(duì)應(yīng)的截圖框區(qū)域中不存在矢量元素時(shí),將所述截圖框刪除。
本發(fā)明另一方面還提供了一種cad矢量圖自動(dòng)切圖裝置,其包括:獲取模塊,用于獲取目標(biāo)cad矢量圖;接收模塊,用于接收用戶輸入的切圖生成命令,并根據(jù)所述切圖生成命令顯示多個(gè)預(yù)設(shè)的用于對(duì)所述目標(biāo)cad矢量圖進(jìn)行切圖的切圖模型,以供用戶進(jìn)行選擇操作;截圖框生成模塊,用于根據(jù)用戶選擇的切圖模型在所述目標(biāo)cad矢量圖中生成與該切圖模型相對(duì)應(yīng)的多個(gè)截圖框,以將所述目標(biāo)cad矢量圖分割成多個(gè)相應(yīng)的截圖框區(qū)域;切圖生成模塊,用于根據(jù)所述切圖模型以及獲取到的所述截圖框生成與所述截圖框相對(duì)應(yīng)的矢量圖切圖。
本發(fā)明提供的所述的cad矢量圖自動(dòng)切圖方法及裝置,通過在獲取到目標(biāo)cad矢量圖時(shí),接收用戶輸入的切圖生成命令,并根據(jù)所述切圖生成命令顯示多個(gè)預(yù)設(shè)的用于對(duì)所述目標(biāo)cad矢量圖進(jìn)行切圖的切圖模型,然后根據(jù)用戶選擇的切圖模型在所述目標(biāo)cad矢量圖中生成與該切圖模型相對(duì)應(yīng)的多個(gè)截圖框,最后再根據(jù)所述切圖模型以及獲取到的所述截圖框生成與所述截圖框相對(duì)應(yīng)的矢量圖切圖。由此可見,本發(fā)明能夠?qū)ad矢量圖進(jìn)行自動(dòng)切圖,從而可以提高對(duì)cad矢量圖的切圖的效率,并且可以避免因?yàn)槿藶榈恼`操作而影響到切圖的質(zhì)量,因此本發(fā)明也可以提高對(duì)cad矢量圖的切圖的質(zhì)量。
附圖說明
為了更清楚地說明本發(fā)明的技術(shù)方案,下面將對(duì)實(shí)施方式中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施方式,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實(shí)施例提供的一種cad矢量圖自動(dòng)切圖方法的流程圖:
圖2是本發(fā)明實(shí)施例提供的一種在cad矢量圖區(qū)域上生成截圖框的示意圖;
圖3是本發(fā)明實(shí)施例提供的一種矢量圖切圖生成示意圖;
圖4是本發(fā)明實(shí)施例提供的一種cad矢量圖自動(dòng)切圖裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
請(qǐng)參見圖1,本發(fā)明實(shí)施例提供了一種cad矢量圖自動(dòng)切圖方法,其包括以下步驟s10至s13:
s10,獲取目標(biāo)cad矢量圖。
當(dāng)用戶需要對(duì)相應(yīng)的cad矢量圖進(jìn)行切圖時(shí),用戶可以通過相應(yīng)的cad軟件(例如autocad軟件、中望cad軟件或浩辰cad軟件等)打開該cad矢量圖,此時(shí)系統(tǒng)可以通過運(yùn)行cad軟件中預(yù)設(shè)的cad矢量圖自動(dòng)切圖程序來開始執(zhí)行步驟s10,即系統(tǒng)會(huì)獲取需要進(jìn)行切圖的目標(biāo)cad矢量圖。
s11,接收用戶輸入的切圖生成命令,并根據(jù)所述切圖生成命令顯示多個(gè)預(yù)設(shè)的用于對(duì)所述目標(biāo)cad矢量圖進(jìn)行切圖的切圖模型,以供用戶進(jìn)行選擇操作。
當(dāng)用戶向系統(tǒng)輸入用于使得系統(tǒng)對(duì)獲取到的所述目標(biāo)矢量圖自動(dòng)進(jìn)行切圖的切圖生成命令時(shí),系統(tǒng)會(huì)根據(jù)接收到的所述切圖生成命令在設(shè)備的顯示屏上顯示多個(gè)預(yù)設(shè)的用于對(duì)所述目標(biāo)cad矢量圖進(jìn)行切圖的切圖模型,以供用戶進(jìn)行選擇操作。需要說明的是,用戶向系統(tǒng)輸入所述切圖生成命令的方式可以為通過系統(tǒng)設(shè)備的鍵盤鍵入切圖生成命令(例如cutchart單詞或者c字符等),或者可以為通過鼠標(biāo)點(diǎn)擊或者觸摸點(diǎn)擊相應(yīng)cad軟件的菜單中的預(yù)設(shè)有的切圖生成按鈕等。
其中,所述切圖模型可以為用于將所述目標(biāo)cad矢量圖切分成多個(gè)a3圖紙的a3切圖模型、或者為用于將所述目標(biāo)cad矢量圖切分成多個(gè)a4圖紙的a4切圖模型等,在此不做具體限定。
優(yōu)選地,每一個(gè)所述切圖模型包括截圖框區(qū)域?qū)挾扰c高度、切圖框模板文件路徑、切圖框區(qū)域?qū)挾扰c高度、縮放系數(shù)以及圖框信息這五個(gè)參數(shù)變量。系統(tǒng)根據(jù)調(diào)用用戶選擇的切圖模型中的各個(gè)參數(shù)變量來對(duì)所述目標(biāo)cad矢量圖進(jìn)行切圖,其中系統(tǒng)調(diào)用切圖模型以及其含有的參數(shù)變量是通過系統(tǒng)預(yù)先設(shè)置的配置文件來實(shí)現(xiàn)的。需要說明的是,每一個(gè)所述切圖模型的截圖框區(qū)域?qū)挾鹊膮?shù)變量的參數(shù)數(shù)值是不同的。同理地,所述切圖模型的截圖框區(qū)域高度,所述切圖模型的切圖框區(qū)域?qū)挾纫约笆銮袌D模型的切圖框區(qū)域高度與上述情況類似??梢岳斫獾氖?,所述切圖模型還可以包括其他參數(shù)變量,例如還可以包括截圖框顯示顏色、截圖框形狀等。
s12,根據(jù)用戶選擇的切圖模型在所述目標(biāo)cad矢量圖中生成與該切圖模型相對(duì)應(yīng)的多個(gè)截圖框,以將所述目標(biāo)cad矢量圖分割成多個(gè)相應(yīng)的截圖框區(qū)域。
當(dāng)用戶對(duì)顯示的多個(gè)的切圖模型做出選擇操作時(shí),系統(tǒng)會(huì)根據(jù)用戶選擇的切圖模型在所述目標(biāo)cad矢量圖中生成與該切圖模型相對(duì)應(yīng)的多個(gè)截圖框,其中,所述多個(gè)截圖框用于將所述目標(biāo)cad矢量圖分割成多個(gè)與所述截圖框一一對(duì)應(yīng)的截圖框區(qū)域。需要說明的是,每一個(gè)截圖框區(qū)域包含有目標(biāo)cad矢量圖中的不同部分的矢量元素。其中,所述矢量元素為所述目標(biāo)矢量圖中的組成內(nèi)容(例如線段、點(diǎn)或字體等)。
在本發(fā)明實(shí)施例中,優(yōu)選地,所述步驟s12具體包括步驟s120至步驟s124:
s120,遍歷所述目標(biāo)cad矢量圖,以獲取所述目標(biāo)cad矢量圖中所有的矢量元素的坐標(biāo)點(diǎn)。
當(dāng)用戶對(duì)顯示的多個(gè)的切圖模型做出選擇操作后,系統(tǒng)會(huì)遍歷所述目標(biāo)cad矢量圖,以獲取所述目標(biāo)cad矢量圖中所有的矢量元素的坐標(biāo)點(diǎn)。
s121,對(duì)所有矢量元素的坐標(biāo)點(diǎn)進(jìn)行比較分析,以獲取所述矢量元素坐標(biāo)點(diǎn)中的x坐標(biāo)及y坐標(biāo)的最小、最大值。
即通過對(duì)獲取到的所述目標(biāo)cad矢量圖中所有矢量元素的坐標(biāo)點(diǎn)進(jìn)行比較分析,來獲取所述矢量元素坐標(biāo)點(diǎn)中的x坐標(biāo)的最小值minx與最大值maxx以及y坐標(biāo)的最小值miny與最大值maxy。
s122,根據(jù)獲取到的x坐標(biāo)及y坐標(biāo)的最小、最大值,得到所述目標(biāo)cad矢量圖的矢量圖切圖區(qū)域,并得到所述矢量圖切圖區(qū)域的寬度與高度。
請(qǐng)參見圖2,即根據(jù)獲取到的所述矢量元素坐標(biāo)點(diǎn)中的x坐標(biāo)的最小值minx與最大值maxx以及y坐標(biāo)的最小值miny與最大值maxy,得到四個(gè)坐標(biāo)點(diǎn):左上角坐標(biāo)點(diǎn)a(minx,maxy),右上角坐標(biāo)點(diǎn)b(maxx,maxy),右下角坐標(biāo)c點(diǎn)(maxx,miny),左下角坐標(biāo)點(diǎn)d(minx,miny),以這四個(gè)坐標(biāo)點(diǎn)限定的區(qū)域?yàn)樗瞿繕?biāo)cad矢量圖需要進(jìn)行切圖的矢量圖切圖區(qū)域,并可以得到所述矢量圖切圖區(qū)域的寬度為maxx-minx,所述矢量圖切圖區(qū)域的高度為maxy-miny。
s123,獲取所述切圖模型中截圖框區(qū)域的高度與寬度,并根據(jù)所述矢量圖切圖區(qū)域的寬度與高度以及所述截圖框區(qū)域的高度與寬度,得到所述矢量圖切圖區(qū)域中的截圖框的列數(shù)與行數(shù)。
即,當(dāng)獲取到的所述切圖模型中截圖框區(qū)域的高度與寬度以及所述矢量圖切圖區(qū)域的寬度與高度后,可以通過以下規(guī)則來計(jì)算得到所述矢量圖切圖區(qū)域中的截圖框的列數(shù)與行數(shù)。
其中,所述矢量圖切圖區(qū)域中的截圖框的列數(shù)的算法規(guī)則為:如果(矢量圖切圖區(qū)域?qū)挾龋ソ貓D框區(qū)域?qū)挾?>0,則截圖框的列數(shù)=(int)(矢量圖切圖區(qū)域?qū)挾?截圖框區(qū)域?qū)挾?+1;否則截圖框的列數(shù)=(矢量圖切圖區(qū)域?qū)挾?截圖框區(qū)域?qū)挾?。
所述矢量圖切圖區(qū)域中的截圖框的行數(shù)的算法規(guī)則為:如果(矢量圖切圖區(qū)域高度%截圖框區(qū)域高度)>0,則截圖框的行數(shù)=(int)(矢量圖切圖區(qū)域高度/截圖框區(qū)域高度)+1;否則截圖框的行數(shù)=(矢量圖切圖區(qū)域高度/截圖框區(qū)域高度)。
需要說明的是,“%”為取余運(yùn)算,“/”為除法運(yùn)算,(int)為取整運(yùn)算。
s124,以所述矢量圖切圖區(qū)域的左上角坐標(biāo)點(diǎn)、右上角坐標(biāo)點(diǎn)、左下角坐標(biāo)點(diǎn)或右下角坐標(biāo)點(diǎn)為截圖框生成起始點(diǎn),并根據(jù)獲取到的截圖框的列數(shù)與行數(shù)以及截圖框區(qū)域的高度與寬度在所述矢量圖切圖區(qū)域上依次生成所述截圖框。
即,當(dāng)獲取到截圖框的列數(shù)與行數(shù)時(shí),請(qǐng)參見圖2,根據(jù)所述切圖模型獲取截圖框區(qū)域的高度與寬度,從而可以得到相應(yīng)的截圖框,然后以所述矢量圖切圖區(qū)域預(yù)設(shè)的截圖框生成起始點(diǎn)(例如左上角坐標(biāo)點(diǎn)a(minx,maxy)、右上角坐標(biāo)點(diǎn)b(maxx,maxy)、右下角坐標(biāo)c點(diǎn)(maxx,miny)或左下角坐標(biāo)點(diǎn)d(minx,miny))為參照點(diǎn)在所述矢量圖切圖區(qū)域上依次生成所述截圖框。
現(xiàn)以矢量圖切圖區(qū)域的左上角坐標(biāo)點(diǎn)a(minx,maxy)為截圖框生成起始點(diǎn)為例來進(jìn)行說明:
以所述矢量圖切圖區(qū)域的左上角坐標(biāo)點(diǎn)a(minx,maxy)為參照點(diǎn)來計(jì)算當(dāng)前截圖框的左上角坐標(biāo)點(diǎn)的位置:其中,當(dāng)前截圖框的左上角坐標(biāo)點(diǎn)的x坐標(biāo)為:minx+(截圖框區(qū)域?qū)挾?(當(dāng)前截圖框列數(shù)-1));當(dāng)前截圖框的左上角坐標(biāo)點(diǎn)的y坐標(biāo)為:maxy-(截圖框區(qū)域?qū)挾?(當(dāng)前截圖框行數(shù)-1))。當(dāng)計(jì)算出當(dāng)前截圖框的左上角坐標(biāo)點(diǎn)后,可以以該坐標(biāo)點(diǎn)為當(dāng)前截圖框的生成坐標(biāo)點(diǎn)依次在所述矢量圖切圖區(qū)域中生成所述截圖框。
需要說明的是,還可以以述矢量圖切圖區(qū)域的左上角坐標(biāo)點(diǎn)a(minx,maxy)(或右上角坐標(biāo)點(diǎn)b(maxx,maxy)、右下角坐標(biāo)c點(diǎn)(maxx,miny)、左下角坐標(biāo)點(diǎn)d(minx,miny))為參照點(diǎn)來計(jì)算計(jì)算當(dāng)前截圖框的左下角坐標(biāo)點(diǎn)、右下角坐標(biāo)點(diǎn)或右上角坐標(biāo)點(diǎn)的位置、具體計(jì)算方式以及截圖框生成過程可參考上述內(nèi)容,在此不再贅述。
s13、根據(jù)所述切圖模型以及獲取到的所述截圖框生成與所述截圖框相對(duì)應(yīng)的矢量圖切圖。
請(qǐng)參見圖3,當(dāng)在所述目標(biāo)cad矢量圖上生成所述截圖框時(shí),系統(tǒng)會(huì)根據(jù)用戶選擇的所述切圖模型以及獲取到的所述截圖框生成與所述截圖框相對(duì)應(yīng)的矢量圖切圖,從而完成對(duì)所述目標(biāo)cad矢量圖的切圖。此時(shí),用戶可以對(duì)生成好的矢量圖切圖進(jìn)行確認(rèn),若用戶不需要所述矢量圖切圖時(shí),用戶可以通過相應(yīng)的操作放棄生成所述矢量圖切圖;當(dāng)用戶確認(rèn)需要所述矢量圖切圖后,用戶可以對(duì)所屬矢量圖切圖進(jìn)行打印操作。
優(yōu)選地,所述步驟s13具體為:
s130,根據(jù)獲取到的所述截圖框?qū)?duì)應(yīng)的截圖框區(qū)域復(fù)制遷移到相應(yīng)的位置上,并根據(jù)所述切圖模型中的切圖框區(qū)域?qū)挾扰c高度在每一個(gè)所述截圖框區(qū)域的復(fù)制遷移位置上對(duì)應(yīng)生成切圖框區(qū)域。
即當(dāng)在所述目標(biāo)cad矢量圖上生成所述截圖框時(shí),系統(tǒng)會(huì)根據(jù)獲取到的所述截圖框?qū)⑴c所述截圖框?qū)?yīng)的截圖框區(qū)域進(jìn)行復(fù)制,并將復(fù)制好的截圖框區(qū)域遷移到所述目標(biāo)cad矢量圖相應(yīng)的位置上,然后根據(jù)所述切圖模型中的切圖框區(qū)域?qū)挾扰c高度在每一個(gè)所述截圖框區(qū)域的復(fù)制遷移位置上對(duì)應(yīng)生成用于放置所述截圖框區(qū)域的切圖框區(qū)域。需要說明的是,所述切圖框區(qū)域的高度數(shù)值需要等于或大于所述截圖框區(qū)域的高度數(shù)值,且所述切圖框區(qū)域的寬度數(shù)值需要等于或大于所述截圖框區(qū)域的寬度數(shù)值,這樣所述截圖框區(qū)域可以完全地遷移放置在所述切圖框區(qū)域內(nèi)??梢岳斫獾氖牵?dāng)所述切圖框區(qū)域的高度數(shù)值小于所述截圖框區(qū)域的高度數(shù)值時(shí),或當(dāng)所述切圖框區(qū)域的寬度數(shù)值小于所述截圖框區(qū)域的寬度數(shù)值時(shí),可以對(duì)所述截圖框區(qū)域進(jìn)行相應(yīng)縮小。
優(yōu)選地,所述步驟s130具體為:
s1300,對(duì)每一個(gè)截圖框進(jìn)行排序。
即,當(dāng)在所述目標(biāo)cad矢量圖上生成所述截圖框后,系統(tǒng)會(huì)對(duì)每一個(gè)截圖框進(jìn)行排序。排序規(guī)則可以為從左到右、從上到下依次對(duì)所述目標(biāo)cad矢量圖上的所述截圖框進(jìn)行前后排序,也可以為從右到左、從下到上依次對(duì)所述目標(biāo)cad矢量圖上的所述截圖框進(jìn)行前后排序,在此不做具體限定。
在本發(fā)明實(shí)施例中,優(yōu)選地,請(qǐng)參見圖2,所述目標(biāo)cad矢量圖為管線施工cad矢量圖。其中管線施工cad矢量圖具有多個(gè)用來表示管線連接件的節(jié)點(diǎn)(即點(diǎn)元素)以及用來表示管線的線段(即線段元素),而管線施工cad矢量圖中的各個(gè)節(jié)點(diǎn)通過線段對(duì)應(yīng)連接,其中每一個(gè)節(jié)點(diǎn)(即點(diǎn)元素)具有各自的用數(shù)字編號(hào)來標(biāo)示的位置,且每一個(gè)節(jié)點(diǎn)(即點(diǎn)元素)的位置按照線路的走向依次進(jìn)行標(biāo)示。需要說明的是,所述目標(biāo)cad矢量圖還可以為建筑平面圖或者是部件結(jié)構(gòu)圖等,在此不做具體限定。
而當(dāng)所述目標(biāo)cad矢量圖為管線施工cad矢量圖時(shí),優(yōu)選地,所述步驟s1300具體包括步驟s13000至步驟s13002:
s13000,遍歷每一個(gè)截圖框,以判斷每一個(gè)截圖框內(nèi)是否存在點(diǎn)元素。
當(dāng)在所述管線施工cad矢量圖上生成所述截圖框后,系統(tǒng)會(huì)遍歷每一個(gè)截圖框,以判斷每一個(gè)截圖框內(nèi)是否存在點(diǎn)元素。
s13001,對(duì)存在點(diǎn)元素的每一個(gè)截圖框內(nèi)的所有點(diǎn)元素的位置進(jìn)行比較分析,以獲取每一個(gè)存在點(diǎn)元素的截圖框內(nèi)的為最小位置的點(diǎn)元素;其中,所述點(diǎn)元素的位置以數(shù)字編號(hào)的形式來進(jìn)行表示。此外,每一個(gè)截圖框內(nèi)的最小位置的點(diǎn)元素即為每一個(gè)截圖框內(nèi)的數(shù)字編號(hào)最小的點(diǎn)元素。
s13002,根據(jù)每一個(gè)存在點(diǎn)元素的截圖框內(nèi)的為最小位置的點(diǎn)元素的位置大小對(duì)每一個(gè)存在點(diǎn)元素的截圖框進(jìn)行排序,并將不存在點(diǎn)元素的截圖框排至最后。
即,系統(tǒng)會(huì)對(duì)獲取到的每一個(gè)存在點(diǎn)元素的截圖框內(nèi)的為最小位置的點(diǎn)元素的位置的數(shù)字編號(hào)大小進(jìn)行比較分析,以比較分析出每一個(gè)截圖框內(nèi)的為最小位置的點(diǎn)元素的位置大小(即點(diǎn)元素的數(shù)字編號(hào)大小),然后系統(tǒng)根據(jù)每一個(gè)存在點(diǎn)元素的截圖框內(nèi)的為最小位置的點(diǎn)元素的位置大小對(duì)每一個(gè)存在點(diǎn)元素的截圖框進(jìn)行排序,并且,系統(tǒng)還會(huì)將不存在點(diǎn)元素的截圖框排至最后。其中,優(yōu)選地,存在點(diǎn)元素的截圖框內(nèi)的為最小位置的點(diǎn)元素的位置越小,該截圖框的排序越靠前。例如,請(qǐng)參見圖2與圖3,截圖框1內(nèi)的最小位置的點(diǎn)元素為標(biāo)號(hào)為1的點(diǎn)元素,截圖框3內(nèi)的最小位置的點(diǎn)元素為標(biāo)號(hào)為38的點(diǎn)元素,截圖框2內(nèi)沒有點(diǎn)元素,因此放在最后,而截圖框4因?yàn)椴淮嬖谑噶吭?,因此可將截圖框4進(jìn)行刪除,所以圖2的截圖框的排序?yàn)椋航貓D框1>截圖框3>截圖跨、框2??梢岳斫獾氖?,存在點(diǎn)元素的截圖框內(nèi)的為最小坐標(biāo)的點(diǎn)元素的位置越小,該截圖框的排序也可以越靠后。
需要說明的是,所述管線施工矢量圖中的截圖框的排序還可以為從左到右、從上到下依次進(jìn)行排序。
s1301,按照截圖框的排序依次復(fù)制與截圖框?qū)?yīng)的截圖框區(qū)域,并將復(fù)制的截圖框區(qū)域按照所述切圖模型中的縮放系數(shù)進(jìn)行縮放。
當(dāng)獲取到每一個(gè)截圖框的排序后,系統(tǒng)會(huì)按照截圖框的排序依次復(fù)制與截圖框?qū)?yīng)的截圖框區(qū)域,然后將復(fù)制好的截圖框區(qū)域按照所述切圖模型中的縮放系數(shù)進(jìn)行縮放,以使得所述截圖框區(qū)域可以縮小或放大。其中,當(dāng)所述切圖框區(qū)域的高度數(shù)值小于所述截圖框區(qū)域的高度數(shù)值時(shí),或當(dāng)所述切圖框區(qū)域的寬度數(shù)值小于所述截圖框區(qū)域的寬度數(shù)值時(shí),可以對(duì)所述截圖框區(qū)域進(jìn)行縮小,以使得所述截圖框區(qū)域能夠完全放置到所述切圖框區(qū)域內(nèi);而當(dāng)所述切圖框區(qū)域的高度數(shù)值大于所述截圖框區(qū)域的高度數(shù)值,且所述切圖框區(qū)域的寬度數(shù)值大于所述截圖框區(qū)域的寬度數(shù)值時(shí),可以對(duì)所述截圖框區(qū)域進(jìn)行放大,使得所述截圖框區(qū)域能夠完全放置到所述切圖框區(qū)域內(nèi)的同時(shí)還可以使得截圖框區(qū)域內(nèi)的矢量元素更加清晰明了。
在本發(fā)明實(shí)施例中,優(yōu)選地,所述縮放系數(shù)為0.5。需要說明的是,所述縮放系數(shù)還可以根據(jù)實(shí)際需要而設(shè)定為其他數(shù)值,在此不作具體限定。
s1302,將縮放后的截圖框區(qū)域復(fù)制遷移到相應(yīng)的位置上,并根據(jù)所述切圖模型中的切圖框區(qū)域?qū)挾扰c高度在每一個(gè)所述截圖框區(qū)域的復(fù)制遷移位置上對(duì)應(yīng)生成切圖框區(qū)域。
優(yōu)選地,所述步驟s1302具體為:
s13020,獲取所述切圖模型中的切圖框區(qū)域?qū)挾燃案叨取?/p>
s13021,判斷當(dāng)前的截圖框區(qū)域和排序位于當(dāng)前的截圖框區(qū)域后面的截圖框區(qū)域的高度之和與所述縮放系數(shù)的乘積是否小于所述切圖框區(qū)域高度。
s13022,若是,則將當(dāng)前的截圖框區(qū)域以及排序位于當(dāng)前的截圖框區(qū)域后面的截圖框區(qū)域一起復(fù)制遷移到相應(yīng)的位置上,并根據(jù)所述切圖框區(qū)域?qū)挾燃案叨仍谠搹?fù)制遷移位置上生成相應(yīng)的切圖框區(qū)域,使得當(dāng)前的截圖框區(qū)域以及排序位于當(dāng)前的截圖框區(qū)域后面的截圖框區(qū)域按照截圖框排序上下設(shè)置在該切圖框區(qū)域中,返回步驟s13021。
由于步驟s1301已經(jīng)對(duì)所述截圖框區(qū)域進(jìn)行相應(yīng)的縮放以使得縮放后的截圖框區(qū)域能夠完全放置在相應(yīng)的切圖框區(qū)域中,而當(dāng)系統(tǒng)判斷出當(dāng)前的截圖框區(qū)域和排序位于當(dāng)前的截圖框區(qū)域后面的截圖框區(qū)域的高度之和與所述縮放系數(shù)的乘積小于所述切圖框區(qū)域高度時(shí),表明當(dāng)前的截圖框區(qū)域和排序位于當(dāng)前的截圖框區(qū)域后面的截圖框區(qū)域能夠沿著切圖框區(qū)域的高度從上到下地設(shè)置在同一個(gè)切圖框區(qū)域中,因此可以采用截圖框區(qū)域高度合并方式來進(jìn)行復(fù)制遷移,即可以將當(dāng)前的截圖框區(qū)域以及排序位于當(dāng)前的截圖框區(qū)域后面的截圖框區(qū)域一起復(fù)制遷移到相應(yīng)的位置上,并根據(jù)所述切圖框區(qū)域?qū)挾燃案叨榷谠搹?fù)制遷移位置上生成相應(yīng)的切圖框區(qū)域,使得當(dāng)前的截圖框區(qū)域以及排序位于當(dāng)前的截圖框區(qū)域后面的截圖框區(qū)域按照截圖框排序從上到下設(shè)置在該切圖框區(qū)域中,然后返回步驟s13021。由于多個(gè)截圖框區(qū)域可以一起設(shè)置在同一個(gè)切圖框區(qū)域中,因此可以減少切圖框區(qū)域的生成數(shù)量,從而在后續(xù)的步驟中可以減少矢量圖切圖的生成數(shù)量,并進(jìn)而可以減少目標(biāo)cad矢量圖的切圖的打印數(shù)量。
s13023,若否,則判斷當(dāng)前的截圖框區(qū)域和排序位于當(dāng)前的截圖框區(qū)域后面的截圖框區(qū)域的寬度之和與所述縮放系數(shù)的乘積是否小于所述切圖框區(qū)域?qū)挾取?/p>
s13024,若是,則將當(dāng)前的截圖框區(qū)域以及排序位于當(dāng)前的截圖框區(qū)域后面的截圖框區(qū)域一起復(fù)制遷移到相應(yīng)的位置上,并根據(jù)所述切圖框區(qū)域?qū)挾燃案叨仍谠搹?fù)制遷移位置上生成相應(yīng)的切圖框區(qū)域,使得當(dāng)前的截圖框區(qū)域以及排序位于當(dāng)前的截圖框區(qū)域后面的截圖框區(qū)域按照截圖框排序左右設(shè)置在該切圖框區(qū)域中,返回步驟s13021。
由于步驟s1301已經(jīng)對(duì)所述截圖框區(qū)域進(jìn)行相應(yīng)的縮放以使得縮放后的截圖框區(qū)域能夠完全放置在相應(yīng)的切圖框區(qū)域中,而當(dāng)系統(tǒng)判斷出當(dāng)前的截圖框區(qū)域和排序位于當(dāng)前的截圖框區(qū)域后面的截圖框區(qū)域的寬度之和與所述縮放系數(shù)的乘積小于所述切圖框區(qū)域?qū)挾葧r(shí),表明當(dāng)前的截圖框區(qū)域和排序位于當(dāng)前的截圖框區(qū)域后面的截圖框區(qū)域能夠沿著切圖框區(qū)域的寬度從左到右地設(shè)置在同一個(gè)切圖框區(qū)域中,因此可以采用截圖框區(qū)域高度合并方式來進(jìn)行復(fù)制遷移,即可以將當(dāng)前的截圖框區(qū)域以及排序位于當(dāng)前的截圖框區(qū)域后面的截圖框區(qū)域一起復(fù)制遷移到相應(yīng)的位置上,并根據(jù)所述切圖框區(qū)域?qū)挾燃案叨榷谠搹?fù)制遷移位置上生成相應(yīng)的切圖框區(qū)域,使得當(dāng)前的截圖框區(qū)域以及排序位于當(dāng)前的截圖框區(qū)域后面的截圖框區(qū)域按照截圖框排序從左到右設(shè)置在該切圖框區(qū)域中,然后返回步驟s13021。由于多個(gè)截圖框區(qū)域可以一起設(shè)置在同一個(gè)切圖框區(qū)域中,因此可以減少切圖框區(qū)域的生成數(shù)量,從而在后續(xù)的步驟中可以減少矢量圖切圖的生成數(shù)量,并進(jìn)而可以減少目標(biāo)cad矢量圖的切圖的打印數(shù)量。
s13025,若否,則將當(dāng)前的截圖框區(qū)域復(fù)制遷移到相應(yīng)的位置上,并根據(jù)所述切圖框區(qū)域?qū)挾燃案叨仍诋?dāng)前的截圖框區(qū)域的復(fù)制遷移位置上相應(yīng)生成切圖框區(qū)域。
即當(dāng)判斷出當(dāng)前的截圖框區(qū)域和排序位于當(dāng)前的截圖框區(qū)域后面的截圖框區(qū)域的高度之和與所述縮放系數(shù)的乘積大于所述切圖框區(qū)域高度,且當(dāng)前的截圖框區(qū)域和排序位于當(dāng)前的截圖框區(qū)域后面的截圖框區(qū)域的寬度之和與所述縮放系數(shù)的乘積大于所述切圖框區(qū)域?qū)挾葧r(shí),表明一個(gè)切圖框區(qū)域只能完全放置下當(dāng)前的截圖框區(qū)域,因此將當(dāng)前的截圖框區(qū)域復(fù)制遷移到相應(yīng)的位置上,并根據(jù)所述切圖框區(qū)域?qū)挾燃案叨仍诋?dāng)前的截圖框區(qū)域的復(fù)制遷移位置上相應(yīng)生成切圖框區(qū)域。
其中,當(dāng)每一個(gè)截圖框區(qū)域復(fù)制遷移到目標(biāo)位置時(shí),以復(fù)制遷移后的截圖框區(qū)域的左上角坐標(biāo)點(diǎn)(x,y)為基準(zhǔn)點(diǎn),并根據(jù)所述切圖模型中的切圖框區(qū)域?qū)挾扰c高度在該基準(zhǔn)點(diǎn)上生成切圖框區(qū)域,即生成的切圖框區(qū)域的左上角坐標(biāo)點(diǎn)(設(shè)為(minx,maxy))與相應(yīng)的復(fù)制遷移后的截圖框區(qū)域的左上角坐標(biāo)點(diǎn)對(duì)應(yīng)重合。
其中,復(fù)制遷移后的截圖框區(qū)域的左上角坐標(biāo)點(diǎn)(x,y)與生成的切圖框區(qū)域的左上角坐標(biāo)點(diǎn)(minx,maxy)的坐標(biāo)相互之間的設(shè)置關(guān)系為:
當(dāng)采用截圖框區(qū)域高度合并方式時(shí),y=(maxy-切圖框區(qū)域偏移高度)-(同個(gè)切圖框區(qū)域內(nèi)排序位于當(dāng)前的截圖框區(qū)域前面的所有截圖框區(qū)域高度相加*縮放系數(shù));
x=(minx+切圖框區(qū)域偏移寬度)。
其中,請(qǐng)參見圖3,切圖框區(qū)域偏移高度表示為切圖框區(qū)域距離切圖框的上邊框的偏移量,切圖框區(qū)域偏移寬度表示為切圖框區(qū)域距離切圖框的左邊框的偏移量,切圖框區(qū)域偏移寬度以及切圖框區(qū)域偏移高度這兩個(gè)參數(shù)變量包含于所述切圖模型中。優(yōu)選地,所述切圖框區(qū)域偏移寬度設(shè)定數(shù)值為10mm,所述切圖框區(qū)域偏移高度設(shè)定數(shù)值為30mm。
當(dāng)采用寬度合并方式時(shí),y=(maxy-切圖框區(qū)域偏移高度);
x=(minx+切圖框區(qū)域偏移寬度+(同個(gè)切圖框區(qū)域內(nèi)排序位于當(dāng)前的截圖框區(qū)域前面的所有截圖框區(qū)域?qū)挾认嗉?縮放系數(shù)))。
當(dāng)直接復(fù)制遷移當(dāng)前截圖框區(qū)域時(shí),y=(maxy-切圖框區(qū)域偏移高度);x=(minx+切圖框區(qū)域偏移寬度)。
需要說明的是,當(dāng)每一個(gè)截圖框區(qū)域復(fù)制遷移到目標(biāo)位置時(shí),還可以以復(fù)制遷移后的截圖框區(qū)域的其他坐標(biāo)點(diǎn)(例如右上角坐標(biāo)點(diǎn)或左下角坐標(biāo)點(diǎn)等)為切圖框區(qū)域生成的基準(zhǔn)點(diǎn),在此不做具體限定。
s131,根據(jù)所述切圖模型在每一個(gè)所述切圖框區(qū)域上對(duì)應(yīng)生成矢量圖切圖。
即,當(dāng)在每一個(gè)截圖框區(qū)域的復(fù)制遷移位置上對(duì)應(yīng)生成切圖框區(qū)域后,系統(tǒng)會(huì)根據(jù)所述切圖模型在每一個(gè)所述切圖框區(qū)域上對(duì)應(yīng)生成矢量圖切圖。
優(yōu)選地,所述步驟s131具體為:
s1310,根據(jù)所述切圖模型中的切圖框模板文件路徑讀取預(yù)設(shè)的切圖框,并在每一個(gè)切圖框區(qū)域上對(duì)應(yīng)添加所述切圖框,以形成與所述截圖框區(qū)域相對(duì)應(yīng)的矢量圖切圖。
例如,請(qǐng)參見圖3,在每一個(gè)截圖框區(qū)域的復(fù)制遷移位置上對(duì)應(yīng)生成切圖框區(qū)域后,若用戶選擇的切圖模型為a4切圖模型時(shí),系統(tǒng)會(huì)根據(jù)a4切圖模型中的a4切圖框模板文件路徑讀取a4切圖框,然后在每一個(gè)切圖框區(qū)域上一一對(duì)應(yīng)地添加a4切圖框,從而形成a4圖紙版式的矢量圖切圖。
s1311,根據(jù)所述切圖模型給每一幅矢量圖切圖添加圖框信息。
其中,所述圖框信息包括項(xiàng)目負(fù)責(zé)人,主管,繪圖,審核,設(shè)計(jì),工程名稱等信息項(xiàng)目??梢岳斫獾氖?,每一幅矢量圖切圖中的圖框信息的內(nèi)容是根據(jù)所述目標(biāo)cad矢量圖中的圖框信息的內(nèi)容來生成的。
s1312,根據(jù)與所述矢量圖切圖對(duì)應(yīng)的截圖框的排序?qū)γ恳环噶繄D切圖進(jìn)行圖框序號(hào)標(biāo)示。
當(dāng)每一幅矢量圖切圖中的圖框信息中的內(nèi)容都已經(jīng)生成后,系統(tǒng)會(huì)根據(jù)與所述矢量圖切圖對(duì)應(yīng)的截圖框的排序?qū)γ恳环噶繄D切圖進(jìn)行圖框序號(hào)標(biāo)示,從而使得用戶可以根據(jù)圖框序號(hào)查閱所述矢量圖切圖。需要說明的是,還可以在每一幅矢量圖切圖中添加切圖總數(shù)標(biāo)示,其中,切圖總數(shù)是通過統(tǒng)計(jì)所有矢量圖切圖數(shù)量而得出的。
需要說明的是,在所述步驟s1312之后還可以包括步驟:給每一幅矢量圖切圖添加指北針。其中,優(yōu)選地,所述指北針標(biāo)示在每一幅矢量圖切圖的右上角。
綜上所述,在本發(fā)明實(shí)施例中,通過在獲取到目標(biāo)cad矢量圖時(shí),接收用戶輸入的切圖生成命令,并根據(jù)所述切圖生成命令顯示多個(gè)預(yù)設(shè)的用于對(duì)所述目標(biāo)cad矢量圖進(jìn)行切圖的切圖模型,然后根據(jù)用戶選擇的切圖模型在所述目標(biāo)cad矢量圖中生成與該切圖模型相對(duì)應(yīng)的多個(gè)截圖框,最后再根據(jù)所述切圖模型以及獲取到的所述截圖框生成與所述截圖框相對(duì)應(yīng)的矢量圖切圖。由此可見,本發(fā)明實(shí)施例能夠?qū)ad矢量圖進(jìn)行自動(dòng)切圖,從而可以提高對(duì)cad矢量圖的切圖的效率,并且可以避免因?yàn)槿藶榈恼`操作而影響到切圖的質(zhì)量,因此本發(fā)明也可以提高對(duì)cad矢量圖的切圖的質(zhì)量。
在上述發(fā)明實(shí)施例中,優(yōu)選地,在所述步驟s12之后,所述步驟s13之前,還包括:
s20,當(dāng)判斷出所述截圖框所對(duì)應(yīng)的截圖框區(qū)域中不存在矢量元素時(shí),將所述截圖框刪除。
即,當(dāng)在所述目標(biāo)矢量圖上生成截圖框后,系統(tǒng)會(huì)判斷所述截圖框所對(duì)應(yīng)的截圖框區(qū)域中是否存在矢量元素,若否,系統(tǒng)會(huì)將不存在矢量元素的截圖框刪除,從而在后續(xù)步驟中無需生成與該不存在矢量元素的截圖框?qū)?yīng)的矢量圖切圖,進(jìn)而在打印時(shí)可以避免打印出不存在矢量元素的矢量圖切圖圖紙。
需要說明的是,在本優(yōu)選實(shí)施例中,所述步驟s20之后還可以包括:
s30,當(dāng)接收到用戶對(duì)所述目標(biāo)cad矢量圖中的截圖框發(fā)出的調(diào)整指令后,根據(jù)用戶的操作對(duì)所述截圖框進(jìn)行相應(yīng)調(diào)整,以獲取調(diào)整后的截圖框。
即,當(dāng)在所述目標(biāo)cad矢量圖上生成所述截圖框時(shí),用戶可以選擇是否調(diào)整所述截圖框(例如調(diào)整所述截圖框的大小、位置甚至形狀等),若用戶需要對(duì)所述截圖框做出調(diào)整,用戶可以通過觸摸操作或者鼠標(biāo)操作來調(diào)整所述截圖框,調(diào)整完后用戶可以通過點(diǎn)擊相應(yīng)確認(rèn)按鈕或者是鍵入相關(guān)字符(例如yes或y)來對(duì)調(diào)整后的截圖框進(jìn)行確認(rèn)。
請(qǐng)參見圖4,本發(fā)明實(shí)施例還提供了一種cad矢量圖自動(dòng)切圖裝置,其包括:
獲取模塊10,用于獲取目標(biāo)cad矢量圖;
接收模塊11,用于接收用戶輸入的切圖生成命令,并根據(jù)所述切圖生成命令顯示多個(gè)預(yù)設(shè)的用于對(duì)所述目標(biāo)cad矢量圖進(jìn)行切圖的切圖模型,以供用戶進(jìn)行選擇操作;
截圖框生成模塊12,用于根據(jù)用戶選擇的切圖模型在所述目標(biāo)cad矢量圖中生成與該切圖模型相對(duì)應(yīng)的多個(gè)截圖框,以將所述目標(biāo)cad矢量圖分割成多個(gè)相應(yīng)的截圖框區(qū)域;
切圖生成模塊13,用于根據(jù)所述切圖模型以及獲取到的所述截圖框生成與所述截圖框相對(duì)應(yīng)的矢量圖切圖。
優(yōu)選地,所述切圖模型包括截圖框區(qū)域?qū)挾扰c高度、切圖框模板文件路徑、切圖框區(qū)域?qū)挾扰c高度、縮放系數(shù)以及圖框信息。
進(jìn)一步地,所述截圖框生成模塊12包括:
遍歷單元,用于遍歷所述目標(biāo)cad矢量圖,以獲取所述目標(biāo)cad矢量圖中所有的矢量元素的坐標(biāo)點(diǎn);
坐標(biāo)點(diǎn)比較分析單元,用于對(duì)所有矢量元素的坐標(biāo)點(diǎn)進(jìn)行比較分析,以獲取所述矢量元素坐標(biāo)點(diǎn)中的x坐標(biāo)及y坐標(biāo)的最小、最大值:
切圖區(qū)域生成單元,用于根據(jù)獲取到的x坐標(biāo)及y坐標(biāo)的最小、最大值,得到所述目標(biāo)cad矢量圖的矢量圖切圖區(qū)域,并得到所述矢量圖切圖區(qū)域的寬度與高度;
計(jì)算單元,用于獲取所述切圖模型中截圖框區(qū)域的高度與寬度,并根據(jù)所述矢量圖切圖區(qū)域的寬度與高度以及所述截圖框區(qū)域的高度與寬度,得到所述矢量圖切圖區(qū)域中的截圖框的列數(shù)與行數(shù);
截圖框生成單元,用于以所述矢量圖切圖區(qū)域的左上角坐標(biāo)點(diǎn)、右上角坐標(biāo)點(diǎn)、左下角坐標(biāo)點(diǎn)或右下角坐標(biāo)點(diǎn)為截圖框生成起始點(diǎn),并根據(jù)獲取到的截圖框的列數(shù)與行數(shù)以及截圖框區(qū)域的高度與寬度在所述矢量圖切圖區(qū)域上依次生成所述截圖框。
進(jìn)一步地,所述切圖生成模塊13包括:
復(fù)制遷移單元,用于根據(jù)獲取到的所述截圖框?qū)?duì)應(yīng)的截圖框區(qū)域復(fù)制遷移到相應(yīng)的位置上,并根據(jù)所述切圖模型中的切圖框區(qū)域?qū)挾扰c高度在每一個(gè)所述截圖框區(qū)域的復(fù)制遷移位置上對(duì)應(yīng)生成切圖框區(qū)域;
切圖生成單元,用于根據(jù)所述切圖模型在每一個(gè)所述切圖框區(qū)域上對(duì)應(yīng)生成所述矢量圖切圖。
進(jìn)一步地,所述復(fù)制遷移單元包括:
排序子單元,用于對(duì)每一個(gè)截圖框進(jìn)行排序;
縮放子單元,用于按照截圖框的排序依次復(fù)制與截圖框?qū)?yīng)的截圖框區(qū)域,并將復(fù)制的截圖框區(qū)域按照所述切圖模型中的縮放系數(shù)進(jìn)行縮放;
復(fù)制遷移子單元,用于將縮放后的截圖框區(qū)域復(fù)制遷移到相應(yīng)的位置上,并根據(jù)所述切圖模型中的切圖框區(qū)域?qū)挾扰c高度在每一個(gè)所述截圖框區(qū)域的復(fù)制遷移位置上對(duì)應(yīng)生成切圖框區(qū)域。
進(jìn)一步地,所述目標(biāo)cad矢量圖為管線施工cad矢量圖,則所述排序子單元包括:
判斷次級(jí)單元,用于遍歷遍歷每一個(gè)截圖框,以判斷每一個(gè)截圖框內(nèi)是否存在點(diǎn)元素;
比較分析次級(jí)單元,用于對(duì)存在點(diǎn)元素的每一個(gè)截圖框內(nèi)的所有點(diǎn)元素的位置進(jìn)行比較分析,以獲取每一個(gè)存在點(diǎn)元素的截圖框內(nèi)的為最小位置的點(diǎn)元素;其中,所述點(diǎn)元素的位置以數(shù)字編號(hào)的形式來進(jìn)行表示;
排序次級(jí)單元,用于根據(jù)每一個(gè)存在點(diǎn)元素的截圖框內(nèi)的為最小位置的點(diǎn)元素的位置大小對(duì)每一個(gè)存在點(diǎn)元素的截圖框進(jìn)行排序,并將不存在點(diǎn)元素的截圖框排至最后。
進(jìn)一步地,所述復(fù)制遷移子單元包括:
獲取次級(jí)單元,用于獲取所述切圖模型中的切圖框區(qū)域?qū)挾燃案叨龋?/p>
第一判斷次級(jí)單元,用于判斷當(dāng)前的截圖框區(qū)域和排序位于當(dāng)前的截圖框區(qū)域后面的截圖框區(qū)域的高度之和與所述縮放系數(shù)的乘積是否小于所述切圖框區(qū)域高度;
第一切圖框區(qū)域生成單元,用于若是,則將當(dāng)前的截圖框區(qū)域以及排序位于當(dāng)前的截圖框區(qū)域后面的截圖框區(qū)域一起復(fù)制遷移到相應(yīng)的位置上,并根據(jù)所述切圖框區(qū)域?qū)挾燃案叨仍谠搹?fù)制遷移位置上生成相應(yīng)的切圖框區(qū)域,使得當(dāng)前的截圖框區(qū)域以及排序位于當(dāng)前的截圖框區(qū)域后面的截圖框區(qū)域按照截圖框排序上下設(shè)置在該切圖框區(qū)域中,通知所述第一判斷次級(jí)單元;
第二判斷次級(jí)單元,用于若否,則判斷當(dāng)前的截圖框區(qū)域和排序位于當(dāng)前的截圖框區(qū)域后面的截圖框區(qū)域的寬度之和與所述縮放系數(shù)的乘積是否小于所述切圖框區(qū)域?qū)挾龋?/p>
第二切圖框區(qū)域生成單元,用于若是,則將當(dāng)前的截圖框區(qū)域以及排序位于當(dāng)前的截圖框區(qū)域后面的截圖框區(qū)域一起復(fù)制遷移到相應(yīng)的位置上,并根據(jù)所述切圖框區(qū)域?qū)挾燃案叨仍谠搹?fù)制遷移位置上生成相應(yīng)的切圖框區(qū)域,使得當(dāng)前的截圖框區(qū)域以及排序位于當(dāng)前的截圖框區(qū)域后面的截圖框區(qū)域按照截圖框排序左右設(shè)置在該切圖框區(qū)域中,通知所述第一判斷次級(jí)單元;
第三切圖框區(qū)域生成單元,用于若否,則將當(dāng)前的截圖框區(qū)域復(fù)制遷移到相應(yīng)的位置上,并根據(jù)所述切圖框區(qū)域?qū)挾燃案叨仍诋?dāng)前的截圖框區(qū)域的復(fù)制遷移位置上相應(yīng)生成切圖框區(qū)域。
進(jìn)一步地,所述切圖生成單元包括:
切圖框讀取添加子單元,用于根據(jù)所述切圖模型中的切圖框模板文件路徑讀取預(yù)設(shè)的切圖框,并在每一個(gè)切圖框區(qū)域上對(duì)應(yīng)添加所述切圖框,以形成與所述截圖框區(qū)域相對(duì)應(yīng)的矢量圖切圖;
圖框信息添加子單元,用于根據(jù)所述切圖模型給每一幅矢量圖切圖添加圖框信息;
序號(hào)標(biāo)示子單元,用于根據(jù)與所述矢量圖切圖對(duì)應(yīng)的截圖框的排序?qū)γ恳环噶繄D切圖進(jìn)行圖框序號(hào)標(biāo)示。
在本發(fā)明實(shí)施例中,所述獲取模塊10可以獲取到目標(biāo)cad矢量圖,所述接收模塊11可以接收用戶輸入的切圖生成命令,并根據(jù)所述切圖生成命令顯示多個(gè)預(yù)設(shè)的用于對(duì)所述目標(biāo)cad矢量圖進(jìn)行切圖的切圖模型,然后所述截圖框生成模塊12根據(jù)用戶選擇的切圖模型在所述目標(biāo)cad矢量圖中生成與該切圖模型相對(duì)應(yīng)的多個(gè)截圖框,最后所述切圖生成模塊13再根據(jù)所述切圖模型以及獲取到的所述截圖框生成與所述截圖框相對(duì)應(yīng)的矢量圖切圖。由此可見,本發(fā)明實(shí)施例能夠?qū)ad矢量圖進(jìn)行自動(dòng)切圖,從而可以提高對(duì)cad矢量圖的切圖的效率,并且可以避免因?yàn)槿藶榈恼`操作而影響到切圖的質(zhì)量,因此本發(fā)明也可以提高對(duì)cad矢量圖的切圖的質(zhì)量。
在上述發(fā)明實(shí)施例中,優(yōu)選地,所述cad矢量圖自動(dòng)切圖裝置還包括截圖框刪除模塊,用于當(dāng)判斷出所述截圖框所對(duì)應(yīng)的截圖框區(qū)域中不存在矢量元素時(shí),將所述截圖框刪除。這樣當(dāng)在所述目標(biāo)矢量圖上生成截圖框后,所述截圖框刪除模塊可以判斷所述截圖框所對(duì)應(yīng)的截圖框區(qū)域中是否存在矢量元素,若否,述截圖框刪除模塊會(huì)將不存在矢量元素的截圖框刪除,從而在后續(xù)步驟中無需生成與該不存在矢量元素的截圖框?qū)?yīng)的矢量圖切圖,進(jìn)而在打印時(shí)可以避免打印出不存在矢量元素的矢量圖切圖圖紙。
以上所揭露的僅為本發(fā)明一些較佳實(shí)施例而已,當(dāng)然不能以此來限定本發(fā)明之權(quán)利范圍,本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分流程,并依本發(fā)明權(quán)利要求所作的等同變化,仍屬于發(fā)明所涵蓋的范圍。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(read-onlymemory,rom)或隨機(jī)存儲(chǔ)記憶體(randomaccessmemory,ram)等。