二次开发中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
posted @ 2013-12-31 11:19  Cad人生  阅读(3786)  评论(0编辑  收藏  举报