AutoCAD二次開發(fā)中多行文本替換技術(shù)的研究

2014-12-07 田堂存 青島港灣職業(yè)技術(shù)學(xué)院輪機工程系

  闡述了AutoCAD二次開發(fā)中常用多行文本的處理方法,通過比較,推薦使用多行文本替換技術(shù);介紹了AutoCAD二次開發(fā)中兩種多行文本替換思路及其適用范圍;使用RegExP組件提取塊文件中有效多行文本內(nèi)容,并實現(xiàn)文本替換;為技術(shù)人員開發(fā)專用CAD提供一些幫助。

  AutoCAD繪圖功能完善、易學(xué)易用,是目前制造業(yè)領(lǐng)域應(yīng)用最為廣泛的二維制圖軟件之一,而其開放的結(jié)構(gòu)體系,即用戶可以方便的對其進行二次開發(fā),則可以大大提高設(shè)計效率。多行文本在AutoCAD中有著普遍的應(yīng)用,起著顯示信息的作用,如標題欄、明細欄等,是AutoCAD二次開發(fā)的重要內(nèi)容之一。

  目前,AutoCAD二次開發(fā)多行文本的常用方法一般為用戶手工確定一個合適插人點與文本框?qū)挾,利用開發(fā)工具進行文本添加。但是對于不同參數(shù)的輸人,文本長度也會發(fā)生變化,插人點須做出相應(yīng)的變動,以保證其在某一合適位置,如設(shè)計單位、圖紙名稱一般位于標題欄框格的中間位置。該種方法維護繁瑣、不靈活,因此,在二次開發(fā)時不推薦使用。二次開發(fā)中另一多行文本處理方法是文本替換,尤其對于系列化產(chǎn)品的開發(fā),可以很方便的解決上述問題。該文將結(jié)合作者利用visualBasic與AutocAD二次開發(fā)的經(jīng)驗,闡述如何實現(xiàn)多行文本替換的問題。

  多行文本替換思路設(shè)計

  AutoCAD二次開發(fā)常用方法一般有兩種,即利用開發(fā)工具直接開發(fā)和“典型圖”法。直接開發(fā)即利用開發(fā)工具編制繪圖程序,繪制點、線,添加文本;“典型圖”法即對于系列化產(chǎn)品,根據(jù)其結(jié)構(gòu)相似性原理,制作一些圖樣作為坯圖塊,在此基礎(chǔ)上,對塊進行編程處理。系列化產(chǎn)品的標題欄、明細欄一般有固定格式,因而文本的開發(fā)屬于后者,所要替換的文本處于插人的塊文件中。

  替換一個多行文本

  多行文本替換的方法一般是通過遍歷塊中的每一個對象,如果是多行文本,則提取文本內(nèi)容,使之與要替換的對象進行對比,如果兩者完全一致,則替換該多行文本,結(jié)束遍歷,退出循環(huán),設(shè)計流程如圖1所示。該種方法代碼操作簡單,使用方便,易于維護,程序運行后,替換一個多行文本后即退出循環(huán),節(jié)省時間,適于對象較少的替換。但是對于多個對象的替換,耗時較長,每次只能替換一個文本對象,效率低。

  替換多個多行文本

  替換多個多行文本對象的方法與替換一個多行文本對象類似。程序運行后,遍歷塊文件中所有對象,如果是多行文本則提取文本內(nèi)容,使之與所有要替換的多行文本進行對比,如果與之其中一個相匹配,則進行替換工作。該種方法遍歷一次可以替換多個文本象,對于對象較多、所需替換對象較多的情況,能夠大大減少程序運行的時間,但須遍歷所有對象,有時所需時間較長。

替換一個多行文本流程圖

圖1 替換一個多行文本流程圖

  結(jié)束語

  使用多行文本的替換方法,無須反復(fù)確定插人點,能夠有效的處理AutoCAD二次開發(fā)中的多行文本對象,尤其適用于“典型圖”方法的二次開發(fā),使用方便、維護簡單,提高了工作效率。另外,根據(jù)本文提供的思路,同樣可以實現(xiàn)單行文本、標注的替換。