二次開發(fā)中cad字體的總結(jié)
| 目前手頭一個項目,關(guān)于制圖統(tǒng)一平臺的,特別研究了CAD中的字體,總結(jié)出來,給需要的朋友,希望少走彎路。 1.cad2008中,netload之后,輸入注冊的命令,提示未知命令解決: 將引用中CAD兩個dll,復(fù)制到本地設(shè)置為false 2. CAD中含文字的對象包括:單行文本,多行文本,屬性定義,屬性參照,標注,塊參照(注意塊參照中可以包含前面所有對象) 對應(yīng)的過濾器為 TypedValue value1 = new TypedValue((int)DxfCode.Start, "text,mtext,attdef,attrib,Dimension,INSERT"); 3. 從一個文件拷含文字樣式的對象到另一個文件,會將樣式定義也拷過來 4. 代理實體與匿名塊需要研究: 4.1 匿名塊 匿名塊用戶無法手動清除和編輯,創(chuàng)建方法與普通塊一致,命名用“*u”,CAD自動根據(jù)匿名塊的數(shù)目遞增命名,如“*u45”,讀取塊參照時,匿名塊名稱以*開頭作為判斷;經(jīng)測試,匿名塊可以替換文字樣式,但需要regen,重新生成,修改了匿名塊使用的文字樣式,regen之后,匿名塊樣式會變化。 模型空間與圖紙空間一塊表記錄的方式存儲,俗稱布局塊。 4.2代理 工具-選項-打開/保存 可以勾選是否包含代理圖形。 5. XP默認可顯示漢字字數(shù)為GBK,Vista默認可顯示漢字字數(shù)為GB18030,GBK字符集 6. 多行文本的內(nèi)容中使用了控制字符,可以改變文字樣式,但是將多行文本的TEXT屬性賦值給contents,可以去掉控制字符的影響。單行文本及屬性定義和屬性參照,無contents屬性。 7. CDBHZTXT與gbcbig 中,同一漢字,如“劉”,編碼都為 F5C1,數(shù)字為62913 SHP格式:*形編號,字節(jié)數(shù),形名稱 大字體文件的編輯方法: 例如 hztxt.shx中沒有①這個字符,gbcbig中有這個字符,并且字符編碼為A2D9,漢字編碼用2個字節(jié)表示的。 1. 通過gbcbig得到要制作的字符的編碼,如上面的A2D9(用view工具打開gbcbig,另存為shp,搜索①,就得到A2D9) 2. 在CAD中畫125*125大小的框,將字符畫在框內(nèi) 3. 利用CAD的ET工具,制作成形文件 4. 用view工具打開HZTXT,另存為shp格式,打開第三步的形定義文件(shp格式),將內(nèi)容及字符編碼加入到HZTXT.shp中 5. 利用CAD的compile命令,編譯HZTXT.shp為HZTXT.shx |
浙公網(wǎng)安備 33010602011771號