圖紙中實(shí)體的選擇方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種圖紙中實(shí)體的選擇方法和裝置。其中,該方法包括:在CAD系統(tǒng)中輸入功能指令之后,調(diào)用對(duì)應(yīng)該功能指令所掛接的預(yù)覽程序;選取圖紙中的拾取點(diǎn);以拾取點(diǎn)為中心篩選預(yù)定范圍內(nèi)的實(shí)體,以獲取預(yù)選擇實(shí)體;通過掛接的預(yù)覽程序處理預(yù)選擇實(shí)體,以預(yù)先顯示輸入指令對(duì)預(yù)選擇實(shí)體處理后的結(jié)果。通過本發(fā)明,能夠可以預(yù)覽控制指令對(duì)選擇實(shí)體進(jìn)行處理后的效果,避免了用戶重復(fù)選擇圖形實(shí)體的次數(shù),進(jìn)而提高了工作效率。
【專利說明】圖紙中實(shí)體的選擇方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及圖形處理領(lǐng)域,具體而言,涉及一種圖紙中實(shí)體的選擇方法和裝置。
【背景技術(shù)】
[0002]隨著信息技術(shù)的不斷發(fā)展,CAD (Computer Aided Design)圖形系統(tǒng)軟件已經(jīng)成為繪圖人員或者設(shè)計(jì)師們不可缺少的制圖工具。由于科技水平的提升,存儲(chǔ)設(shè)備的容量擴(kuò)大,設(shè)計(jì)人員經(jīng)常在一張CAD圖紙中繪制很多實(shí)體。這樣龐大又密集的實(shí)體集合,給CAD系統(tǒng)操作人員在選擇單個(gè)或部分實(shí)體時(shí)帶來了很大的難題。實(shí)體的密集性,使得用戶選中目標(biāo)實(shí)體的機(jī)率降低。這樣的問題還尤為突出地體現(xiàn)在移動(dòng)設(shè)備上。因?yàn)橐话阋苿?dòng)設(shè)備的屏幕較小,手指的指肚和屏幕相比較大,手指在設(shè)備上的CAD圖形系統(tǒng)上,選擇目標(biāo)實(shí)體更佳不準(zhǔn)確,難度會(huì)更高。
[0003]一般情況下,可以通過CAD系統(tǒng)中的控制指令來處理CAD圖形的實(shí)體,控制指令可以包括TRIM命令(修剪實(shí)體命令)、offset命令(偏移實(shí)體命令)、chamfer命令(實(shí)體倒角命令)、Mirror命令(鏡像實(shí)體命令)和Array命令(陣列實(shí)體命令)等,現(xiàn)有的控制指令的處理流程過程包括以下幾個(gè)步驟:
[0004]首先,在CAD平臺(tái)上輸入控制指令之后,該控制指令對(duì)應(yīng)的命令函數(shù)被調(diào)用。
[0005]接著,提示用戶去選擇實(shí)體,用戶按照需求選取拾取點(diǎn)。
[0006]然后,系統(tǒng)根據(jù)拾取點(diǎn)的預(yù)定范圍進(jìn)行實(shí)體篩選,將篩選出的實(shí)體作為已選定實(shí)體。
[0007]最后,控制指令對(duì)已選擇的實(shí)體進(jìn)行相應(yīng)處理。例如:修剪命令會(huì)將實(shí)體進(jìn)行裁剪;刪除命令會(huì)將實(shí)體從圖紙中刪除掉等等。
[0008]由上分析可知,針對(duì)實(shí)體的選擇技術(shù),現(xiàn)有的CAD圖形系統(tǒng)選擇方法和裝置,都是通過手指離開移動(dòng)設(shè)備屏幕上的點(diǎn),作為拾取點(diǎn),再判斷該拾取點(diǎn)在哪個(gè)實(shí)體上,然后將此實(shí)體作為最終選擇實(shí)體。但是這樣的選擇裝置弊端很多,一方面現(xiàn)在的移動(dòng)設(shè)備屏幕很多是電容屏,這樣的屏幕在手指抬起時(shí),離開屏幕的點(diǎn)與用戶想要的拾取點(diǎn)存在偏差,導(dǎo)致最后得到的實(shí)體不能滿足用戶的預(yù)想;另一方面,多數(shù)移動(dòng)設(shè)備的屏幕都是觸摸屏,使用手指來選擇實(shí)體時(shí)很麻煩,由于手指的指肚占據(jù)屏幕區(qū)域比較大,它遮擋了用戶觀察屏幕上的實(shí)體,導(dǎo)致查看選擇實(shí)體困難和無法選擇到理想的實(shí)體。
[0009]并且在現(xiàn)有的選擇實(shí)體方法中,沒有采用選擇過程中預(yù)選擇實(shí)體并將預(yù)選擇實(shí)體的結(jié)果顯示給用戶,導(dǎo)致手指范圍較大,不能解決手指選擇區(qū)多個(gè)實(shí)體時(shí),無法提示用戶將要選擇到實(shí)體,造成用戶誤選實(shí)體。
[0010]另外,由于在實(shí)體選擇過程中,用戶無法預(yù)知到控制指令對(duì)預(yù)選擇實(shí)體的最終處理效果,因此,用戶只能通過控制指令對(duì)已選擇的實(shí)體進(jìn)行處理之后,才能知道選擇的實(shí)體是否滿足需要。如果不滿足,那證明選擇錯(cuò)了,用戶還得執(zhí)行CAD上回退命令,將實(shí)體恢復(fù)到命令處理之前的狀態(tài)重新進(jìn)行選擇,造成重復(fù)選擇次數(shù)多,這樣無形之中造成很多不必要的工作,導(dǎo)致工作效率下降。[0011]目前針對(duì)相關(guān)技術(shù)的在利用圖形系統(tǒng)的控制指令處理圖形實(shí)體的過程中,由于用戶只能在控制指令執(zhí)行之后才可以獲知處理結(jié)果,因此如果處理結(jié)果不滿足需求時(shí),用戶需要將圖形實(shí)體返回到處理前的狀態(tài),導(dǎo)致需要重復(fù)執(zhí)行控制指令的處理過程,降低了工作效率的問題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0012]針對(duì)相關(guān)技術(shù)的在利用圖形系統(tǒng)的控制指令處理圖形實(shí)體的過程中,由于用戶只能在控制指令執(zhí)行之后才可以獲知處理結(jié)果,因此如果處理結(jié)果不滿足需求時(shí),用戶需要將圖形實(shí)體返回到處理前的狀態(tài),導(dǎo)致需要重復(fù)執(zhí)行控制指令的處理過程,降低了工作效率的問題,目前尚未提出有效的解決方案,為此,本發(fā)明的主要目的在于提供一種圖紙中實(shí)體的選擇方法和裝置,以解決上述問題。
[0013]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個(gè)方面,提供了一種圖紙中實(shí)體的選擇方法,該方法包括:在CAD系統(tǒng)中輸入功能指令之后,調(diào)用對(duì)應(yīng)該功能指令所掛接的預(yù)覽程序;選取圖紙中的拾取點(diǎn);以拾取點(diǎn)為中心篩選預(yù)定范圍內(nèi)的實(shí)體,以獲取預(yù)選擇實(shí)體;通過掛接的預(yù)覽程序處理預(yù)選擇實(shí)體,以預(yù)先顯示輸入指令對(duì)預(yù)選擇實(shí)體處理后的結(jié)果。
[0014]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的另一方面,提供了一種圖紙中實(shí)體的選擇裝置,該裝置包括:調(diào)用模塊,用于在CAD系統(tǒng)中輸入功能指令之后,調(diào)用對(duì)應(yīng)該功能指令所掛接的預(yù)覽程序;選取模塊,用于選取圖紙中的拾取點(diǎn);篩選模塊,用于以拾取點(diǎn)為中心篩選預(yù)定范圍內(nèi)的實(shí)體,以獲取預(yù)選擇實(shí)體;處理模塊,用于通過掛接的預(yù)覽程序處理預(yù)選擇實(shí)體,以預(yù)先顯示輸入指令對(duì)預(yù)選擇實(shí)體處理后的結(jié)果。
[0015]通過本發(fā)明,采用在CAD系統(tǒng)中輸入功能指令之后,調(diào)用對(duì)應(yīng)該功能指令所掛接的預(yù)覽程序;選取圖紙中的拾取點(diǎn);以拾取點(diǎn)為中心篩選預(yù)定范圍內(nèi)的實(shí)體,以獲取預(yù)選擇實(shí)體;通過掛接的預(yù)覽程序處理預(yù)選擇實(shí)體,以預(yù)先顯示輸入指令對(duì)預(yù)選擇實(shí)體處理后的結(jié)果,解決了相關(guān)技術(shù)的在利用圖形系統(tǒng)的控制指令處理圖形實(shí)體的過程中,由于用戶只能在控制指令執(zhí)行之后才可以獲知處理結(jié)果,因此如果處理結(jié)果不滿足需求時(shí),用戶需要將圖形實(shí)體返回到處理前的狀態(tài),導(dǎo)致需要重復(fù)執(zhí)行控制指令的處理過程,降低了工作效率的問題,進(jìn)而實(shí)現(xiàn)可以預(yù)覽控制指令對(duì)選擇實(shí)體進(jìn)行處理后的效果,避免了用戶重復(fù)選擇圖形實(shí)體的次數(shù),進(jìn)而達(dá)到了提高工作效率的效果。
【專利附圖】
【附圖說明】
[0016]此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
[0017]圖1是根據(jù)本發(fā)明實(shí)施例的圖紙中實(shí)體的選擇裝置的結(jié)構(gòu)示意圖;
[0018]圖2是根據(jù)本發(fā)明實(shí)施例的圖紙中實(shí)體的選擇方法的流程圖;
[0019]圖3是根據(jù)本發(fā)明實(shí)施例的圖紙中實(shí)體的選擇方法的詳細(xì)流程圖;
[0020]圖4是如圖3所示的實(shí)施例的TRIM命令初始界面的功能示意圖;
[0021]圖5是如圖3所示的實(shí)施例的TRIM命令操作的功能示意圖;以及
[0022]圖6是如圖5所示的實(shí)施例的TRIM命令操作的修剪源實(shí)體和拾取點(diǎn)信息的示意圖?!揪唧w實(shí)施方式】
[0023]需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本發(fā)明。
[0024]在描述本發(fā)明的各實(shí)施例的進(jìn)一步細(xì)節(jié)之前,將參考圖1來描述可用于實(shí)現(xiàn)本發(fā)明的原理的一個(gè)合適的計(jì)算體系結(jié)構(gòu)。在以下描述中,除非另外指明,否則將參考由一個(gè)或多個(gè)計(jì)算機(jī)執(zhí)行的動(dòng)作和操作的符號(hào)表示來描述本發(fā)明的各實(shí)施例。由此,可以理解,有時(shí)被稱為計(jì)算機(jī)執(zhí)行的這類動(dòng)作和操作包括計(jì)算機(jī)的處理單元對(duì)以結(jié)構(gòu)化形式表示數(shù)據(jù)的電信號(hào)的操縱。這一操縱轉(zhuǎn)換了數(shù)據(jù)或在計(jì)算機(jī)的存儲(chǔ)器系統(tǒng)中的位置上維護(hù)它,這以本領(lǐng)域的技術(shù)人員都理解的方式重配置或改變了計(jì)算機(jī)的操作。維護(hù)數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是具有數(shù)據(jù)的格式所定義的特定屬性的存儲(chǔ)器的物理位置。然而,盡管在上述上下文中描述本發(fā)明,但它并不意味著限制性的,如本領(lǐng)域的技術(shù)人員所理解的,后文所描述的動(dòng)作和操作的各方面也可用硬件來實(shí)現(xiàn)。
[0025]轉(zhuǎn)向附圖,其中相同的參考標(biāo)號(hào)指代相同的元素,本發(fā)明的原理被示為在一個(gè)合適的計(jì)算環(huán)境中實(shí)現(xiàn)。以下描述基于所述的本發(fā)明的實(shí)施例,并且不應(yīng)認(rèn)為是關(guān)于此處未明確描述的替換實(shí)施例而限制本發(fā)明。
[0026]本申請(qǐng)的原理可以使用其它通用或?qū)S糜?jì)算或通信環(huán)境或配置來操作。適用于本申請(qǐng)的眾所周知的計(jì)算系統(tǒng)、環(huán)境和配置的示例包括但不限于,個(gè)人計(jì)算機(jī)、服務(wù)器,多處理器系統(tǒng)、基于微處理的系統(tǒng)、小型機(jī)、大型計(jì)算機(jī)、以及包括任一上述系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境。
[0027]在其最基本的配置中,圖1是根據(jù)本發(fā)明實(shí)施例的圖紙中實(shí)體的選擇裝置的結(jié)構(gòu)示意圖。如圖1所示,該圖紙中實(shí)體的選擇裝置可以包括:調(diào)用模塊10、選取模塊30、篩選模塊50和處理模塊70。
[0028]其中,調(diào)用模塊10,用于在CAD系統(tǒng)中輸入功能指令之后,調(diào)用對(duì)應(yīng)該功能指令所掛接的預(yù)覽程序。
[0029]選取模塊30,用于選取圖紙中的拾取點(diǎn)。具體的,該選取模塊30可以用于在CAD圖形系統(tǒng)中選擇拾取點(diǎn)。
[0030]篩選模塊50,用于以拾取點(diǎn)為中心篩選預(yù)定范圍內(nèi)的實(shí)體,以獲取預(yù)選擇實(shí)體。具體的,該篩選模塊50可以篩選以拾取點(diǎn)為中心一定區(qū)域范圍內(nèi)的實(shí)體作為預(yù)選擇實(shí)體,區(qū)域范圍可以按照當(dāng)前顯示屏幕的大小來進(jìn)行調(diào)整,例如如果是手機(jī)顯示屏則可以預(yù)定相對(duì)較大的區(qū)域,而計(jì)算機(jī)顯示屏可以根據(jù)實(shí)際情況預(yù)定相對(duì)較小的顯示區(qū)域。
[0031]處理模塊70,用于通過掛接的所述預(yù)覽程序處理所述預(yù)選擇實(shí)體,以預(yù)先顯示所述輸入指令處理后的所述預(yù)選擇實(shí)體。
[0032]本申請(qǐng)上述實(shí)施例中的調(diào)用模塊10在CAD系統(tǒng)中輸入功能指令之后,開始調(diào)用掛接在該功能指令上的預(yù)覽程序,并在選取模塊30和篩選模塊50實(shí)現(xiàn)在圖形系統(tǒng)(例如CAD圖形系統(tǒng))中基于選取的拾取點(diǎn)進(jìn)行篩選處理,以得到預(yù)選擇實(shí)體之后,通過該掛接的預(yù)覽程序來處理預(yù)選擇實(shí)體,從而預(yù)覽到CAD功能指令所選擇實(shí)體的處理后的效果,解決了相關(guān)技術(shù)的在利用圖形系統(tǒng)的控制指令處理圖形實(shí)體的過程中,由于用戶只能在控制指令執(zhí)行之后才可以獲知處理結(jié)果,因此如果處理結(jié)果不滿足需求時(shí),用戶需要將圖形實(shí)體返回到處理前的狀態(tài),導(dǎo)致需要重復(fù)執(zhí)行控制指令的處理過程,降低了工作效率的問題,進(jìn)而實(shí)現(xiàn)可以預(yù)覽控制指令對(duì)選擇實(shí)體進(jìn)行處理后的效果,避免了用戶重復(fù)選擇圖形實(shí)體的次數(shù),進(jìn)而達(dá)到了提高工作效率的效果。
[0033]具體的,上述方案可以實(shí)現(xiàn)用戶不需要通過“控制命令對(duì)已選擇實(shí)體處理”后,才能知道對(duì)選擇的實(shí)體的處理是否滿足需要。如果不滿足,用戶不需要執(zhí)行CAD系統(tǒng)上的回退命令,將實(shí)體恢復(fù)到命令處理之前的狀態(tài),可以通過預(yù)覽程序?qū)︻A(yù)選擇實(shí)體進(jìn)行處理,把處理后的效果顯示到圖紙上,這樣避免造成很多不必要的工作。從而解決“選擇實(shí)體過程”中無法預(yù)知處理結(jié)果的盲點(diǎn),提高用戶選擇實(shí)體的準(zhǔn)確性。在選擇的過程中,如果用戶預(yù)覽到處理的效果不滿足需求,那么可以移動(dòng)鼠標(biāo)或者手指重新選擇拾取點(diǎn),來獲取新的預(yù)選擇實(shí)體,解決現(xiàn)有選擇錯(cuò)誤后,還需要回退的多余操作。
[0034]本申請(qǐng)上述實(shí)施例中的處理模塊70可以包括:第一獲取模塊,用于獲取預(yù)選擇實(shí)體的實(shí)體信息和拾取點(diǎn)的坐標(biāo)值;子調(diào)用模塊,用于調(diào)用控制指令掛接的預(yù)覽程序中的回調(diào)函數(shù),具體的,該回調(diào)函數(shù)可以為Preview (Entity*ent,Point pt);傳輸模塊,用于回調(diào)函數(shù)將實(shí)體信息和坐標(biāo)值作為參數(shù)傳入給預(yù)覽處理函數(shù),具體的,可以將實(shí)體信息和拾取點(diǎn)坐標(biāo)值作為參數(shù)傳入給Preview (Entity*ent, Point pt);預(yù)覽處理模塊,用于預(yù)覽處理函數(shù)對(duì)預(yù)選擇實(shí)體進(jìn)行預(yù)覽處理,以獲取預(yù)覽處理結(jié)果;顯示模塊,用于將預(yù)覽處理結(jié)果返回給預(yù)覽程序中的回調(diào)函數(shù),并顯示預(yù)覽處理結(jié)果,從而實(shí)現(xiàn)將函數(shù)返回的實(shí)體信息,即對(duì)預(yù)選擇實(shí)體進(jìn)行處理后的效果數(shù)據(jù),顯示到當(dāng)前圖紙中。其中,預(yù)覽處理結(jié)果與掛接預(yù)覽程序的控制指令處理預(yù)選擇實(shí)體的結(jié)果相同。由于上述實(shí)施例通過提供一個(gè)接口來實(shí)現(xiàn)預(yù)覽程序中的回調(diào)函數(shù)去調(diào)用預(yù)覽處理函數(shù),從而實(shí)現(xiàn)了可以在控制指令處理預(yù)選則實(shí)體之前,用于先預(yù)覽一下處理效果。
[0035]優(yōu)選地,上述理裝置還可以包括:第一判斷模塊,用于判斷是否選擇預(yù)覽處理結(jié)果,具體的,可以采用判斷用戶是否輸入確定選擇指令,以確定選擇所述預(yù)覽處理結(jié)果;返回模塊,用于如果確定選擇預(yù)覽處理結(jié)果,則將預(yù)選擇實(shí)體的實(shí)體信息返回給掛接預(yù)覽程序的控制指令,以使得控制指令來處理預(yù)選擇實(shí)體;恢復(fù)模塊,用于如果確定不選擇預(yù)覽處理結(jié)果,則恢復(fù)該預(yù)選擇實(shí)體的至預(yù)覽程序處理該預(yù)選擇實(shí)體之前的狀態(tài),在這個(gè)過程中,后臺(tái)先需要?jiǎng)h除預(yù)覽處理結(jié)果,然后保存預(yù)覽程序處理之前的預(yù)選擇實(shí)體的狀態(tài)。
[0036]具體的,上述實(shí)施例實(shí)現(xiàn)了判斷用戶是否確認(rèn)選擇,如果是,則將實(shí)體恢復(fù)到函數(shù)處理前的狀態(tài),然后將預(yù)選擇實(shí)體信息返回給上層命令。如果否,則將顯示在當(dāng)前圖紙中的效果數(shù)據(jù)刪除,并將預(yù)選擇實(shí)體原來的數(shù)據(jù)信息顯示到圖紙中,然后,再去獲取新的預(yù)選擇實(shí)體,重新調(diào)用掛接的預(yù)覽程序?qū)π骂A(yù)選擇實(shí)體進(jìn)行處理。
[0037]本申請(qǐng)的上述實(shí)施例中,篩選模塊50可以包括:第二獲取模塊、第一計(jì)算模塊和匹配實(shí)體模塊。其中,
[0038]第二獲取模塊,用于獲取圖紙中所有實(shí)體的坐標(biāo)值,具體的,該第一獲取模塊提供了一個(gè)實(shí)體信息獲取模塊,可以用于獲取圖紙中所有實(shí)體的數(shù)據(jù),例如,實(shí)體的坐標(biāo)值。
[0039]第一計(jì)算模塊,用于按照預(yù)定的范圍域值計(jì)算以拾取點(diǎn)為中心的區(qū)域范圍,以獲取預(yù)定范圍。
[0040]匹配實(shí)體模塊,用于將所有實(shí)體的坐標(biāo)值與拾取點(diǎn)的坐標(biāo)值進(jìn)行匹配,并與拾取點(diǎn)在預(yù)定范圍的點(diǎn)的坐標(biāo)值進(jìn)行匹配,以篩選得到預(yù)選擇實(shí)體,其中,預(yù)選擇實(shí)體是與拾取點(diǎn)及該拾取點(diǎn)在預(yù)定范圍內(nèi)的點(diǎn)的坐標(biāo)值部分相同或者完全相同的實(shí)體集合。具體的,該模塊實(shí)現(xiàn)了根據(jù)所有實(shí)體的坐標(biāo)數(shù)據(jù)與預(yù)定范圍內(nèi)的實(shí)體的坐標(biāo)數(shù)據(jù)進(jìn)行匹配,以確定預(yù)選擇實(shí)體,預(yù)定范圍是以當(dāng)前拾取點(diǎn)的坐標(biāo)值及區(qū)域范圍內(nèi)的坐標(biāo)值來劃定,由于預(yù)定范圍不一定可以涵蓋實(shí)體的全部,因此,預(yù)選擇實(shí)體的范圍可能與預(yù)定范圍相同,也可能與預(yù)定范圍有較多的重合部分,由此可知,構(gòu)成該預(yù)選擇實(shí)體的所有實(shí)體點(diǎn)的坐標(biāo)可以全部落在預(yù)定范圍內(nèi),也可以部分落在該預(yù)定范圍內(nèi),顯然,此處部分相同的實(shí)體坐標(biāo)值是一個(gè)范圍值,例如,在移動(dòng)設(shè)備上部分相同的范圍可以是大于等于I個(gè)像素點(diǎn),優(yōu)選可以是10個(gè)像素點(diǎn),在PC機(jī)部分相同的范圍也可以是大于等于I個(gè)像素點(diǎn),優(yōu)選可以是5個(gè)像素點(diǎn)。
[0041]其中,如果在拾取點(diǎn)區(qū)域范圍內(nèi)沒有匹配到實(shí)體,表示本次未選擇到實(shí)體,那么將返回空值給后面的處理模塊。
[0042]本申請(qǐng)的上述各個(gè)實(shí)施例中,裝置還可以包括放大區(qū)預(yù)覽模塊,該模塊可以包括:第三獲取模塊、第二計(jì)算模塊、創(chuàng)建模塊和放大顯示模塊。其中,
[0043]第三獲取模塊,用于獲取預(yù)設(shè)的放大倍數(shù)。
[0044]第二計(jì)算模塊,用于根據(jù)預(yù)設(shè)的放大倍數(shù)和顯示屏的像素進(jìn)行計(jì)算,以得到放大顯示區(qū)域的尺寸。具體的,該模塊實(shí)現(xiàn)了計(jì)算放大尺寸的功能,可以根據(jù)屏幕的大小和放大倍數(shù)計(jì)算出放大區(qū)域的尺寸,例如,放大區(qū)域的尺寸可以等于屏幕的尺寸乘以一個(gè)比例系數(shù)t (變量t可以是用戶設(shè)定的值,但該值不能大于1,用以保證顯示區(qū)域大小總小于屏幕大小),放大區(qū)域內(nèi)部顯示的內(nèi)容大小等于拾取點(diǎn)所在像素乘以預(yù)設(shè)的放大倍數(shù)。
[0045]創(chuàng)建模塊,用于在顯示屏的預(yù)定位置創(chuàng)建放大顯示區(qū)域,具體的,該模塊提供了一個(gè)創(chuàng)建放大區(qū)的功能,即根據(jù)拾取點(diǎn)和屏幕大小在手指遮擋不到的合適位置上,創(chuàng)建顯示放大區(qū)。
[0046]放大顯示模塊,用于在放大顯示區(qū)域顯示預(yù)選擇實(shí)體,或顯示通過掛接的所述預(yù)覽程序處理后的預(yù)選擇實(shí)體。具體的,該模塊實(shí)現(xiàn)了預(yù)覽放顯示處理后的結(jié)果,用于預(yù)覽被選實(shí)體在命令處理過后的效果。
[0047]具體的,上述實(shí)施例可以應(yīng)用于放大顯示當(dāng)手指的指肚遮擋了選擇實(shí)體的區(qū)域,即提供了一個(gè)在放大區(qū)預(yù)覽預(yù)選擇實(shí)體的功能,用于在屏幕的適當(dāng)位置生成一個(gè)放大區(qū)域,在此放大區(qū)域中放大顯示手指的指肚遮擋的區(qū)域,并顯示掛接的預(yù)覽程序?qū)︻A(yù)選擇實(shí)體處理后的效果,如果用戶沒有掛接預(yù)覽程序,那么結(jié)果預(yù)覽模塊中只有放大顯示預(yù)選擇實(shí)體的功能起作用。
[0048]優(yōu)選地,本申請(qǐng)上述實(shí)施例還可以包括一個(gè)預(yù)設(shè)模塊,用于選擇實(shí)體前掛接預(yù)覽程序并設(shè)定范圍域值和放大倍數(shù)。具體的,該預(yù)設(shè)模塊中設(shè)置的放大倍數(shù),為了能達(dá)到放大的效果,放大倍數(shù)至少在原實(shí)體一倍以上。
[0049]優(yōu)選地,本申請(qǐng)上述裝置中還可以包括:突出顯示模塊,用于按照預(yù)定的突出顯示方式顯示預(yù)選擇實(shí)體,其中,突出顯示方式包括:設(shè)置預(yù)選擇實(shí)體的線條顯示屬性。例如,可以將預(yù)選擇實(shí)體的線性變成虛線,也可以將預(yù)選擇實(shí)體的線寬加粗,還可以將預(yù)選擇實(shí)體的顏色改變等等方式。
[0050]該突出顯示模塊可以包括:讀取模塊,用于讀取預(yù)選擇實(shí)體的實(shí)體信息;
[0051]突出處理模塊70,用于按照預(yù)設(shè)的顯示屬性更新預(yù)選擇實(shí)體的實(shí)體信息,以獲取突出顯示的預(yù)選擇實(shí)體。具體的,可以按照預(yù)定的突出顯示方式處理預(yù)選擇實(shí)體,并顯示處理后的預(yù)選擇實(shí)體。
[0052]本申請(qǐng)上述實(shí)施例通過選取模塊30和篩選模塊50實(shí)現(xiàn)在圖形系統(tǒng)(例如CAD圖形系統(tǒng))中基于選取的拾取點(diǎn)進(jìn)行篩選處理,即基于拾取點(diǎn)確定一個(gè)實(shí)體的范圍,并通過突出顯示模塊將這個(gè)預(yù)定范圍內(nèi)的實(shí)體作為一個(gè)被選擇的對(duì)象顯示給用戶,且用區(qū)別于其它實(shí)體部分的特殊的突出顯示方式來顯示該預(yù)選擇實(shí)體,用戶可以準(zhǔn)確的確認(rèn)自己選擇的實(shí)體,且不需要做出其它多余的操作,從而解決了相關(guān)技術(shù)的在圖形系統(tǒng)中,用戶無法準(zhǔn)確且簡(jiǎn)單的獲取實(shí)體的問題,進(jìn)而實(shí)現(xiàn)提高圖形系統(tǒng)中選擇目標(biāo)實(shí)體的準(zhǔn)確度的效果。
[0053]具體的,上述實(shí)施例可以應(yīng)用在CAD圖形系統(tǒng)中進(jìn)行復(fù)雜錯(cuò)亂的多實(shí)體選擇場(chǎng)景中,特別是在移動(dòng)平臺(tái)(如智能手機(jī),平板電腦)設(shè)備上面實(shí)體的選擇裝置,例如可以克服在CAD系統(tǒng)上選擇實(shí)體操作時(shí)手指抬起后,拾取點(diǎn)偏差,導(dǎo)致沒有選擇到預(yù)期實(shí)體的不足。
[0054]優(yōu)選地,上述實(shí)施例中的選取模塊30可以包括:提示模塊,用于顯示文字,以提示用戶選擇實(shí)體;拾取點(diǎn)獲取模塊,用于獲取用戶在移動(dòng)設(shè)備上拾取點(diǎn)的坐標(biāo)值。其中,該拾取點(diǎn)不是固定點(diǎn),用戶可在顯示設(shè)備上CAD圖形系統(tǒng)中隨處選取。并且支持手指滑動(dòng)的方式拾取,本發(fā)明將獲取最后的滑動(dòng)點(diǎn)作為拾取點(diǎn)。
[0055]本申請(qǐng)的上述實(shí)施例中,裝置還可以包括:第二判斷模塊,用于判斷當(dāng)前拾取點(diǎn)與上一次拾取點(diǎn)是否相同;確定模塊,用于在相同的情況下,返回確定是否結(jié)束獲取拾取點(diǎn)的操作,其中,在沒有結(jié)束獲取拾取點(diǎn)的情況下,如果上一次拾取點(diǎn)處于所述預(yù)定范圍內(nèi),獲取上一次拾取點(diǎn),否則,取消顯示當(dāng)前拾取點(diǎn)所對(duì)應(yīng)的預(yù)選擇實(shí)體,和/或取消在放大顯示區(qū)域顯示預(yù)選擇實(shí)體;在不相同的情況下,執(zhí)行處理模塊70,以通過掛接的預(yù)覽程序處理當(dāng)前的拾取點(diǎn)所對(duì)應(yīng)的預(yù)選擇實(shí)體,具體的,可以清除上一次拾取點(diǎn)所對(duì)應(yīng)的預(yù)選擇實(shí)體,以顯示當(dāng)前拾取點(diǎn)所對(duì)應(yīng)的預(yù)選擇實(shí)體。
[0056]優(yōu)選地,可以在沒有結(jié)束獲取拾取點(diǎn),且如果上一次預(yù)選擇實(shí)體處于預(yù)定范圍內(nèi)的情況下,獲取所述上一次預(yù)選擇實(shí)體。
[0057]具體的,上述實(shí)施例實(shí)現(xiàn)了,判斷此次拾取點(diǎn)是否與上一次拾取點(diǎn)相同,如果是,則調(diào)用確定模塊,該確定模塊用于確定結(jié)束選擇操作,返回預(yù)選擇實(shí)體作為最終結(jié)果;如果不是,則需要調(diào)用恢復(fù)原狀態(tài)模塊,該恢復(fù)原狀態(tài)模塊,用于將上一次的預(yù)選擇實(shí)體的預(yù)覽效果清除,并恢復(fù)到它之前的狀態(tài),即如果不選擇當(dāng)前原來程序?qū)︻A(yù)選擇實(shí)體的處理結(jié)果,則在用戶手指離開顯示界面上的預(yù)選擇實(shí)體之后,系統(tǒng)刪除當(dāng)前預(yù)覽程序處理預(yù)選擇實(shí)體的效果,回復(fù)到處理前的狀態(tài),目的是為了突出顯示本次預(yù)選擇實(shí)體。
[0058]其中,確定模塊可以包括如下業(yè)務(wù)功能模塊:判斷操作模塊,用于判斷用戶是否結(jié)束選擇操作,如果用戶結(jié)束選擇操作,則調(diào)用清除預(yù)覽模塊進(jìn)行清理操作,例如取消圖紙上預(yù)選擇實(shí)體被預(yù)覽的效果或突出顯示效果,以及清除放大區(qū)域中預(yù)選擇實(shí)體的結(jié)果預(yù)覽;然后再調(diào)用返回結(jié)果模塊,用于返回最后一次篩選模塊50得到的預(yù)選擇實(shí)體;如果沒有結(jié)束操作,則跳轉(zhuǎn)到選取模塊30進(jìn)行拾取點(diǎn)的選取。
[0059]由上可知,本申請(qǐng)所提供的方案通過突出顯示方式來顯示該預(yù)選擇實(shí)體,用戶可以準(zhǔn)確的確認(rèn)自己選擇的實(shí)體,同時(shí)提供掛接用戶預(yù)覽程序接口,可以在放大區(qū)中預(yù)覽到命令對(duì)預(yù)選擇實(shí)體操作后的效果,來提高用戶對(duì)實(shí)體選擇的準(zhǔn)確性。
[0060]由于本發(fā)明通過在屏幕上創(chuàng)建放大區(qū)域,放大顯示用戶手指觸屏點(diǎn)周圍區(qū)域內(nèi)容,從而解決手指的指肚遮擋屏幕上實(shí)體,無法選擇目標(biāo)實(shí)體的問題。[0061]另外,本發(fā)明在選擇實(shí)體過程中,就可以進(jìn)行實(shí)體預(yù)選擇,同時(shí)將預(yù)選擇的結(jié)果表現(xiàn)在屏幕上。可以讓用戶在選擇實(shí)體過程中,知道選擇完成后將是哪個(gè)實(shí)體被選擇及將被處理后的效果。
[0062]具體的,本發(fā)明涉及用于在CAD圖形系統(tǒng)中實(shí)體選擇,特別是在移動(dòng)平臺(tái)(如智能手機(jī),平板電腦)設(shè)備上面實(shí)體的選擇裝置。發(fā)明的應(yīng)用領(lǐng)域主要在CAD系統(tǒng)中復(fù)雜錯(cuò)亂的多實(shí)體選擇場(chǎng)景等等方面。
[0063]圖2是根據(jù)本發(fā)明實(shí)施例的圖紙中實(shí)體的選擇方法的流程圖;圖3是根據(jù)本發(fā)明實(shí)施例的圖紙中實(shí)體的選擇方法的詳細(xì)流程圖。
[0064]如圖2所示,該方法包括如下步驟:
[0065]步驟A,通過圖1中的調(diào)用函數(shù)在CAD系統(tǒng)中輸入功能指令之后,調(diào)用對(duì)應(yīng)該功能指令所掛接的預(yù)覽程序。
[0066]步驟B,通過圖1中的選取模塊30來選取圖紙中的拾取點(diǎn)。具體的,該步驟實(shí)現(xiàn)了可以用于在CAD圖形系統(tǒng)中選擇拾取點(diǎn)。
[0067]步驟C,通過圖1中的篩選模塊50來實(shí)現(xiàn)以拾取點(diǎn)為中心篩選預(yù)定范圍內(nèi)的實(shí)體,以獲取預(yù)選擇實(shí)體。具體的,該步驟實(shí)現(xiàn)了可以篩選以拾取點(diǎn)為中心一定區(qū)域范圍內(nèi)的實(shí)體作為預(yù)選擇實(shí)體,區(qū)域范圍可以按照當(dāng)前顯示屏幕的大小來進(jìn)行調(diào)整,例如如果是手機(jī)顯示屏則可以預(yù)定相對(duì)較大的區(qū)域,而計(jì)算機(jī)顯示屏可以根據(jù)實(shí)際情況預(yù)定相對(duì)較小的顯示區(qū)域。
[0068]步驟D,通過圖1中的突出顯示模塊來實(shí)現(xiàn)通過掛接的所述預(yù)覽程序處理所述預(yù)選擇實(shí)體,以預(yù)先顯示所述輸入指令處理后的所述預(yù)選擇實(shí)體。具體的,該步驟實(shí)現(xiàn)了提供了一個(gè)預(yù)覽當(dāng)前預(yù)選擇實(shí)體的功能,用于在圖紙上,顯示預(yù)覽預(yù)選擇的實(shí)體,用以給用戶提供預(yù)覽當(dāng)前控制指令處理預(yù)選擇實(shí)體后的效果。
[0069]本申請(qǐng)上述實(shí)施例中的在CAD系統(tǒng)中輸入功能指令之后,開始調(diào)用掛接在該功能指令上的預(yù)覽程序,并在實(shí)現(xiàn)在圖形系統(tǒng)(例如CAD圖形系統(tǒng))中基于選取的拾取點(diǎn)進(jìn)行篩選處理,以得到預(yù)選擇實(shí)體之后,通過該掛接的預(yù)覽程序來處理預(yù)選擇實(shí)體,從而預(yù)覽到CAD功能指令所選擇實(shí)體的處理后的效果,解決了相關(guān)技術(shù)的在利用圖形系統(tǒng)的控制指令處理圖形實(shí)體的過程中,由于用戶只能在控制指令執(zhí)行之后才可以獲知處理結(jié)果,因此如果處理結(jié)果不滿足需求時(shí),用戶需要將圖形實(shí)體返回到處理前的狀態(tài),導(dǎo)致需要重復(fù)執(zhí)行控制指令的處理過程,降低了工作效率的問題,進(jìn)而實(shí)現(xiàn)可以預(yù)覽控制指令對(duì)選擇實(shí)體進(jìn)行處理后的效果,避免了用戶重復(fù)選擇圖形實(shí)體的次數(shù),進(jìn)而達(dá)到了提高工作效率的效果。
[0070]具體的,上述方案可以實(shí)現(xiàn)用戶不需要通過“控制命令對(duì)已選擇實(shí)體處理”后,才能知道對(duì)選擇的實(shí)體的處理是否滿足需要。如果不滿足,用戶不需要執(zhí)行CAD系統(tǒng)上的回退命令,將實(shí)體恢復(fù)到命令處理之前的狀態(tài),可以通過預(yù)覽程序?qū)︻A(yù)選擇實(shí)體進(jìn)行處理,把處理后的效果顯示到圖紙上,這樣避免造成很多不必要的工作。從而解決“選擇實(shí)體過程”中無法預(yù)知處理結(jié)果的盲點(diǎn),提高用戶選擇實(shí)體的準(zhǔn)確性。在選擇的過程中,如果用戶預(yù)覽到處理的效果不滿足需求,那么可以移動(dòng)鼠標(biāo)或者手指重新選擇拾取點(diǎn),來獲取新的預(yù)選擇實(shí)體,解決現(xiàn)有選擇錯(cuò)誤后,還需要回退的多余操作。
[0071]本申請(qǐng)上述實(shí)施例中的步驟D,通過掛接的預(yù)覽程序處理預(yù)選擇實(shí)體,以預(yù)先顯示輸入指令對(duì)預(yù)選擇實(shí)體處理后的結(jié)果的步驟可以包括如下步驟:[0072]步驟DI,提示用戶選擇實(shí)體,用戶確定拾取點(diǎn)之后,系統(tǒng)可以獲取預(yù)選擇實(shí)體的實(shí)體信息和拾取點(diǎn)的坐標(biāo)值。
[0073]步驟D2,調(diào)用控制指令掛接的預(yù)覽程序中的回調(diào)函數(shù)。,具體的,該回調(diào)函數(shù)可以為 Preview (Entity*ent, Point pt)
[0074]步驟D3,回調(diào)函數(shù)將實(shí)體信息和坐標(biāo)值作為參數(shù)傳入給預(yù)覽處理函數(shù),具體的,可以將實(shí)體信息和拾取點(diǎn)坐標(biāo)值作為參數(shù)傳入給Preview (Entity*ent, Point pt)。
[0075]步驟D4,預(yù)覽處理函數(shù)對(duì)預(yù)選擇實(shí)體進(jìn)行預(yù)覽處理,以獲取預(yù)覽處理結(jié)果;
[0076]步驟D5,將預(yù)覽處理結(jié)果返回給預(yù)覽程序中的回調(diào)函數(shù),并顯示預(yù)覽處理結(jié)果,從而實(shí)現(xiàn)將函數(shù)返回的實(shí)體信息,即對(duì)預(yù)選擇實(shí)體進(jìn)行處理后的效果數(shù)據(jù),顯示到當(dāng)前圖紙中。
[0077]其中,預(yù)覽處理結(jié)果與掛接預(yù)覽程序的控制指令處理預(yù)選擇實(shí)體的結(jié)果相同。在上述過程中,在預(yù)覽程序處理預(yù)選擇實(shí)體之前,如果存在上一次對(duì)實(shí)體的預(yù)覽效果,要先清除上一次的預(yù)覽結(jié)果。
[0078]由于上述實(shí)施例通過提供一個(gè)接口來實(shí)現(xiàn)預(yù)覽程序中的回調(diào)函數(shù)去調(diào)用預(yù)覽處理函數(shù),從而實(shí)現(xiàn)了可以在控制指令處理預(yù)選則實(shí)體之前,用于先預(yù)覽一下處理效果。
[0079]優(yōu)選地,在上述步驟D5中顯示預(yù)覽處理結(jié)果之后,還可以包括如下步驟:
[0080]步驟D6,判斷是否選擇預(yù)覽處理結(jié)果,如果確定選擇預(yù)覽處理結(jié)果,則進(jìn)入步驟D7,而如果確定不選擇預(yù)覽處理結(jié)果,則進(jìn)入步驟D8。具體的,可以采用判斷用戶是否輸入確定選擇指令,以確定選擇所述預(yù)覽處理結(jié)果。
[0081]步驟D7,此時(shí),可以將預(yù)選擇實(shí)體的實(shí)體信息返回給掛接預(yù)覽程序的控制指令,以使得控制指令來處理預(yù)選擇實(shí)體。具體的,此時(shí)會(huì)將預(yù)選擇實(shí)體作為已經(jīng)選擇的實(shí)體返回給對(duì)應(yīng)的控制指令,控制指令對(duì)已選擇的實(shí)體進(jìn)行相應(yīng)的處理。
[0082]步驟D8,恢復(fù)該預(yù)選擇實(shí)體的至預(yù)覽程序處理該預(yù)選擇實(shí)體之前的狀態(tài)。在這個(gè)過程中,后臺(tái)先需要?jiǎng)h除預(yù)覽處理結(jié)果,然后保存預(yù)覽程序處理之前的預(yù)選擇實(shí)體的狀態(tài)。
[0083]具體的,上述實(shí)施例實(shí)現(xiàn)了判斷用戶是否確認(rèn)選擇,如果是,則將實(shí)體恢復(fù)到函數(shù)處理前的狀態(tài),然后將預(yù)選擇實(shí)體信息返回給上層命令。如果否,則將顯示在當(dāng)前圖紙中的效果數(shù)據(jù)刪除,并將預(yù)選擇實(shí)體原來的數(shù)據(jù)信息顯示到圖紙中,然后,再去獲取新的預(yù)選擇實(shí)體,重新調(diào)用掛接的預(yù)覽程序?qū)π骂A(yù)選擇實(shí)體進(jìn)行處理。
[0084]本申請(qǐng)上述實(shí)施例中,步驟B,以拾取點(diǎn)為中心篩選預(yù)定范圍內(nèi)的實(shí)體,以獲取預(yù)選擇實(shí)體的步驟可以包括如下步驟:
[0085]步驟BI,獲取圖紙中所有實(shí)體的坐標(biāo)值,具體的,該步驟提供了一個(gè)實(shí)體信息獲取模塊,可以用于獲取圖紙中所有實(shí)體的數(shù)據(jù),例如,實(shí)體的坐標(biāo)值。
[0086]步驟B2,按照預(yù)定的范圍域值計(jì)算以拾取點(diǎn)為中心的區(qū)域范圍,以獲取預(yù)定范圍。
[0087]步驟B3,將所有實(shí)體的坐標(biāo)值與拾取點(diǎn)的坐標(biāo)值進(jìn)行匹配,并與拾取點(diǎn)在預(yù)定范圍的點(diǎn)的坐標(biāo)值進(jìn)行匹配,以篩選得到預(yù)選擇實(shí)體,其中,預(yù)選擇實(shí)體是與拾取點(diǎn)及該拾取點(diǎn)在預(yù)定范圍內(nèi)的點(diǎn)的坐標(biāo)值部分相同或者完全相同的實(shí)體集合。具體的,該步驟實(shí)現(xiàn)了根據(jù)所有實(shí)體數(shù)據(jù)和當(dāng)前拾取點(diǎn)的坐標(biāo)值,以及域值數(shù)據(jù)匹配在拾取點(diǎn)區(qū)域范圍內(nèi)的實(shí)體,作為預(yù)選擇實(shí)體,由于預(yù)定范圍不一定可以涵蓋實(shí)體的全部,因此,預(yù)選擇實(shí)體的范圍可能與預(yù)定范圍相同,也可能與預(yù)定范圍有較多的重合部分,由此可知,構(gòu)成該預(yù)選擇實(shí)體的所有實(shí)體點(diǎn)的坐標(biāo)可以全部落在預(yù)定范圍內(nèi),也可以部分落在該預(yù)定范圍內(nèi),顯然,此處部分相同的實(shí)體坐標(biāo)值可以是一個(gè)范圍值,例如,在移動(dòng)設(shè)備上部分相同的范圍可以是大于等于I個(gè)像素點(diǎn),優(yōu)選可以是10個(gè)像素點(diǎn),在PC機(jī)部分相同的范圍也可以是大于等于I個(gè)像素點(diǎn),優(yōu)選可以是5個(gè)像素點(diǎn)。而且,如果在拾取點(diǎn)區(qū)域范圍內(nèi)沒有匹配到實(shí)體,表示本次未選擇到實(shí)體,那么將返回空值給后面處理模塊。
[0088]本申請(qǐng)上述實(shí)施例中,在以拾取點(diǎn)為中心篩選預(yù)定范圍內(nèi)的實(shí)體,以獲取預(yù)選擇實(shí)體之后,還可以包括如下步驟:獲取預(yù)設(shè)的放大倍數(shù);根據(jù)預(yù)設(shè)的放大倍數(shù)和顯示屏的像素進(jìn)行計(jì)算,以得到放大顯示區(qū)域的尺寸,具體的,可以根據(jù)屏幕的大小和放大倍數(shù)計(jì)算出放大區(qū)域的尺寸;在顯示屏的預(yù)定位置創(chuàng)建放大顯示區(qū)域,即根據(jù)拾取點(diǎn)和屏幕大小在手指遮擋不到的合適位置上,創(chuàng)建顯示放大區(qū);在放大顯示區(qū)域顯示預(yù)選擇實(shí)體,和/或顯示突出顯示方式處理后的預(yù)選擇實(shí)體。具體的,放大區(qū)域的尺寸可以等于屏幕的尺寸乘以一個(gè)比例系數(shù)t(變量t可以是用戶設(shè)定的值,但該值不能大于1,用以保證顯示區(qū)域大小總小于屏幕大小),放大區(qū)域內(nèi)部顯示的內(nèi)容大小等于拾取點(diǎn)所在像素乘以預(yù)設(shè)的放大倍數(shù)。
[0089]具體的,上述實(shí)施例可以應(yīng)用于放大顯示當(dāng)手指的指肚遮擋了選擇實(shí)體的區(qū)域,即提供了一個(gè)在放大區(qū)預(yù)覽預(yù)選擇實(shí)體的功能,用于在屏幕的適當(dāng)位置生成一個(gè)放大區(qū)域,在此放大區(qū)域中放大顯示手指的指肚遮擋的區(qū)域,并顯示掛接的預(yù)覽程序?qū)︻A(yù)選擇實(shí)體處理后的效果,如果用戶沒有掛接預(yù)覽程序,那么結(jié)果預(yù)覽模塊中只有放大顯示預(yù)選擇實(shí)體的功能起作用。
[0090]優(yōu)選地,如圖3所示,在選取圖紙中的拾取點(diǎn)之前,可以掛接預(yù)覽程序并設(shè)定范圍域值和放大倍數(shù)。具體的,該預(yù)設(shè)模塊中設(shè)置的放大倍數(shù),為了能達(dá)到放大的效果,放大倍數(shù)至少在原實(shí)體一倍以上。
[0091]本申請(qǐng)上述實(shí)施例中的步驟C,在以拾取點(diǎn)為中心篩選預(yù)定范圍內(nèi)的實(shí)體,以獲取預(yù)選擇實(shí)體之后,還可以包括如下步驟:按照預(yù)定的突出顯示方式顯示預(yù)選擇實(shí)體,其中,突出顯示方式包括:設(shè)置預(yù)選擇實(shí)體的顯示屬性,該步驟的具體流程如下:
[0092]首先,讀取預(yù)選擇實(shí)體的實(shí)體信息。
[0093]然后,按照預(yù)設(shè)的顯示屬性更新預(yù)選擇實(shí)體的實(shí)體信息,以獲取突出顯示的預(yù)選擇實(shí)體。具體的,可以按照預(yù)定的突出顯示方式處理預(yù)選擇實(shí)體,并顯示處理后的預(yù)選擇實(shí)體。
[0094]本申請(qǐng)上述實(shí)施例通過在圖形系統(tǒng)(例如CAD圖形系統(tǒng))中基于選取的拾取點(diǎn)進(jìn)行篩選處理,即基于拾取點(diǎn)確定一個(gè)實(shí)體的范圍,將這個(gè)預(yù)定范圍內(nèi)的實(shí)體作為一個(gè)被選擇的對(duì)象顯示給用戶,且用區(qū)別于其它實(shí)體部分的特殊的突出顯示方式來顯示該預(yù)選擇實(shí)體,用戶可以準(zhǔn)確的確認(rèn)自己選擇的實(shí)體,且不需要做出其它多余的操作,從而解決了相關(guān)技術(shù)的在圖形系統(tǒng)中,用戶無法準(zhǔn)確且簡(jiǎn)單的獲取實(shí)體的問題,進(jìn)而實(shí)現(xiàn)提高圖形系統(tǒng)中選擇目標(biāo)實(shí)體的準(zhǔn)確度的效果。
[0095]具體的,上述實(shí)施例可以應(yīng)用在CAD圖形系統(tǒng)中進(jìn)行復(fù)雜錯(cuò)亂的多實(shí)體選擇場(chǎng)景中,特別是在移動(dòng)平臺(tái)(如智能手機(jī),平板電腦)設(shè)備上面實(shí)體的選擇裝置,例如可以克服在CAD系統(tǒng)上選擇實(shí)體操作時(shí)手指抬起后,拾取點(diǎn)偏差,導(dǎo)致沒有選擇到預(yù)期實(shí)體的不足。由此可知,利用本發(fā)明可以克服在CAD系統(tǒng)上選擇實(shí)體操作時(shí)手指抬起后,拾取點(diǎn)偏差,導(dǎo)致沒有選擇到預(yù)期實(shí)體的不足。進(jìn)一步可以解決手指遮擋實(shí)體,導(dǎo)致無法預(yù)覽選擇實(shí)體的問題,從而提高了 CAD系統(tǒng)上選擇實(shí)體的準(zhǔn)確度,且在選取實(shí)體過程中就能預(yù)覽到命令對(duì)選擇實(shí)體處理的結(jié)果。
[0096]優(yōu)選地,上述實(shí)施例中的步驟A選取圖紙中的拾取點(diǎn)的步驟可以包括:顯示文字,以提示用戶選擇實(shí)體;獲取用戶在移動(dòng)設(shè)備上拾取點(diǎn)的坐標(biāo)值。其中,該拾取點(diǎn)不是固定點(diǎn),用戶可在顯示設(shè)備上CAD圖形系統(tǒng)中隨處選取。并且支持手指滑動(dòng)的方式拾取,本發(fā)明將獲取最后的滑動(dòng)點(diǎn)作為拾取點(diǎn)。
[0097]本申請(qǐng)上述實(shí)施例中,在以拾取點(diǎn)為中心篩選預(yù)定范圍內(nèi)的實(shí)體,以獲取預(yù)選擇實(shí)體之后,還可以包括如下步驟:判斷當(dāng)前拾取點(diǎn)與上一次拾取點(diǎn)是否相同,其中,在相同的情況下,返回確定是否結(jié)束獲取拾取點(diǎn)的操作,其中,在沒有結(jié)束獲取拾取點(diǎn)的情況下,獲取上一次拾取點(diǎn),否則,取消顯示當(dāng)前拾取點(diǎn)所對(duì)應(yīng)的預(yù)選擇實(shí)體,和/或取消在放大顯示區(qū)域顯示預(yù)選擇實(shí)體;在不相同的情況下,執(zhí)行通過掛接的預(yù)覽程序處理當(dāng)前的拾取點(diǎn)所對(duì)應(yīng)的預(yù)選擇實(shí)體的步驟,具體的,可以清除上一次預(yù)選擇實(shí)體,以顯示當(dāng)前預(yù)選擇實(shí)體。優(yōu)選地,可以在沒有結(jié)束獲取拾取點(diǎn),且如果上一次拾取點(diǎn)處于預(yù)定范圍內(nèi)的情況下,獲取所述上一次拾取點(diǎn)。
[0098]上述實(shí)施例實(shí)現(xiàn)了,判斷此次預(yù)選擇實(shí)體是否與上一次預(yù)選擇實(shí)體相同,如果是,則確定結(jié)束選擇操作并返回預(yù)選擇實(shí)體作為最終結(jié)果,即確定結(jié)束選擇操作,并返回預(yù)選擇實(shí)體作為最終結(jié)果;如果不是,則需要調(diào)用恢復(fù)原狀態(tài)模塊,該恢復(fù)原狀態(tài)模塊,用于將上一次的預(yù)選擇實(shí)體的預(yù)覽效果清除,并恢復(fù)到它之前的狀態(tài),即如果不選擇當(dāng)前預(yù)覽程序?qū)︻A(yù)選擇實(shí)體的處理結(jié)果,則在用戶手指離開顯示界面上的預(yù)選擇實(shí)體之后,系統(tǒng)刪除當(dāng)前預(yù)覽程序處理預(yù)選擇實(shí)體的效果,恢復(fù)到處理前的狀態(tài),目的是為了預(yù)覽顯示本次預(yù)選擇實(shí)體。
[0099]優(yōu)選地,還需要于判斷用戶是否結(jié)束選擇操作,如果用戶結(jié)束選擇操作,則調(diào)用清除預(yù)覽模塊進(jìn)行清理操作,例如取消圖紙上預(yù)選擇實(shí)體被預(yù)覽的效果或突出顯示效果,以及清除放大區(qū)域中預(yù)選擇實(shí)體的結(jié)果預(yù)覽;然后再調(diào)用返回結(jié)果模塊,用于返回最后一次篩選得到的預(yù)選擇實(shí)體;如果沒有結(jié)束操作,則跳轉(zhuǎn)到進(jìn)行拾取點(diǎn)的選取。
[0100]由上可知,本申請(qǐng)所提供的方案通過突出顯示方式來顯示該預(yù)選擇實(shí)體,用戶可以準(zhǔn)確的確認(rèn)自己選擇的實(shí)體,同時(shí)提供掛接用戶預(yù)覽程序接口,可以在放大區(qū)中預(yù)覽到命令對(duì)預(yù)選擇實(shí)體操作后的效果,來提高用戶對(duì)實(shí)體選擇的準(zhǔn)確性。
[0101]本申請(qǐng)上述圖紙中實(shí)體的選擇方法和裝置的實(shí)施例,可以實(shí)現(xiàn)在CAD圖形系統(tǒng)的應(yīng)用環(huán)境中,如圖3所示,下面就基于CAD圖形系統(tǒng)中TRM命令為例,結(jié)合TRM命令調(diào)用本詳細(xì)描述本發(fā)明的一個(gè)實(shí)施例流程,并對(duì)每個(gè)步驟加以詳細(xì)介紹。
[0102]圖3是根據(jù)本發(fā)明實(shí)施例的圖紙中實(shí)體的選擇方法的詳細(xì)流程圖;圖4是如圖3所示的實(shí)施例的TRIM命令初始界面的功能示意圖;圖5是如圖3所示的實(shí)施例的TRIM命令操作的功能示意圖;圖6是如圖5所示的實(shí)施例的TRIM命令操作的修剪源實(shí)體和拾取點(diǎn)信息的示意圖。
[0103]如圖3所示,其中TRM命令為CAD圖形系統(tǒng)中,用于修剪實(shí)體對(duì)象以與其他實(shí)體對(duì)象的邊相接的操作方法。TRIM命令操作方式是先選擇要修剪的實(shí)體作為修剪源,然后再選擇修剪邊。
[0104]如圖4所示,在移動(dòng)設(shè)備的CAD圖形系統(tǒng)中存在一些復(fù)雜的圖元實(shí)體。用戶已經(jīng)選擇了圖4中SlOl區(qū)域內(nèi)的兩條直線實(shí)體,作為TRIM命令的修剪源,修剪源是用于在CAD圖形系統(tǒng)中執(zhí)行TRIM修剪命令所操作的目標(biāo)實(shí)體,選擇實(shí)體作為修剪邊。具體步驟如圖4所示,包括如下步驟:
[0105]步驟I)選擇實(shí)體前掛接命令預(yù)覽程序并設(shè)定范圍域值和放大倍數(shù)。
[0106]步驟2)提示用戶選擇實(shí)體,用于TRM命令的修剪操作。具體的,Trim命令調(diào)用用戶選擇的實(shí)體作為修剪實(shí)體。
[0107]步驟3)如圖5所示,選取拾取點(diǎn)S102,并獲取用戶在屏幕上拾取點(diǎn)S102的坐標(biāo)值和圖紙中所有實(shí)體信息。
[0108]具體的,如圖6所示,該拾取點(diǎn)S102可以是拾取點(diǎn)Pt,該拾取點(diǎn)S102標(biāo)識(shí)的是執(zhí)行TRIM命令時(shí)用戶去選擇實(shí)體的操作點(diǎn)或選擇點(diǎn),由于SlOl標(biāo)識(shí)的是即將被執(zhí)行TRIM命令所需要的實(shí)體,因此,S102可以是SlOl標(biāo)識(shí)的實(shí)體上的一個(gè)點(diǎn)。
[0109]步驟4)計(jì)算拾取點(diǎn)S102區(qū)域范圍,如圖5中S105所示。根據(jù)預(yù)設(shè)的范圍域值來確定拾取點(diǎn)S102對(duì)應(yīng)的區(qū)域范圍S105。
[0110]步驟5)篩選范圍S105內(nèi)的實(shí)體。如圖5中的S103實(shí)體在區(qū)域范圍內(nèi),那么將此實(shí)體作為本次預(yù)選擇實(shí)體。如果范圍S105內(nèi)沒有篩選到實(shí)體,那么將返回空值。具體的,如圖6所示,篩選拾取點(diǎn)pt預(yù)選范圍內(nèi)的實(shí)體作為預(yù)選擇實(shí)體ent。
[0111]步驟6)判斷本次預(yù)選擇實(shí)體是否與上一次預(yù)選擇實(shí)體相同。如果是,則進(jìn)入步驟10);如果否,則進(jìn)入下一步驟7)。
[0112]步驟7)清除上一次預(yù)選擇實(shí)體的預(yù)覽顯示效果,為了顯示本次預(yù)覽結(jié)果。
[0113]步驟8)在圖紙上顯示預(yù)覽程序處理該預(yù)選擇實(shí)體后的預(yù)覽結(jié)果,并突出顯示預(yù)選擇實(shí)體S103,如圖5所示,這里采用加粗線寬的突出顯示方式。但不限于圖5所示的加粗線寬,還可以采用將線條設(shè)為虛線,變換顏色等方式。
[0114]步驟9)生成一個(gè)放大區(qū)顯示手指的指肚遮擋的區(qū)域,并顯示控制指令所掛接的預(yù)覽程序?qū)Υ祟A(yù)選擇實(shí)體處理后的效果。其中,顯示控制指令所掛接的預(yù)覽程序?qū)Υ祟A(yù)選擇實(shí)體處理后的效果的步驟具體可以包括如下步驟:
[0115]首先,調(diào)用trim命令的回調(diào)函數(shù)Preview(Entity*ent, Point pt),將獲取的預(yù)選擇實(shí)體的實(shí)體信息ent和拾取點(diǎn)坐標(biāo)Pt傳入給預(yù)覽處理函數(shù)。
[0116]然后,在trim命令掛接的函數(shù)Preview內(nèi)部,根據(jù)pt坐標(biāo)值判斷該預(yù)選擇實(shí)體將要被修剪掉的線段。
[0117]接著,如圖6所示,該預(yù)覽處理函數(shù)將需要修剪線段的端點(diǎn)Pts的坐標(biāo)值修改與此預(yù)選擇實(shí)體相關(guān)的另一個(gè)修剪源實(shí)體的交點(diǎn)PtIns的坐標(biāo)值,得到預(yù)覽處理結(jié)果。
[0118]此時(shí),將修改后的實(shí)體信息ent作為回調(diào)函數(shù)的結(jié)果返回,即將預(yù)覽處理結(jié)果返回。
[0119]最后,將函數(shù)返回的實(shí)體信息,即對(duì)預(yù)選擇實(shí)體進(jìn)行預(yù)覽程序處理后得到的預(yù)覽處理結(jié)果的數(shù)據(jù)ent,顯示到當(dāng)前圖紙中。
[0120]根據(jù)放大倍數(shù)和屏幕像素計(jì)算出,用于放大顯示區(qū)域的大小尺寸,在屏幕的適當(dāng)位置顯示此放大區(qū),并在放大區(qū)中顯示保存的實(shí)體。如果用戶在步驟I)中掛接了命令預(yù)覽程序,那么調(diào)用程序?qū)Υ藢?shí)體進(jìn)行處理,然后獲取處理結(jié)果在放大區(qū)中顯示,如上圖中S104所示。[0121]步驟10)判斷是否結(jié)束選擇。如果是,則進(jìn)入下一步驟11);如果否,則清除預(yù)覽顯示的效果,再轉(zhuǎn)回到步驟3 )重新獲取拾取點(diǎn)。
[0122]步驟11)返回最后一次篩選出的預(yù)選擇實(shí)體給上層TRIM命令,結(jié)束本次選擇操作。
[0123]此處需要明了的是,本申請(qǐng)的圖紙中實(shí)體的選擇方法和裝置的實(shí)施例可以應(yīng)用于CAD圖紙中TRM命令的操作,還可以應(yīng)用在CAD圖紙中的其他操作,例如:
[0124]a、可以用在offset命令(偏移實(shí)體命令)上,在輸入命令后提示用戶選擇實(shí)體,然后調(diào)用本申請(qǐng)上述實(shí)施例所提供的方案在CAD系統(tǒng)上進(jìn)行選擇實(shí)體,最后將預(yù)覽結(jié)果、突出顯示和/或放大顯示的實(shí)體給上層offset命令。
[0125]b.可以用在chamfer命令(實(shí)體倒角命令)上,在輸入命令后提示用戶選擇復(fù)制實(shí)體,然后調(diào)用本申請(qǐng)上述實(shí)施例所提供的方案來選擇實(shí)體進(jìn)行復(fù)制操作,最后將預(yù)覽結(jié)果、突出顯示和/或放大顯示的實(shí)體給上層chamfer命令。
[0126]c.可以用在Mirror命令(鏡像實(shí)體命令)上,執(zhí)行命令后提示用戶選擇鏡像實(shí)體,然后調(diào)用本申請(qǐng)上述實(shí)施例所提供的方案來選擇鏡像實(shí)體,最后將預(yù)覽結(jié)果、突出顯示和/或放大顯示的實(shí)體給上層Mirror命令。
[0127]d.可以用在Array命令(陣列實(shí)體命令)上,執(zhí)行命令后提示用戶選擇實(shí)體進(jìn)行陣列,然后調(diào)用本申請(qǐng)上述實(shí)施例所提供的方案來選擇實(shí)體,最后將預(yù)覽結(jié)果、突出顯示和/或放大顯示的實(shí)體給上層Array命令。
[0128]從以上描述中,可以看出,本發(fā)明上述的實(shí)施例中實(shí)現(xiàn)了如下技術(shù)效果:本發(fā)明通過在選擇實(shí)體過程中,突顯拾取點(diǎn)所在范圍內(nèi)的實(shí)體,以及在放大區(qū)域中調(diào)用掛接的命令預(yù)覽程序,對(duì)實(shí)體處理預(yù)覽效果,提高用戶對(duì)實(shí)體選擇的準(zhǔn)確性。解決用戶多次選擇和選擇不準(zhǔn)確的問題。
[0129]需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
[0130]本發(fā)明的原理可以使用其它通用或?qū)S糜?jì)算或通信環(huán)境或配置來操作。適用于本發(fā)明的眾所周知的計(jì)算系統(tǒng)、環(huán)境和配置的示例包括但不限于,個(gè)人計(jì)算機(jī)、服務(wù)器,多處理器系統(tǒng)、基于微處理的系統(tǒng)、小型機(jī)、大型計(jì)算機(jī)、以及包括任一上述系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境。
[0131]如本發(fā)明所使用的,術(shù)語“模塊”、“組件”或“單元”可以指在配置信息的更新系統(tǒng)200上執(zhí)行的軟件對(duì)象或例程。此處所描述的不同組件、模塊、單元、引擎和服務(wù)可被實(shí)現(xiàn)為在標(biāo)志位的訪問系統(tǒng)200上執(zhí)行(例如,作為單獨(dú)的線程)的對(duì)象或進(jìn)程。盡管此處所描述的系統(tǒng)和方法較佳地以軟件來實(shí)現(xiàn),但是硬件或軟件和硬件的組合的實(shí)現(xiàn)也是可能并被構(gòu)
相的
心、U J O
[0132]本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見即可,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
[0133]顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算裝置來實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來執(zhí)行,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
[0134] 以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種圖紙中實(shí)體的選擇方法,其特征在于,包括: 在CAD系統(tǒng)中輸入功能指令之后,調(diào)用對(duì)應(yīng)該功能指令所掛接的預(yù)覽程序; 選取圖紙中的拾取點(diǎn); 以所述拾取點(diǎn)為中心篩選預(yù)定范圍內(nèi)的實(shí)體,以獲取預(yù)選擇實(shí)體; 通過掛接的所述預(yù)覽程序處理所述預(yù)選擇實(shí)體,以預(yù)先顯示所述輸入指令對(duì)所述預(yù)選擇實(shí)體處理后的結(jié)果。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,通過掛接的所述預(yù)覽程序處理所述預(yù)選擇實(shí)體,以預(yù)先顯示所述輸入指令對(duì)所述預(yù)選擇實(shí)體處理后的結(jié)果的步驟包括: 獲取所述預(yù)選擇實(shí)體的實(shí)體信息和所述拾取點(diǎn)的坐標(biāo)值; 調(diào)用所述控制指令掛接的所述預(yù)覽程序中的回調(diào)函數(shù); 所述回調(diào)函數(shù)將所述實(shí)體信息和所述坐標(biāo)值作為參數(shù)傳入給預(yù)覽處理函數(shù); 所述預(yù)覽處理函數(shù)對(duì)所述預(yù)選擇實(shí)體進(jìn)行預(yù)覽處理,以獲取預(yù)覽處理結(jié)果; 將所述預(yù)覽處理結(jié)果返回給所述預(yù)覽程序中的回調(diào)函數(shù),并顯示所述預(yù)覽處理結(jié)果;其中,所述預(yù)覽處理結(jié)果與掛接所述預(yù)覽程序的控制指令處理所述預(yù)選擇實(shí)體的結(jié)果相同。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,在顯示所述預(yù)覽處理結(jié)果之后,所述方法還包括: 判斷是否選擇所述預(yù)覽處理結(jié)果; 如果確定選擇所述預(yù)覽處理結(jié)果,則將所述預(yù)選擇實(shí)體的實(shí)體信息返回給掛接所述預(yù)覽程序的控制指令,以使得所述控制指令來處理所述預(yù)選擇實(shí)體; 如果確定不選擇所述預(yù)覽處理結(jié)果,則恢復(fù)所述預(yù)選擇實(shí)體的至所述預(yù)覽程序處理所述預(yù)選擇實(shí)體之前的狀態(tài)。
4.根據(jù)權(quán)利要求1至3中任意一項(xiàng)所述的方法,其特征在于,以所述拾取點(diǎn)為中心篩選預(yù)定范圍內(nèi)的實(shí)體,以獲取預(yù)選擇實(shí)體的步驟包括: 獲取所述圖紙中所有實(shí)體的坐標(biāo)值; 按照預(yù)定的范圍域值計(jì)算以所述拾取點(diǎn)為中心的區(qū)域范圍,以獲取所述預(yù)定范圍; 將所述所有實(shí)體的坐標(biāo)值與所述拾取點(diǎn)的坐標(biāo)值進(jìn)行匹配,并與所述預(yù)定范圍的點(diǎn)的坐標(biāo)值進(jìn)行匹配,以篩選得到所述預(yù)選擇實(shí)體,其中,所述預(yù)選擇實(shí)體是與所述拾取點(diǎn)及該拾取點(diǎn)在預(yù)定范圍內(nèi)的點(diǎn)的坐標(biāo)值部分相同或者完全相同的實(shí)體集合。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,在通過掛接的所述預(yù)覽程序處理所述預(yù)選擇實(shí)體之后,所述方法還包括: 獲取預(yù)設(shè)的放大倍數(shù); 根據(jù)所述預(yù)設(shè)的放大倍數(shù)和顯示屏的像素進(jìn)行計(jì)算,以得到放大顯示區(qū)域的尺寸; 在所述顯示屏的預(yù)定位置創(chuàng)建所述放大顯示區(qū)域; 在所述放大顯示區(qū)域顯示所述預(yù)選擇實(shí)體,或顯示通過掛接的所述預(yù)覽程序處理后的預(yù)選擇實(shí)體。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,在以所述拾取點(diǎn)為中心篩選預(yù)定范圍內(nèi)的實(shí)體,以獲取預(yù)選擇實(shí)體之后,所述方法還包括:按照預(yù)定的突出顯示方式顯示所述預(yù)選擇實(shí)體,其中,所述突出顯示方式包括:設(shè)置所述預(yù)選擇實(shí)體的顯示屬性,該步驟包括:讀取預(yù)選擇實(shí)體的實(shí)體信息; 按照預(yù)設(shè)的顯示屬性更新所述預(yù)選擇實(shí)體的實(shí)體信息,以獲取突出顯示的所述預(yù)選擇實(shí)體。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,在按照預(yù)定的突出顯示方式顯示所述預(yù)選擇實(shí)體之前,所述方法還包括: 判斷當(dāng)前拾取點(diǎn)與上一次拾取點(diǎn)是否相同,其中, 在相同的情況下,返回確定是否結(jié)束獲取所述拾取點(diǎn)的操作,其中,在沒有結(jié)束獲取所述拾取點(diǎn)的情況下,如果上一次拾取點(diǎn)處于所述預(yù)定范圍內(nèi),則獲取所述上一次拾取點(diǎn),否貝U,取消顯示所述當(dāng)前拾取點(diǎn)所對(duì)應(yīng)的預(yù)選擇實(shí)體; 在不相同的情況下,進(jìn)入通過掛接的所述預(yù)覽程序處理所述當(dāng)前拾取點(diǎn)所對(duì)應(yīng)的預(yù)選擇實(shí)體的步驟。
8.—種圖紙中實(shí)體的選擇裝置,其特征在于,包括: 調(diào)用模塊,用于在CAD系統(tǒng)中輸入功能指令之后,調(diào)用對(duì)應(yīng)該功能指令所掛接的預(yù)覽程序; 選取模塊,用于選取圖紙中的拾取點(diǎn); 篩選模塊,用于以所述拾取點(diǎn)為中心篩選預(yù)定范圍內(nèi)的實(shí)體,以獲取預(yù)選擇實(shí)體; 處理模塊,用于通過掛接的所述預(yù)覽程序處理所述預(yù)選擇實(shí)體,以預(yù)先顯示所述輸入指令對(duì)所述預(yù)選擇實(shí)體處理后的結(jié)果。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述處理模塊包括: 第一獲取模塊,用于獲取所述預(yù)選擇實(shí)體的實(shí)體信息和所述拾取點(diǎn)的坐標(biāo)值; 子調(diào)用模塊,用于調(diào)用所述控制指令掛接的所述預(yù)覽程序中的回調(diào)函數(shù); 傳輸模塊,用于所述回調(diào)函數(shù)將所述實(shí)體信息和所述坐標(biāo)值作為參數(shù)傳入給預(yù)覽處理函數(shù); 預(yù)覽處理模塊,用于所述預(yù)覽處理函數(shù)對(duì)所述預(yù)選擇實(shí)體進(jìn)行預(yù)覽處理,以獲取預(yù)覽處理結(jié)果; 顯示模塊,用于將所述預(yù)覽處理結(jié)果返回給所述預(yù)覽程序中的回調(diào)函數(shù),并顯示所述預(yù)覽處理結(jié)果; 其中,所述預(yù)覽處理結(jié)果與掛接所述預(yù)覽程序的控制指令處理所述預(yù)選擇實(shí)體的結(jié)果相同。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述處理裝置還包括: 第一判斷模塊,用于判斷是否選擇所述預(yù)覽處理結(jié)果; 返回模塊,用于如果確定選擇所述預(yù)覽處理結(jié)果,則將所述預(yù)選擇實(shí)體的實(shí)體信息返回給掛接所述預(yù)覽程序的控制指令,以使得所述控制指令來處理所述預(yù)選擇實(shí)體; 恢復(fù)模塊,用于如果確定不選擇所述預(yù)覽處理結(jié)果,則恢復(fù)所述預(yù)選擇實(shí)體的至所述預(yù)覽程序處理所述預(yù)選擇實(shí)體之前的狀態(tài)。
11.根據(jù)權(quán)利要求8至10中任意一項(xiàng)所述的裝置,其特征在于,所述篩選模塊包括: 第二獲取模塊,用于獲取所述圖紙中所有實(shí)體的坐標(biāo)值; 第一計(jì)算模塊,用于按照預(yù)定的范圍域值計(jì)算以所述拾取點(diǎn)為中心的區(qū)域范圍,以獲取所述預(yù)定范圍;匹配實(shí)體模塊,用于將所述所有實(shí)體的坐標(biāo)值與所述拾取點(diǎn)的坐標(biāo)值進(jìn)行匹配,并與所述預(yù)定范圍的點(diǎn)的坐標(biāo)值進(jìn)行匹配,以篩選得到所述預(yù)選擇實(shí)體,其中,所述預(yù)選擇實(shí)體是與所述拾取點(diǎn)及該拾取點(diǎn)在預(yù)定范圍內(nèi)的點(diǎn)的坐標(biāo)值部分相同或者完全相同的實(shí)體集口 O
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述裝置還包括: 第三獲取模塊,用于獲取預(yù)設(shè)的放大倍數(shù); 第二計(jì)算模塊,用于根據(jù)所述預(yù)設(shè)的放大倍數(shù)和顯示屏的像素進(jìn)行計(jì)算,以得到放大顯示區(qū)域的尺寸; 創(chuàng)建模塊,用于在所述顯示屏的預(yù)定位置創(chuàng)建所述放大顯示區(qū)域; 放大顯示模塊,用于在所述放大顯示區(qū)域顯示所述預(yù)選擇實(shí)體,或顯示通過掛接的所述預(yù)覽程序處理后的預(yù)選擇實(shí)體。
13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述裝置還包括:突出顯示模塊,用于按照預(yù)定的突出顯示方式顯示所述預(yù)選擇實(shí)體,其中,所述突出顯示方式包括:設(shè)置所述預(yù)選擇實(shí)體的線條顯示屬性,所述突出顯示模塊包括: 讀取模塊,用于讀取預(yù)選擇實(shí)體的實(shí)體信息; 突出處理模塊,用于按照預(yù)設(shè)的顯示屬性更新所述預(yù)選擇實(shí)體的實(shí)體信息,以獲取突出顯示的所述預(yù)選擇實(shí)體。
14.根據(jù)權(quán)利要求13所 述的裝置,其特征在于,所述裝置還包括: 第二判斷模塊,用于判斷當(dāng)前拾取點(diǎn)與上一次拾取點(diǎn)是否相同; 確定模塊,用于在相同的情況下,返回確定是否結(jié)束獲取所述拾取點(diǎn)的操作,其中,在沒有結(jié)束獲取所述拾取點(diǎn)的情況下,如果上一次拾取點(diǎn)處于所述預(yù)定范圍內(nèi),則獲取所述上一次拾取點(diǎn),否則,取消獲取所述當(dāng)前拾取點(diǎn);在不相同的情況下,執(zhí)行所述處理模塊,以通過掛接的所述預(yù)覽程序處理所述當(dāng)前拾取點(diǎn)所對(duì)應(yīng)的預(yù)選擇實(shí)體。
【文檔編號(hào)】G06F3/0481GK103530021SQ201310495518
【公開日】2014年1月22日 申請(qǐng)日期:2013年10月18日 優(yōu)先權(quán)日:2013年10月18日
【發(fā)明者】汪光勝, 官松彬, 李長(zhǎng)春, 梁江, 陸翔 申請(qǐng)人:蘇州浩辰軟件股份有限公司