專利名稱:電路板觀視程序的文件格式的轉(zhuǎn)換方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種文件的轉(zhuǎn)換方法,特別有關(guān)于一種電路板觀視程序的文件格式的 轉(zhuǎn)換方法。
背景技術(shù):
在開發(fā)電子產(chǎn)品的過程中,都需要頻繁處理電路板數(shù)據(jù)文件。廠區(qū)通常使用文本 格式電路板數(shù)據(jù)文件(Computer-aided design,簡(jiǎn)稱CAD),但由于使用資源耗費(fèi)龐大(例 如繪圖計(jì)算器需要高等級(jí)的處理器或大容量的內(nèi)存,大尺寸文本數(shù)據(jù)導(dǎo)致網(wǎng)絡(luò)傳輸效率低 下),對(duì)于頻繁上傳,下載,高頻度使用文本數(shù)據(jù)CAD的廠區(qū)實(shí)在是一大負(fù)擔(dān)。所以為達(dá)到 高效,快捷、可持續(xù)性平滑處理電路板文件的目的,另有廠商提出電路板的觀視軟件(Board Viewer)。由于觀視軟件不需大量處理資源,所以許多生產(chǎn)廠商多會(huì)采用觀視軟件。電路觀視軟件可以將文本格式電路板數(shù)據(jù)文件進(jìn)行加密、循環(huán)冗余校驗(yàn)(CRC)與 壓縮為二進(jìn)制數(shù)據(jù)檔(binary data)。這樣一來,可大幅度降低文本格式數(shù)據(jù)大小,可以方 便在因特網(wǎng)上傳輸。雖然二進(jìn)制數(shù)據(jù)文件具有上述優(yōu)點(diǎn),但在每次導(dǎo)出二進(jìn)制數(shù)據(jù)文件時(shí),電路觀視 軟件會(huì)根據(jù)所使用的數(shù)據(jù)邏輯結(jié)構(gòu)重新組織數(shù)據(jù),再生成固定數(shù)據(jù)結(jié)構(gòu)。電路觀視軟件會(huì) 將固定數(shù)據(jù)結(jié)構(gòu)存放轉(zhuǎn)換后二進(jìn)制數(shù)據(jù)文件中。在二進(jìn)制數(shù)據(jù)文件中的數(shù)據(jù)邏輯結(jié)構(gòu)與物理存儲(chǔ)結(jié)構(gòu)之間的強(qiáng)綁定關(guān)會(huì)嚴(yán)重阻 礙新版的電路觀視軟件對(duì)原有二進(jìn)制數(shù)據(jù)文件加載。使得每一次電路觀視軟件數(shù)據(jù)結(jié)構(gòu)的 升級(jí)都需要對(duì)原有二進(jìn)制數(shù)據(jù)文件重新轉(zhuǎn)換,這嚴(yán)重影響了二進(jìn)制數(shù)據(jù)文件的易用性和可 維護(hù)性,極有可能成為基于二進(jìn)制數(shù)據(jù)應(yīng)用的電路觀視軟件及相關(guān)衍生系統(tǒng)全面推廣的絆 腳石。
發(fā)明內(nèi)容
鑒于以上的問題,本發(fā)明的主要目的在于提供一種電路板觀視程序的文件格式的 轉(zhuǎn)換方法,其將電路板觀視程序(Board viewer)加載的二進(jìn)制數(shù)據(jù)文件轉(zhuǎn)換為新版本的電 路板觀視程序所支持的觀看文件,實(shí)現(xiàn)電路板數(shù)據(jù)加載的向下兼容性。為達(dá)上述目的,本發(fā)明所揭露的電路板觀視程序的文件格式的轉(zhuǎn)換方法包括下列 步驟步驟a.由電路板觀視程序加載二進(jìn)制數(shù)據(jù)文件,在二進(jìn)制數(shù)據(jù)文件中的每一元 件數(shù)據(jù)電路模塊包括數(shù)據(jù)邏輯結(jié)構(gòu)與數(shù)據(jù)物理儲(chǔ)存結(jié)構(gòu);步驟b.對(duì)二進(jìn)制數(shù)據(jù)文件的元件數(shù)據(jù)電路模塊進(jìn)行修改,并取得元件數(shù)據(jù)電路 模塊修改后的數(shù)據(jù)邏輯結(jié)構(gòu)與數(shù)據(jù)物理儲(chǔ)存結(jié)構(gòu);步驟c.對(duì)步驟b所產(chǎn)生的數(shù)據(jù)邏輯結(jié)構(gòu)與數(shù)據(jù)物理儲(chǔ)存結(jié)構(gòu)運(yùn)行調(diào)配腳本,將數(shù) 據(jù)邏輯結(jié)構(gòu)與數(shù)據(jù)物理儲(chǔ)存結(jié)構(gòu)綁定(Bound)成動(dòng)態(tài)連結(jié)文件; 步驟d.將二進(jìn)制數(shù)據(jù)文件加載至電路板觀視程序;
步驟e.檢查二進(jìn)制數(shù)據(jù)文件所屬版本是否與電路觀視軟件一致;步驟f.若二進(jìn)制數(shù)據(jù)文件與電路觀視軟件的版本不一致時(shí),則電路觀視軟件運(yùn) 行調(diào)配腳本并調(diào)用操作接口,通過操作接口從動(dòng)態(tài)連結(jié)文件中取出步驟b所修改的元件數(shù) 據(jù)電路模塊與相應(yīng)的數(shù)據(jù)邏輯結(jié)構(gòu)與數(shù)據(jù)物理儲(chǔ)存結(jié)構(gòu);以及步驟g.根據(jù)步驟f所取出的元件數(shù)據(jù)電路模塊與相應(yīng)的數(shù)據(jù)邏輯結(jié)構(gòu)與數(shù)據(jù)物 理儲(chǔ)存結(jié)構(gòu)加入二進(jìn)制數(shù)據(jù)文件中,藉以產(chǎn)生觀看文件。本發(fā)明提供一種電路板觀視程序的文件格式的轉(zhuǎn)換方法,用以將電路開發(fā)軟件所 能讀取的二進(jìn)制數(shù)據(jù)文件轉(zhuǎn)換成電路板觀視程序所支持的觀視文件。并且根據(jù)二進(jìn)制數(shù)據(jù) 文件在各修改元件數(shù)據(jù)電路模塊的期間,輸出相應(yīng)的動(dòng)態(tài)連結(jié)文件,使得電路板觀視程序 在進(jìn)行觀看時(shí)可以分別的加載不同修改期間的元件數(shù)據(jù)電路模塊。有關(guān)本發(fā)明的特征與實(shí)作,茲配合圖示作最佳實(shí)施例詳細(xì)說明如下。
圖1為本發(fā)明的運(yùn)作流程示意圖;圖2為本發(fā)明的檔案結(jié)構(gòu)示意圖;圖3為本發(fā)明的運(yùn)作示意圖。主要元件符號(hào)說明211 數(shù)據(jù)邏輯結(jié)構(gòu)212 數(shù)據(jù)物理儲(chǔ)存結(jié)構(gòu)311 二進(jìn)制數(shù)據(jù)文件312 動(dòng)態(tài)連結(jié)文件313 觀看文件
具體實(shí)施例方式誠如前述所言二進(jìn)制輸出的二進(jìn)制數(shù)據(jù)文件雖然可以提供高效、便捷與安全的數(shù) 據(jù)應(yīng)用,但是電路觀視軟件而言無法支持不同版本所輸出的二進(jìn)制數(shù)據(jù)文件。為能解決前 述問題,本發(fā)明應(yīng)用在電路板觀視程序(board viewer)在觀看不同新舊版本的電路開發(fā)軟 件(Computer-aided design, CAD)所輸出的二進(jìn)制數(shù)據(jù)文件。請(qǐng)參考「圖1」所示,其為本 發(fā)明的運(yùn)作流程示意圖。本發(fā)明包括下列步驟步驟a.由電路版觀視程序加載具有多個(gè)元件數(shù)據(jù)電路模塊的二進(jìn)制數(shù)據(jù)文件, 二進(jìn)制數(shù)據(jù)文件的每一元件數(shù)據(jù)電路模塊均包括數(shù)據(jù)邏輯結(jié)構(gòu)與數(shù)據(jù)物理儲(chǔ)存結(jié)構(gòu);步驟b.取得元件數(shù)據(jù)電路模塊修改后的數(shù)據(jù)邏輯結(jié)構(gòu)與數(shù)據(jù)物理儲(chǔ)存結(jié)構(gòu);步驟c.對(duì)修改后的數(shù)據(jù)邏輯結(jié)構(gòu)與數(shù)據(jù)物理儲(chǔ)存結(jié)構(gòu)運(yùn)行調(diào)配腳本,通過調(diào)配 腳本將數(shù)據(jù)邏輯結(jié)構(gòu)與數(shù)據(jù)物理儲(chǔ)存結(jié)構(gòu)綁定成動(dòng)態(tài)連結(jié)文件;步驟d.將二進(jìn)制數(shù)據(jù)文件加載至電路板觀視程序;步驟e.檢查二進(jìn)制數(shù)據(jù)文件所屬版本是否與電路觀視軟件一致;步驟f.若二進(jìn)制數(shù)據(jù)文件與電路觀視軟件的版本一致時(shí),則由二進(jìn)制數(shù)據(jù)文件 中取出元件數(shù)據(jù)電路模塊的數(shù)據(jù)邏輯結(jié)構(gòu)與數(shù)據(jù)物理儲(chǔ)存結(jié)構(gòu);步驟g.若二進(jìn)制數(shù)據(jù)文件與電路觀視軟件的版本不一致時(shí),則電路觀視軟件運(yùn)行調(diào)配腳本并調(diào)用操作接口,通過操作接口從動(dòng)態(tài)連結(jié)文件中取出元件數(shù)據(jù)電路模塊與相 應(yīng)的數(shù)據(jù)邏輯結(jié)構(gòu)與數(shù)據(jù)物理儲(chǔ)存結(jié)構(gòu);以及步驟h.根據(jù)所取出的元件數(shù)據(jù)電路模塊與相應(yīng)的數(shù)據(jù)邏輯結(jié)構(gòu)與數(shù)據(jù)物理儲(chǔ)存 結(jié)構(gòu)加入二進(jìn)制數(shù)據(jù)文件中,藉以產(chǎn)生觀看文件。為能清楚說明二進(jìn)制數(shù)據(jù)文件的轉(zhuǎn)換過程,請(qǐng)同時(shí)配合參考「圖2」與「圖3」所示, 其分別為本發(fā)明的檔案結(jié)構(gòu)與運(yùn)作示意圖。二進(jìn)制數(shù)據(jù)文件311的每一元件數(shù)據(jù)電路模塊 均包括數(shù)據(jù)邏輯結(jié)構(gòu)211與數(shù)據(jù)物理儲(chǔ)存結(jié)構(gòu)212,在「圖2」中所示的GraphAtom用于描 述基礎(chǔ)圖形元素,如“點(diǎn)”、“線”或“矩形”等。在「圖2」中是以描述線段的其中一部份。typedef struct_GraphAtom{GraphAtomType atomType LONG values [4];short width ;} GraphAtom, ^pGraphAtom ;在GraphAtom中各數(shù)據(jù)成員如下定義GraphAtomType atomType 用以自定的枚舉類型變量,藉以說明該元素種類;LONG values [4] :4個(gè)長(zhǎng)整形變量用存放構(gòu)成元素?cái)?shù)據(jù)如點(diǎn)(X,Y)線端點(diǎn)1 (X, 幻,端點(diǎn)2禮幻;Short width 元素線體有效寬度(邏輯單位如um,mm, inch)。在「第=圖2」中是以二進(jìn)制數(shù)據(jù)文件311中構(gòu)成線段的數(shù)據(jù)結(jié)構(gòu)作為說明。在二 進(jìn)制數(shù)據(jù)文件311中的元件數(shù)據(jù)電路模塊為設(shè)計(jì)電路中的各項(xiàng)元件,在每個(gè)元件數(shù)據(jù)電路 模塊中除了元件外亦包括有連接線。以微觀而言,線段的顯示為連續(xù)的區(qū)段所組成的,而每 一個(gè)區(qū)段可以對(duì)應(yīng)到如「圖2」中的每一個(gè)數(shù)據(jù)結(jié)構(gòu)。換言之,由「圖2」中可看中總共需要 22個(gè)byte,一個(gè)由直線段圍成的多邊形由若干個(gè)此類數(shù)據(jù)結(jié)構(gòu)所構(gòu)成。多邊形數(shù)據(jù)結(jié)構(gòu)在 二進(jìn)制數(shù)據(jù)文件311中將以連續(xù)字節(jié)密集存儲(chǔ)。導(dǎo)出的二進(jìn)制的二進(jìn)制數(shù)據(jù)文件311中將 包含上千個(gè)甚至更多的此類數(shù)據(jù)結(jié)構(gòu)。在加載二進(jìn)制的二進(jìn)制數(shù)據(jù)文件311的過程中,先根據(jù)多邊形特征數(shù)據(jù)(Feature Data)中記錄成員特征數(shù)據(jù)在內(nèi)創(chuàng)建多邊形結(jié)構(gòu)體變量。接著,根據(jù)特征數(shù)據(jù)中記錄的 GraphAtomBlock個(gè)數(shù)在多邊形結(jié)構(gòu)體變量創(chuàng)建一組GraphAtom變量并將其視為多邊形數(shù) 據(jù)成員。使用文件塊讀取指令以GraphAtom占用字節(jié)Q2byte)大小從檔中以塊(block)為 單位讀出整體的二進(jìn)制二進(jìn)制數(shù)據(jù)文件311并強(qiáng)制轉(zhuǎn)換存放在GraphAtom變量?jī)?nèi)存空間。因此,在每一次修改元件數(shù)據(jù)電路模塊時(shí),本發(fā)明將修改處所相應(yīng)的數(shù)據(jù)邏輯 結(jié)構(gòu)211與數(shù)據(jù)物理儲(chǔ)存結(jié)構(gòu)212取出(對(duì)應(yīng)步驟b)。接著,對(duì)修改后的數(shù)據(jù)邏輯結(jié)構(gòu) 211與數(shù)據(jù)物理儲(chǔ)存結(jié)構(gòu)212運(yùn)行調(diào)配腳本,使得在物理存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)邏輯組織結(jié)構(gòu)兩 者之間引入一中間層。本發(fā)明利用中間層對(duì)物理存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)邏輯組織結(jié)構(gòu)在不同時(shí) 期,從底層解決了加載觀視文件時(shí)向下兼容的問題,弱化數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)邏輯結(jié)構(gòu)間 的強(qiáng)綁定。其中,調(diào)配腳本可以通過Python腳本程序所實(shí)現(xiàn)。在經(jīng)過中間層的轉(zhuǎn)換后, 將物理存儲(chǔ)結(jié)構(gòu)、數(shù)據(jù)邏輯組織與二進(jìn)制數(shù)據(jù)文件311輸出為動(dòng)態(tài)連結(jié)文件312(dynamic linklibrary,DLL)。弱化邏輯組織結(jié)構(gòu)與物理存儲(chǔ)結(jié)構(gòu)間的綁定關(guān)系發(fā)生在電路板觀視程
5序運(yùn)行時(shí),電路板觀視程序是基于微軟公司所推出的C/C++及MFC。C/C++及MFC采用靜態(tài) 鏈接編譯方式創(chuàng)建的。本發(fā)明使用調(diào)配腳本來代替動(dòng)態(tài)鏈接庫形式的插件,這樣可以方便 地根據(jù)需求的變化改寫腳本代碼,而不是必須重新編譯鏈接二進(jìn)制的動(dòng)態(tài)鏈接庫。將二進(jìn)制數(shù)據(jù)文件311加載至電路板觀視程序,并檢查二進(jìn)制數(shù)據(jù)文件311所屬 版本是否與電路觀視軟件一致。由于新舊版本的電路板開發(fā)軟件所輸出的二進(jìn)制數(shù)據(jù)文件 311會(huì)影響電路板觀視程序的開啟。因此,在電路板觀視程序加載二進(jìn)制數(shù)據(jù)文件311時(shí), 需檢查開啟的版本是否一致。若是二進(jìn)制數(shù)據(jù)文件311與電路觀視軟件的版本一致時(shí),則 由二進(jìn)制數(shù)據(jù)文件311中取出元件數(shù)據(jù)電路模塊的數(shù)據(jù)邏輯結(jié)構(gòu)211與數(shù)據(jù)物理儲(chǔ)存結(jié)構(gòu) 212。換言之,二進(jìn)制數(shù)據(jù)文件311不需轉(zhuǎn)換可直接加載于電路板觀視程序若二進(jìn)制數(shù)據(jù)文件311與電路觀視軟件的版本不一致時(shí),則電路觀視軟件運(yùn)行調(diào) 配腳本并調(diào)用一操作接口,通過操作接口從動(dòng)態(tài)連結(jié)文件312中取出元件數(shù)據(jù)電路模塊與 相應(yīng)的數(shù)據(jù)邏輯結(jié)構(gòu)211與數(shù)據(jù)物理儲(chǔ)存結(jié)構(gòu)212。根據(jù)所取出的元件數(shù)據(jù)電路模塊與相 應(yīng)的數(shù)據(jù)邏輯結(jié)構(gòu)211與數(shù)據(jù)物理儲(chǔ)存結(jié)構(gòu)212加入二進(jìn)制數(shù)據(jù)文件311中,藉以產(chǎn)生觀 看文件313。在此以下述例子作為說明,但其中相關(guān)參數(shù)并非本發(fā)明的限制。假設(shè)在二進(jìn)制數(shù) 據(jù)文件311進(jìn)行修改時(shí)分別于第一時(shí)間與第二時(shí)間產(chǎn)生相應(yīng)的“A1161. BDB", "A1172. BDB" 二進(jìn)制的觀看文件313。enum GraphAtomType {GAT_LINE, GAT_CIRCLE, GAT_RECTANGLE};//Al 161. BDBtypedef struct_GraphAtom{GraphAtomType atomType ;LONG values [4];short width ;} GraphAtom, ^pGraphAtom ;//1172. BDBtypedef struct_GraphAtom{GraphAtomType atomType ;LONG values [7];short width ;int pointNums ;} GraphAtom, ^pGraphAtom ;通過調(diào)配腳本將新修改數(shù)據(jù)結(jié)構(gòu)打包成為PYTHON腳本程序可調(diào)用的文件形式, 其創(chuàng)建動(dòng)態(tài)鏈接庫擴(kuò)展接口項(xiàng)目如Bdv24DataStruct,并在項(xiàng)目中指定” BOOST. PYTHON”命 名空間以實(shí)現(xiàn)引入包裝庫存空間中指令(請(qǐng)參考下述檔頭所示)。#include<Bdv24_DataStruct>#include<boost/python. hpp>// 包含 Boost. Python 的頭文件usingnamespace boost: :python ;//弓|入名字空間
#progma comment(lib, "boost_python. lib")在建動(dòng)態(tài)鏈接庫擴(kuò)展接口的項(xiàng)目中,在同一個(gè)二進(jìn)制二進(jìn)制數(shù)據(jù)文件311中可 將不同新增版本的數(shù)據(jù)結(jié)構(gòu)定義創(chuàng)建在不同的命名空間,自定義命名空間名稱前綴,如 DataStruct,包裝時(shí)可用以下格式完成對(duì)命名空間包裝。在C++中對(duì)于自定義結(jié)構(gòu)體而言 可轉(zhuǎn)換為標(biāo)準(zhǔn)類GraphAtom,并定義為//Al 161. BDBNamespace DataStruct_1161{Class GraphAtom{Public GraphAtomType atomType ;Long values [4];Short width ;}}//Al 172. BDBNamespace DataStruct_1172{Class GraphAtom{Public GraphAtomType atomType ;Long values [7];Short width ;Int pointNums ;}}包裝命名空間及GraphAtom結(jié)構(gòu)體類,以下為對(duì)類別與命名空間進(jìn)行設(shè)定的設(shè) 定class DataStruct {};//聲明空類,用以包裝成新命名空間名。當(dāng)前設(shè)定目標(biāo)命 名空間名為 B00ST_PYTH0N_M0DULE (BDV24) // 用‘‘BDV24 ‘‘做模塊前綴。{//包裝命名空間class—<DataStruct>pm(〃 DataStruct_1161〃 );scope*s_1161 = new scope(pm);//包裝枚舉值enum_<GraphAtomType>(“ GraphAtomType“)· value(〃 GAT_LINE〃,GAT_LINE)0106] value(〃 GAT_CIRCLE〃,GAT_CIRCLE)0107] value(〃 GAT_RECTANGLE〃,GAT_RECTANGLE)0108].export_values()0109]Il 包裝類 DataMruct_11610110]class_<DataStruct_1161::GraphAtom>(〃 GraphAtom");0111]Il包裝公有成員0112].def—readwrite("atomType“,&GraphAtom:atomType)0113].def—readwrite("width" ,&GraphAtom::width)0114].def—readwrite("values",&GraphAtom::values[4])0115]deletes—1161 ;0116]//包裝命名空間0117]class_〈DataStruct>pm(” DataStruct_l172 ” );0118]scope*s—1172 = new scope(pm);0119]Il包裝枚舉值0120]enum_<GraphAtomType>(“ GraphAtomType“)0121].value(“ GAT_LINE〃,GAT_LINE)0122] value(〃 GAT_CIRCLE〃,GAT_CIRCLE)0123].value (" GAT_RECTANGLE〃,GAT_RECTANGLE)0124].export_values()0125]//包裝類 DataMruct 11720126]class_<DataStruct_l172::GraphAtom>(" GraphAtom");0127]Il包裝公有成員0128].def—readwrite("atomType“,&GraphAtom::atomType)0129].def—readwrite("width" ,&GraphAtom::width)0130].def—readwrite("values",&GraphAtom::values[7])0131].def—readwrite("pointNums",&GraphAtom::pointNums)0132]deletes_11721 ;0133]}0134]在新生成的” Bdv24__DataStruct. dll”動(dòng)態(tài)連結(jié)文件312中包含兩組不同成員聲
明的同名數(shù)據(jù)結(jié)構(gòu)類。如果當(dāng)前的觀看文件313內(nèi)部已更新為新的GraphAtom數(shù)據(jù)結(jié)構(gòu)。 所以在導(dǎo)入”A1172.BDB”檔時(shí),會(huì)在核對(duì)該文件記錄的結(jié)構(gòu)版本信息與觀看文件313的版 本產(chǎn)生不一致,因此會(huì)在電路板觀視軟件啟動(dòng)時(shí)調(diào)用中間層的調(diào)配腳本。調(diào)配腳本中定義了觀看文件313操作所需的對(duì)應(yīng)數(shù)據(jù)結(jié)構(gòu)操作接口,并可調(diào)用 操作接口以接收數(shù)據(jù)值,進(jìn)而實(shí)現(xiàn)中調(diào)用指定版本DLL中C/C++描述的數(shù)據(jù)結(jié)構(gòu)并創(chuàng) 建” 1172. bdb”數(shù)據(jù)塊所需要結(jié)構(gòu)體類型變量以保存數(shù)據(jù)值。同時(shí)提供數(shù)據(jù)結(jié)構(gòu)操作接口 以供觀看文件313層面使用.最終實(shí)現(xiàn)了觀看文件313在運(yùn)行時(shí)動(dòng)態(tài)創(chuàng)建”A1172. BDB”所 需要的自定義結(jié)構(gòu)體類型變量構(gòu)成的底層數(shù)據(jù)結(jié)構(gòu),這樣一來可以提高電路觀視軟件對(duì)異 構(gòu)數(shù)據(jù)結(jié)構(gòu)導(dǎo)出的二進(jìn)制二進(jìn)制數(shù)據(jù)文件311向下的兼容性。本發(fā)明提供一種電路板觀視程序的文件格式的轉(zhuǎn)換方法,用以將電路開發(fā)軟件所能讀取的二進(jìn)制數(shù)據(jù)文件311轉(zhuǎn)換成電路板觀視程序所支持的觀視文件。并且根據(jù)二進(jìn)制 數(shù)據(jù)文件311在各修改元件數(shù)據(jù)電路模塊的期間,輸出相應(yīng)的動(dòng)態(tài)連結(jié)文件312,使得電路 板觀視程序在進(jìn)行觀看時(shí)可以分別的加載不同修改期間的元件數(shù)據(jù)電路模塊。
雖然本發(fā)明已以一較佳實(shí)施例揭露如上,然其并非用以限定本發(fā)明,在不背離本 發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變 和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1.一種電路板觀視程序的文件格式的轉(zhuǎn)換方法,將一電路觀視程序加載的一二進(jìn)制數(shù) 據(jù)文件轉(zhuǎn)換為新版本的一電路板觀視程序所支持的一觀看文件,其特征在于,該轉(zhuǎn)換方法 包括下列步驟步驟a.由該電路板觀視程序加載具有多個(gè)元件數(shù)據(jù)電路模塊的該二進(jìn)制數(shù)據(jù)文件, 該二進(jìn)制數(shù)據(jù)文件的每一該元件數(shù)據(jù)電路模塊均包括一數(shù)據(jù)邏輯結(jié)構(gòu)與一數(shù)據(jù)物理儲(chǔ)存 結(jié)構(gòu);步驟b.修改該元件數(shù)據(jù)電路模塊,并取得該元件數(shù)據(jù)電路模塊修改后的該數(shù)據(jù)邏輯 結(jié)構(gòu)與該數(shù)據(jù)物理儲(chǔ)存結(jié)構(gòu);步驟c.對(duì)修改后的該數(shù)據(jù)邏輯結(jié)構(gòu)與該數(shù)據(jù)物理儲(chǔ)存結(jié)構(gòu)運(yùn)行一調(diào)配腳本,通過該 調(diào)配腳本將該數(shù)據(jù)邏輯結(jié)構(gòu)與該數(shù)據(jù)物理儲(chǔ)存結(jié)構(gòu)綁定成一動(dòng)態(tài)連結(jié)文件; 步驟d.將該二進(jìn)制數(shù)據(jù)文件加載至該電路板觀視程序; 步驟e.檢查該二進(jìn)制數(shù)據(jù)文件所屬版本是否與該電路觀視程序一致; 步驟f.若該二進(jìn)制數(shù)據(jù)文件與該電路觀視軟件的版本不一致時(shí),則該電路觀視軟件 運(yùn)行該調(diào)配腳本并調(diào)用一操作接口,通過該操作接口從該動(dòng)態(tài)連結(jié)文件中取出該元件數(shù)據(jù) 電路模塊與相應(yīng)的該數(shù)據(jù)邏輯結(jié)構(gòu)與該數(shù)據(jù)物理儲(chǔ)存結(jié)構(gòu);以及步驟g.根據(jù)所取出的該元件數(shù)據(jù)電路模塊與相應(yīng)的該數(shù)據(jù)邏輯結(jié)構(gòu)與該數(shù)據(jù)物理儲(chǔ) 存結(jié)構(gòu)加入該二進(jìn)制數(shù)據(jù)文件中,藉以產(chǎn)生該觀看文件。
2.如權(quán)利要求1所述的電路板觀視程序的文件格式的轉(zhuǎn)換方法,其特征在于,該二進(jìn) 制數(shù)據(jù)文件為二進(jìn)制文件。
3.如權(quán)利要求1所述的電路板觀視程序的文件格式的轉(zhuǎn)換方法,其特征在于,該調(diào)配 腳本為Python腳本程序。
4.如權(quán)利要求1所述的電路板觀視程序的文件格式的轉(zhuǎn)換方法,其特征在于,若該二 進(jìn)制數(shù)據(jù)文件與該電路觀視軟件的版本一致時(shí),則由該二進(jìn)制數(shù)據(jù)文件中取出該元件數(shù)據(jù) 電路模塊的該數(shù)據(jù)邏輯結(jié)構(gòu)與該數(shù)據(jù)物理儲(chǔ)存結(jié)構(gòu)。
全文摘要
本發(fā)明公開了一種電路板觀視程序的文件格式的轉(zhuǎn)換方法,將電路觀視程序?qū)С龅脑邪姹径M(jìn)制數(shù)據(jù)文件轉(zhuǎn)換為新版本支持的文件。轉(zhuǎn)換方法包括因新增功能模塊及元件數(shù)據(jù)邏輯組織,物理存儲(chǔ)結(jié)構(gòu)變化,將匹配后的數(shù)據(jù)邏輯結(jié)構(gòu)與數(shù)據(jù)物理儲(chǔ)存結(jié)構(gòu)綁定成動(dòng)態(tài)連結(jié)文件;加載具有數(shù)據(jù)邏輯結(jié)構(gòu)與數(shù)據(jù)物理儲(chǔ)存結(jié)構(gòu)的二進(jìn)制數(shù)據(jù)文件;通過中間層的數(shù)據(jù)邏輯、物理結(jié)構(gòu)映像自動(dòng)匹配相適應(yīng)邏輯結(jié)構(gòu),若二進(jìn)制數(shù)據(jù)文件物理存儲(chǔ)結(jié)構(gòu)與當(dāng)前版本邏輯結(jié)構(gòu)不一致,從相應(yīng)版本號(hào)動(dòng)態(tài)連結(jié)文件中結(jié)構(gòu)與數(shù)據(jù)物理儲(chǔ)存結(jié)構(gòu)匹配的邏輯結(jié)構(gòu)實(shí)現(xiàn)文件數(shù)據(jù)加載與呈現(xiàn),產(chǎn)生觀看文件。
文檔編號(hào)G06F17/22GK102081596SQ200910225758
公開日2011年6月1日 申請(qǐng)日期2009年11月30日 優(yōu)先權(quán)日2009年11月30日
發(fā)明者劉玉樂, 陳玄同 申請(qǐng)人:英業(yè)達(dá)股份有限公司