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

    在mybaits中,setting的的配置参数如下(如果不在配置文件中配置将使用默认值): 设置参数 描述 有效值 默认值 cacheEnabled 该配置影响的所有映射器中配置的缓存的全局开关 tr ...

  2. Java多线程(一) —— 传统线程技术

    一.传统线程机制 1. 使用类Thread实现 new Thread(){ @Override public void run() { while(true){ try{ Thread.sleep(2 ...

  3. 根据端口号,利用DOS命令杀死进程

    比如利用DOS命令找出占用8080端口的程序的PID 然后用DOS命令杀死该进程 kill

  4. 【uoj#209】[UER #6]票数统计 组合数+乱搞

    题目描述 一个长度为 $n$ 的序列,每个位置为 $0$ 或 $1$ 两种.现在给出 $m$ 个限制条件,第 $i$ 个限制条件给出 $x_i$ .$y_i$ ,要求至少满足以下两个条件之一: 序列的 ...

  5. ldap添加memberof支持

    安装请查看上一篇博客,传送门:https://www.cnblogs.com/crysmile/p/9470508.html 如果使用LDAP仅仅作为用户统一登录中心,则参考安装文档即可:如果ldap ...

  6. 修改grub需要修改权限命令

    Ubantu每次更新都会把用于引导的grub文件重置,导致开机后,又找不到系统,看来以后还是要备份一下grub文件.另外,这周开始学习python,先学习Linux系统的命令行操作,很多操作是相通的. ...

  7. 【刷题】洛谷 P3768 简单的数学题

    题目描述 由于出题人懒得写背景了,题目还是简单一点好. 输入一个整数n和一个整数p,你需要求出(\(\sum_{i=1}^n\sum_{j=1}^n ijgcd(i,j))~mod~p\),其中gcd ...

  8. NOI前总结

    最近也就是天天考试,总结一下. 7.1 开场T1T2都是不可做的概率期望,只有T3看起来可做,于是怒干4h+,将题解里面的所有结论都推出来了,大模拟写的一点毛病都没有,可还是因为2-SAT掌握不熟结果 ...

  9. 【BZOJ2813】奇妙的Fibonacci

    Description ​ Fibonacci数列是这样一个数列: F1 = 1, F2 = 1, F3 = 2 . . . Fi = Fi-1 + Fi-2 (当 i >= 3) ​ pty忽 ...

  10. IntelliJ IDEA详细配置和使用教程-字体、编码和基本设置

    IDEA使用--字体.编码和基本设置 https://blog.csdn.net/frankcheng5143/article/details/50779149 IntelliJ IDEA详细配置和使 ...