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

    NLP & 中文分词 中文分词 (Word Segmentation, WS) 指的是将汉字序列切分成词序列. 中文自然语言处理系统 https://www.ltp-cloud.com/int ...

  2. mock测试SpringMVC controller报错

    使用mock测试Controller时报错如下 java.lang.NoClassDefFoundError: javax/servlet/SessionCookieConfig at org.spr ...

  3. php 关于文件夹的一些封装好的函数

    /** *检测文件名是否合法 * @param string $filename * @return boolean */ function checkFilename($filename){ $pa ...

  4. BZOJ3512 DZY Loves Math IV(杜教筛+线性筛)

    注意到n很小,考虑枚举i.现在要求的是f(n,m)=Σφ(in) (i=1~m).显然当n没有平方因子时,φ(in)=φ(i)·φ(n/gcd(i,n))·gcd(i,n).利用φ*1=id又可得φ( ...

  5. ip netns

    虚拟化网络都是基于netns实现,不管是昨日的openstack,还是今日的docker. ip netns ip-netns - process network namespace manageme ...

  6. Android 系统回收资源时进程被杀的优先级

    http://developer.android.com/guide/components/processes-and-threads.html#Processes Android 操作系统的内存回收 ...

  7. 【arc102E】Stop. Otherwise...

    Portal --> arc102E Description 有\(N\)个位置,每个位置可以填一个\(1\sim K\)的数,要求对于每一个\(i\in [2,2K]\),求出任意两个位置的和 ...

  8. SenseTime Ace Coder Challenge 暨 商汤在线编程挑战赛 E. 疯狂计数

    1.改高精度 :float/double的精度为x位,小数部分最多x+x位(乘法和加法),整数部分<1000000*1000000/2=5 * 10^11 2.分成整数部分和小数部分分别存储,貌 ...

  9. linux中awk工具的使用

    awk是一个非常好用的数据处理工具.相较于sed常常一整行处理,awk则比较倾向于一行当中分成数个“字段”处理,awk处理方式如下: $ awk '条件类型1{动作1} 条件类型2{动作2} ...' ...

  10. NSLineBreakByWordWrapping和NSLineBreakByCharWrapping

    在iOS开发过程中,在文本的lineBreakMode中有以下几个功能: NSLineBreakByWordWrapping = 0 //以空格为界,保留整个单词. NSLineBreakByChar ...