基于ATL技術(shù)原理圖解析器的開發(fā)
(1)IFvdAur:屬性接口,獲取屬性名、屬性值和屬性的可見性;
(2)IFvdAttrs:提供一個(gè)訪問屬性集合對(duì)象的接口,該屬性集合對(duì)象內(nèi)部包含一組屬性對(duì)象的接口指針;
(3)IFvdBox:外圍框接口;
(4)IFvdCmpPin:器件管腳接口,獲取管腳所在器件、管腳屬性集、管腳連接和管腳相連的symbol的管腳;
(5)IFvdCmpPins:器件管腳集合接口,提供一個(gè)訪問器件管腳集合對(duì)象的接口;
(6)IFvdComp:器件接口,可獲取各類子對(duì)象和內(nèi)部屬性;
(7)IFvdComps:器件集合接口,提供一個(gè)訪問器件集合對(duì)象的接口;
(8)IFvdConnection:連接接口,可獲取連接中的器件管腳、網(wǎng)絡(luò)和網(wǎng)絡(luò)段;
(9)IFvdConnections:連接集合接口,提供一個(gè)訪問連接集合對(duì)象的接口;
(10)IFvdLabel:Label接口,獲取Label的名字和可見性;
(11)IFvdNet:網(wǎng)絡(luò)接口,可獲得各類子對(duì)象及內(nèi)部屬性;
(12)IFvdNets:網(wǎng)絡(luò)集合接口,提供一個(gè)訪問網(wǎng)絡(luò)集合對(duì)象的接口;
(13)IFvdSymPin:Symbol管腳接口,可獲得Symbol管腳的內(nèi)部屬性;
(14)IFvdSymPins:Symbol管腳集合接口,提供一個(gè)訪問Symbol管腳集合對(duì)象的接口;
(15)IFvdPoint:位置坐標(biāo)接口,獲取位置的坐標(biāo)值;
(16)IFvdProj:解析原理圖工程接口;
(17)IFvdSheet:?jiǎn)雾?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/原理圖">原理圖接口,可獲取單頁原理圖中各種對(duì)象及搜索器件和網(wǎng)絡(luò);
(18)IFvdSch:原理圖接口,可獲得原理圖中單頁原理圖的頁數(shù)和原理圖對(duì)象集合;
(19)IFvdSegment:網(wǎng)絡(luò)集合接口,可獲取網(wǎng)絡(luò)段屬性集合和網(wǎng)絡(luò)段所屬的網(wǎng)絡(luò);
(20)IFvdSegments:網(wǎng)絡(luò)段集合接口,提供一個(gè)訪問網(wǎng)絡(luò)段集的接口;
(21)IFvdSymbol:符號(hào)接口,獲取內(nèi)部管腳集和屬性集。
本文引用地址:http://www.ex-cimer.com/article/188725.htm
5 調(diào)用方法說明
原理圖解析器是基于ATL技術(shù)而開發(fā)的,是一個(gè)符合COM標(biāo)準(zhǔn)的組件,因此在使用時(shí)要按照COM組件的使用規(guī)范。原理圖解析器共有21個(gè)接口,其內(nèi)部分別對(duì)應(yīng)21個(gè)COM類。在這21個(gè)COM類中,只有原理圖工程接口IFvdProj對(duì)應(yīng)的類為可創(chuàng)建類,其余20個(gè)接口對(duì)應(yīng)的類均為不可創(chuàng)建類??蛻舳顺绦蚨家怨こ探涌贗FvdProj為入口點(diǎn),通過創(chuàng)建解析器的組件實(shí)例來獲取接口IFvdProj的地址指針,其它接口的獲取都要從IFvdProj開始,通過接口提供的各種方法來獲取??蛻舳私⒔M件,通過組件接口訪問原理圖資源的流程如下:
(1)在系統(tǒng)上注冊(cè)…原理圖解析器組件PST.DLL;
(2)在客戶程序中使用“import”預(yù)處理指令導(dǎo)入PST.DLL:
(3)創(chuàng)建解析器組件,并獲取入口點(diǎn)接口IF
(4)通過接口IFvdProj的方法ParseProj()生成目標(biāo)原理圖的通用數(shù)據(jù)結(jié)構(gòu),并用原理圖接口IF―vdSchs接收其返回值如下:
6 使用結(jié)果示例
下面這段程序統(tǒng)計(jì)了一頁原理圖中當(dāng)前層的網(wǎng)絡(luò)數(shù)和包括所有底層后的網(wǎng)絡(luò)數(shù),并且使用了對(duì)網(wǎng)絡(luò)的查找功能:
程序的執(zhí)行結(jié)果,如圖3所示。
7 結(jié)束語
文中描述了自行開發(fā)的基于ATL技術(shù)的原理圖解析器,介紹了系統(tǒng)的基本構(gòu)成和接口的組織關(guān)系。另外,還對(duì)解析器的使用作了詳細(xì)說明,并在文中最后給出了一個(gè)實(shí)際使用的示例。原理圖解析器的開發(fā)得以在不使用國(guó)外EDA工具的情況下,方便地訪問原理圖資源,從而節(jié)約了大量的資金,并為國(guó)產(chǎn)EDA軟件的開發(fā)和市場(chǎng)化進(jìn)行了有益的嘗試。
評(píng)論