目前手头一个项目,关于制图统一平台的,特别研究了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. Qt宏Q_OBJECT展开记录

    c++中的宏 #define A 3.14 展开后把A替换为B #define A(a) #a 展开后用a的字符串替换A(a) #define A(a) a##B 展开后把a和B的字符串连接起来后替换 ...

  2. Java 使用 Dbutils 工具类库 操作mysql

    Dbutils 官网http://commons.apache.org/proper/commons-dbutils/ 结合我个人写的JDBCUtils 写的 Dbutils 的使用demo . JD ...

  3. wai

    外键的过滤是怎么做的, 一个class有两个外键A和B,其中A又是B的外键,在这种情况下,比如A选择了学校之后,可否在B中过滤出A学校的所有的专业?也就是说在选择的时候能不能按照已经填好的一个选项来选 ...

  4. sql学习. case + group by 都干了啥子事情

    select case pref_name when 'fudao' then 'siguo' when 'xiangchuan' then 'siguo' when 'aiyuan' then 's ...

  5. Window环境下搭建Vue.js开发环境

    原文链接:http://blog.csdn.net/solo95/article/details/72084907 笔者最近在进行前端的学习,在点完了HTML5.CSS3.JavaScript等技能树 ...

  6. delphi如何检索adoquery里面某一列存在的重复行?

    var IsHave:Boolean; begin adoquery.first; while(not adoquery.eof) do begin if(adoquery.fieldbyname(' ...

  7. Libssh认证绕过CVE-2018-10933漏洞复现

    0x00 漏洞描述 libssh 0.6 及以上的版本,在服务端的代码实现中存在身份认证绕过漏洞.在向服务端认证的流程中,攻击者通过将 SSH2_MSG_USERAUTH_REQUEST 消息替换为  ...

  8. rsync命令比对文件及增量同步

    A fast,versatile,remote (and local) file-copying tool. rsync基于ssh协议实现高效率远程或本地文件复制,传输速度比scp快.复制文件时会比对 ...

  9. 使用JS在textarea在光标处插入内容

    // 在光标处插入字符串 // myField 文本框对象 // myValue 要插入的值 function insertAtCursor(myField, myValue) { //IE supp ...

  10. python之旅:并发编程之多线程

    一 threading模块介绍 multiprocess模块的完全模仿了threading模块的接口,二者在使用层面,有很大的相似性,因而不再详细介绍 官网链接:https://docs.python ...