二次開發中cad字體的總結


目前手頭一個項目,關於制圖統一平台的,特別研究了CAD中的字體,總結出來,給需要的朋友,希望少走彎路。
1.cad2008中,netload之后,輸入注冊的命令,提示未知命令解決:
將引用中CAD兩個dll,復制到本地設置為false
2. CAD中含文字的對象包括:單行文本,多行文本,屬性定義,屬性參照,標注,塊參照(注意塊參照中可以包含前面所有對象)
對應的過濾器為 TypedValue value1 = new TypedValue((int)DxfCode.Start, "text,mtext,attdef,attrib,Dimension,INSERT");  
3. 從一個文件拷含文字樣式的對象到另一個文件,會將樣式定義也拷過來
4. 代理實體與匿名塊需要研究:
4.1 匿名塊
匿名塊用戶無法手動清除和編輯,創建方法與普通塊一致,命名用“*u”,CAD自動根據匿名塊的數目遞增命名,如“*u45”,讀取塊參照時,匿名塊名稱以*開頭作為判斷;經測試,匿名塊可以替換文字樣式,但需要regen,重新生成,修改了匿名塊使用的文字樣式,regen之后,匿名塊樣式會變化。
模型空間與圖紙空間一塊表記錄的方式存儲,俗稱布局塊
4.2代理
工具-選項-打開/保存 可以勾選是否包含代理圖形。

5. XP默認可顯示漢字字數為GBK,Vista默認可顯示漢字字數為GB18030,GBK字符集
6. 多行文本的內容中使用了控制字符,可以改變文字樣式,但是將多行文本的TEXT屬性賦值給contents,可以去掉控制字符的影響。單行文本及屬性定義和屬性參照,無contents屬性。
7. CDBHZTXT與gbcbig 中,同一漢字,如“劉”,編碼都為 F5C1,數字為62913
   SHP格式:*形編號,字節數,形名稱

大字體文件的編輯方法:
例如 hztxt.shx中沒有①這個字符,gbcbig中有這個字符,並且字符編碼為A2D9,漢字編碼用2個字節表示的。
1. 通過gbcbig得到要制作的字符的編碼,如上面的A2D9(用view工具打開gbcbig,另存為shp,搜索①,就得到A2D9)
2. 在CAD中畫125*125大小的框,將字符畫在框內
3. 利用CAD的ET工具,制作成形文件
4. 用view工具打開HZTXT,另存為shp格式,打開第三步的形定義文件(shp格式),將內容及字符編碼加入到HZTXT.shp中
5. 利用CAD的compile命令,編譯HZTXT.shp為HZTXT.shx


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM