本發(fā)明涉及AltiumDesigner軟件圖紙轉(zhuǎn)換方法,特別涉及自動實(shí)現(xiàn)Altium軟件圖紙轉(zhuǎn)換成PDF文件的方法。
背景技術(shù):
::AltiumDesigner(以下簡稱Altium)是一套一體化的電子產(chǎn)品開發(fā)系統(tǒng),它將原理圖設(shè)計(jì)、電路仿真、PCB繪制編輯、拓?fù)溥壿嬜詣硬季€、信號完整性分析和設(shè)計(jì)輸出等技術(shù)融合在一起,提供了一套完整的解決方案,應(yīng)用十分廣泛。但是由于其圖紙格式為專有格式,造成在圖紙流通、圖紙交流、圖紙審核方面存在一定難度。而現(xiàn)有主流應(yīng)用的PDF(PortableDocumentFormat)文件格式與應(yīng)用程序、操作系統(tǒng)、硬件無關(guān),并能精確地在打印機(jī)上還原色彩、字符及圖像。這些特性使得PDF格式在圖紙文件的交流中應(yīng)用十分方便。目前在Altium中已經(jīng)集成了將其圖紙轉(zhuǎn)換為PDF格式的功能,但是步驟比較繁瑣,需要人工干預(yù),因此就帶來了如下問題:1、現(xiàn)有的PDF轉(zhuǎn)換僅能人工操作完成,無法實(shí)現(xiàn)軟件間的一體化集成方案;2、如果沒有購買Altium軟件廠商的個(gè)性化組件,就不能用程序方式將Altium的圖紙轉(zhuǎn)換為PDF格式;3、無法快速響應(yīng)用戶的Altium等其他類似的一體化集成需求。另外對于PDF格式的轉(zhuǎn)換,除了人工操作外,當(dāng)前還有軟件集成操作技術(shù)可實(shí)現(xiàn),可以通過集成接口、破解等技術(shù),開發(fā)配套工具、文件來執(zhí)行指定軟件的相關(guān)外部操作來完成轉(zhuǎn)換操作。目前的主要技術(shù)有。1、網(wǎng)絡(luò)抓取技術(shù)。通過找到對應(yīng)網(wǎng)頁,反向找到接口,并實(shí)例化對象,比如IHTMLElement、IHTMLDocument、IHTMLWindow對象。這些是通過開放的接口,技術(shù)成熟。2、軟件本身提供集成接口。比如AutoCAD軟件,與軟件一起發(fā)布的有配套開發(fā)工具,其中就會提供二次開發(fā)接口或類,以實(shí)現(xiàn)對軟件的外部操作,并實(shí)現(xiàn)軟件之間的集成。3、完全逆向文件格式。這種方法通過解析文件格式,在二進(jìn)制文件中解析其中內(nèi)容并進(jìn)行響應(yīng)操作。比如OpenCAD就破解了DWG等應(yīng)用廣泛的非公開文件格式。由于Altium軟件中并沒有直接提供其圖紙文件轉(zhuǎn)換成PDF文件的二次開發(fā)接口,所以第1、2條技術(shù)無法使用,另外由于Altium是商業(yè)軟件,其文件格式也是保密的,通過二進(jìn)制文件轉(zhuǎn)換需要逆向其文件格式,研發(fā)成本極大,商業(yè)價(jià)值不顯著。技術(shù)實(shí)現(xiàn)要素:鑒于以上情況,本發(fā)明提出一種自動實(shí)現(xiàn)Altium軟件圖紙轉(zhuǎn)換的方法,在Altium沒有提供將其圖紙轉(zhuǎn)換成PDF文件接口的前提下,開發(fā)出一套模擬操作的方法,聯(lián)合規(guī)則圖像的識別技術(shù),判斷出轉(zhuǎn)換過程中的設(shè)置并進(jìn)行相應(yīng)操作,從而實(shí)現(xiàn)在無需人員介入的機(jī)器上自動地轉(zhuǎn)換成合乎要求的PDF目標(biāo)文件這一功能。一種自動實(shí)現(xiàn)Altium軟件圖紙轉(zhuǎn)換的方法,包含如下步驟:S1:使用腳本錄制工具模擬和錄制Altium中PDF轉(zhuǎn)換的操作步驟;S2:通過自繪控件的圖像識別及其驅(qū)動工具識別腳本錄制工具中每項(xiàng)操作步驟涉及的狀態(tài)及內(nèi)容,并生成相應(yīng)的定制腳本;S3:使用腳本解釋器根據(jù)生成的定制腳本,自動地對每個(gè)步驟進(jìn)行識別,并執(zhí)行腳本完成操作。在本發(fā)明所述的一種自動實(shí)現(xiàn)Altium軟件圖紙轉(zhuǎn)換的方法中,所述步驟S1中腳本錄制工具記錄了手動操作Altium中PDF轉(zhuǎn)換時(shí)執(zhí)行的每一個(gè)操作步驟,且以腳本函數(shù)的方式順序組裝在一起。所述的腳本函數(shù)是指在進(jìn)行手動操作時(shí),經(jīng)過腳本錄制,生成的腳本函數(shù)。在本發(fā)明所述的一種自動實(shí)現(xiàn)Altium軟件圖紙轉(zhuǎn)換的方法中,所述步驟S2包括:S201、自繪控件的圖像識別及其驅(qū)動工具利用界面成像、圖像識別、圖像灰度處理的對象識別技術(shù)對腳本錄制工具中錄制的需要操作的對話框控件狀態(tài)進(jìn)行識別;S202、經(jīng)過識別后,即可通過不同類型的控件狀態(tài)算法,識別出特定控件的狀態(tài),并根據(jù)識別的結(jié)果生成相應(yīng)的定制腳本。所述步驟S201中的對象識別技術(shù)就是根據(jù)我們所可見的對象特征性息,從系統(tǒng)中存在的所有對象中,識別出目標(biāo)對象。根據(jù)識別放法術(shù)可以分為:精確識別與模糊識別。精確識別是根據(jù)對象的明顯特征信息,識別出目標(biāo)對象,不借助任何的參考對象。模糊識別,是在用戶不能通過精確識別來獲取對象的情況下,借助一種基準(zhǔn)對象模糊識別來獲取對象的一種方法。所述步驟S202中的控件狀態(tài)算法是由每個(gè)控件的特征及操作類型決定的。控件狀態(tài)算法目前有兩種類型。(1)普通按鈕控件算法,此類型算法只需識別其位置及邊界,記錄點(diǎn)擊信息即可。(2)復(fù)選框控件算法,此類型算法需要獲取復(fù)選框位置及邊界,并在其內(nèi)部選擇特征區(qū)域像素點(diǎn)查看其顏色,以確定操作前及操作后是否被選中,由此判斷操作的類型。在本發(fā)明所述的一種自動實(shí)現(xiàn)Altium軟件圖紙轉(zhuǎn)換的方法中,所述步驟S3中的腳本解釋器利用對象操作技術(shù),根據(jù)自繪控件的圖像識別及其驅(qū)動工具生成的定制腳本,自動地對每個(gè)步驟進(jìn)行識別,并作出響應(yīng)操作。所述的對象操作技術(shù)是指待目標(biāo)對象識別出來之后,對對象執(zhí)行模擬操作。對象操作要基于四種技術(shù)來完成,鍵盤事件模擬,鼠標(biāo)事件模擬,系統(tǒng)消息,動作宏通過對系統(tǒng)對象的識別和操作,就能模擬出人對軟件的各種操作,從而實(shí)現(xiàn)自動化。附圖說明圖1是一種自動實(shí)現(xiàn)Altium軟件圖紙轉(zhuǎn)換的方法的示意圖。圖2是腳本錄制過程的示意圖。圖3是腳本解釋過程的示意圖。具體實(shí)施方式下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,下面通過參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。一種自動實(shí)現(xiàn)Altium軟件圖紙轉(zhuǎn)換的方法,包含如下步驟:S1:使用腳本錄制工具模擬和錄制Altium中PDF轉(zhuǎn)換的操作步驟;S2:通過自繪控件的圖像識別及其驅(qū)動工具識別腳本錄制工具中每項(xiàng)操作步驟涉及的狀態(tài)及內(nèi)容,并生成相應(yīng)的定制腳本;S3:使用腳本解釋器根據(jù)生成的定制腳本,自動地對每個(gè)步驟進(jìn)行識別,并執(zhí)行腳本完成操作。在本發(fā)明所述的一種自動實(shí)現(xiàn)Altium軟件圖紙轉(zhuǎn)換的方法中,所述步驟S1中的腳本錄制工具記錄了手動操作Altium中PDF轉(zhuǎn)換時(shí)執(zhí)行的每一個(gè)操作步驟,且以腳本函數(shù)的方式順序組裝在一起。所述的腳本函數(shù)是指在進(jìn)行手動操作時(shí),經(jīng)過腳本錄制,生成的腳本函數(shù)。例如有兩個(gè)按鍵按下的操作,經(jīng)過腳本錄制,可以生成腳本函數(shù):pEdit.Run("ComKeyClick","Shift+.");pEdit.Run("ComKeyClick",".")。這些命令就是腳本函數(shù),經(jīng)過腳本解釋器的解釋,即可以實(shí)現(xiàn)自動模擬圖紙轉(zhuǎn)為PDF中的按鍵動作。在本發(fā)明所述的一種自動實(shí)現(xiàn)Altium軟件圖紙轉(zhuǎn)換的方法中,所述步驟S2包括:S201、自繪控件的圖像識別及其驅(qū)動工具利用界面成像、圖像識別、圖像灰度處理等對象識別技術(shù)對腳本錄制工具中錄制的需要操作的對話框控件狀態(tài)進(jìn)行識別;S202、經(jīng)過識別后,即可通過不同類型的控件狀態(tài)算法,識別出特定控件的狀態(tài),根據(jù)識別的結(jié)果生成相應(yīng)的定制腳本。所述步驟S201的對象識別技術(shù)就是根據(jù)我們所可見的對象特征性息,從系統(tǒng)中存在的所有對象中,識別出目標(biāo)對象。根據(jù)識別放法術(shù)可以分為:精確識別與模糊識別。精確識別是根據(jù)對象的明顯特征信息,識別出目標(biāo)對象,不借助任何的參考對象。如對象標(biāo)題,對象的類型名稱,對象在一組對象中的索引號等等信息。模糊識別,是在用戶不能通過精確識別來獲取對象的情況下,借助一種基準(zhǔn)對象模糊識別來獲取對象的一種方法。所述步驟S202的控件狀態(tài)算法是由每個(gè)控件的特征及操作類型決定的??丶顟B(tài)算法目前有兩種類型。(1)普通按鈕控件算法,此類型算法只需識別其位置及邊界,記錄點(diǎn)擊信息即可。(2)復(fù)選框控件算法,此類型算法需要獲取復(fù)選框位置及邊界,并在其內(nèi)部選擇特征區(qū)域像素點(diǎn)查看其顏色,以確定操作前及操作后是否被選中,由此判斷操作的類型。例如,通過對復(fù)選框特定位置的像素點(diǎn)識別來判斷其是否為選中狀態(tài)。這需要在特定對話框?yàn)榧せ顮顟B(tài)時(shí),一一枚舉出該對話框的控件,通過本發(fā)明的圖像識別算法,挑選出特定復(fù)選框的最小外圍矩形,然后再進(jìn)一步識別,判斷出該復(fù)選框的選中狀態(tài)。在本發(fā)明所述的一種自動實(shí)現(xiàn)Altium軟件圖紙轉(zhuǎn)換的方法中,所述步驟S3中腳本解釋器利用對象操作技術(shù),根據(jù)自繪控件的圖像識別及其驅(qū)動工具生成的定制腳本,自動地對每個(gè)步驟進(jìn)行識別,并作出響應(yīng)操作。所述的對象操作技術(shù)是指待目標(biāo)對象識別出來之后,對對象執(zhí)行模擬操作,如模擬鼠標(biāo)進(jìn)行單擊,模擬鍵盤向目標(biāo)對象中輸入一系統(tǒng)字符串等等。對象操作要基于四種技術(shù)來完成,鍵盤事件模擬,鼠標(biāo)事件模擬,系統(tǒng)消息,動作宏通過對系統(tǒng)對象的識別和操作,就能模擬出人對軟件的各種操作,從而實(shí)現(xiàn)自動化。例如:腳本中有條語句pEdit.run(comkeyclick,“/”)。pEdit就是界面上的一個(gè)編輯框,就是一個(gè)對象,這句腳本就是完成向此編輯框輸入“/”的功能。最終結(jié)果就是腳本解釋器執(zhí)行腳本,完成自動操作。實(shí)施本發(fā)明提供一種自動實(shí)現(xiàn)Altium軟件圖紙轉(zhuǎn)換的方法具有以下有益效果:1、實(shí)現(xiàn)了客戶端的一體化的軟件交互體驗(yàn);2、大大的降低了Altium軟件的集成需求的開發(fā)成本;3、通過自動化腳本將圖紙轉(zhuǎn)換成PDF文件,大大壓縮了人工轉(zhuǎn)換的時(shí)間;4、實(shí)現(xiàn)了在無需人員介入的機(jī)器上自動地轉(zhuǎn)換成合乎要求的PDF目標(biāo)文件這一功能。在本說明書的描述中,參考術(shù)語“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。盡管已經(jīng)示出和描述了本發(fā)明的實(shí)施例,本領(lǐng)域的普通技術(shù)人員可以理解:在不脫離本發(fā)明的原理和宗旨的情況下可以對這些實(shí)施例進(jìn)行多種變化、修改、替換和變型,本發(fā)明的范圍由權(quán)利要求及其等同物限定。當(dāng)前第1頁1 2 3 當(dāng)前第1頁1 2 3