目前手头一个项目,关于制图统一平台的,特别研究了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

二次开发中cad字体的总结的更多相关文章

  1. CAD二次开发中浮动面板不浮动的问题

    CAD二次开发中创建了一个浮动面板,想让它创建出来后以浮动状态显示, 但是DockSides.None设置完后,面板还是不浮动.搞了很久,最后原来是 需要先设置Visible,再设置DockSides ...

  2. 23 Pro/E二次开发中的问题记录

    0 引言 由于项目中涉及到Pro/E的二次开发技术,因此在边用边学的情况下,解决了不少问题,也积攒了不少问题.其中有些问题可能不是调个函数就能搞定的,得了解CAD底层的东西. 1 问题描述 (1)CA ...

  3. IOS开发中UIFont字体设置

    我们在开发中很多时候要设置UIlabel,UIbutton,UItextfield的字体,这个时候我们就需要用到UIFont,下面简单介绍一下UIFont的用法,仅供参考. UIFont用于获取和设置 ...

  4. AE二次开发中几个功能速成归纳(符号设计器、创建要素、图形编辑、属性表编辑、缓冲区分析)

    /* * 实习课上讲进阶功能所用文档,因为赶时间从网上抄抄改改,凑合能用,记录一下以备个人后用. * * ----------------------------------------------- ...

  5. 【转】Revit二次开发——读取cad中的文字信息

    Revit读取cad的文字信息需要借助Teigha的开源dll,在程序中添加下图中红色框的dll文件的引用,其他的dll文件全部放在同一个文件夹中即可,运行的时候,会自动把这些dll文件全部复制到bi ...

  6. 在CAD二次开发中使用状态条按钮

    Pane pane = new Pane(); pane.Enabled = true; pane.Text = "状态条按钮"; pane.ToolTipText = " ...

  7. 在CAD二次开发中使用进度条

    ProgressMeter pm = new ProgressMeter(); pm.Start("正在执行..."); pm.SetLimit(100); for (int i ...

  8. cad二次开发中各种头的定义

    Database db=HostApplicationServices.WrokingDatabase; Editor ed=Autodesk.AutoCAD.ApplicationService.A ...

  9. cad二次开发中DBText对象的外框GeometricExtents有问题?

    CAD2007版本 acDoc.Editor.WriteMessage( string.Format("[{0:F1},{1:F1},{2:F1}] - [{3:F1},{4:F1},{5: ...

随机推荐

  1. p2 弹簧

    P2中用来约束刚体运动的还有弹簧Spring. 弹簧除约束两个刚体之间的运动轨迹外,通过damping阻尼和stiffness刚度系数等属性,使得刚体在向目标移动时, 出现类似弹簧的简谐运动.Spri ...

  2. double 和 im2double 的区别

    double 就是简单地把一个变量类型转换成double型,数值大小不变. 函数im2double将输入换成double类型.如果输入是unit8,unit16或者是二值的logical类型,则函数i ...

  3. Qt——数据库编程

    一.概述 Qt提供了一个类似JDBC的数据库接口,需要为每个可以连接的特定数据库提供驱动程序,可以通过 QStringList QSqlDatabase::drivers() 知道当前版本的Qt哪些驱 ...

  4. django中使用FastDFS分布式文件系统接口代码实现文件上传、下载、更新、删除

    运维使用docker部署好之后FastDFS分布式文件系统之后,提供给我接口如下: fastdfs tracker 192.168.1.216 192.168.1.217 storage 192.16 ...

  5. oracle 存储过程创建报错 Procedure created with compilation errors

    出现这错误的话,存储过程还是会成功创建的,创建好后再逐个打开查找存储过程的问题 问题:基本上就是存储过程里面的表不存在,dblink 不存在    ,用户名.xx表  要么用户名不存在要么表不存在 创 ...

  6. 【bzoj1483】 HNOI2009—梦幻布丁

    http://www.lydsy.com/JudgeOnline/problem.php?id=1483 (题目链接) 题意 $n$个布丁摆成一行,进行$m$次操作.每次将某个颜色的布丁全部变成另一种 ...

  7. 手动为容器设置ip地址

    1.安装bridge-utils # aptitude install -y bridge-utils 2.配置网桥 # vim /etc/network/interfaces auto lo ifa ...

  8. java多线程 -- volatile 关键字 内存 可见性

    内存可见性(Memory Visibility) 1 内存可见性(Memory Visibility)是指当某个线程正在使用对象状态而另一个线程在同时修改该状态,需要确保当一个线程修改了对象状态后,其 ...

  9. jQuery EasyUI 下拉菜单获取日期,最高年份为当前年份,最低年份为当前年份向前推10年

    http://blog.csdn.net/wangjingjing1014/article/details/16885341 <head><meta http-equiv=" ...

  10. 二分查找(等于x,小于x,小于等于x,大于x,大于等于x )

    //等于x//小于x//小于等于x//大于x//大于等于x #include <cstdio> #include <cstdlib> #include <cmath> ...