我是靠谱客的博主 有魅力信封,最近开发中收集的这篇文章主要介绍8.字体样式(TextStyle)1.新增字体样式2.大字体3.获取字体样式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

愿你出走半生,归来仍是少年! 

环境:.NET FrameWork4.5、ObjectArx 2016 64bit、Entity Framework 6. 

 

目录

1.新增字体样式

2.大字体

3.获取字体样式


        在CAD中,文本的样式表达依靠实体DBText和字体样式的协同。 很多时候在CAD打开外来的图纸都会发现文本的乱码或者是看不见文本的情况,这个大概率是因为字体样式的问题。本文主要面向文本样式的处理。关于TextStyleTable和TextStyleTableRecord的信息请详见官方文档。

1.新增字体样式

        基于CAD内的字体以及自己图纸整饰需求,可添加指定的字体样式到图纸中,并应用于对应的实体中进行表达。

        通过字体、宽度因子、粗体、斜体等等参数的设置,可增加指定的字体样式。

public static ObjectId AddTextStyle(this Document doc , string styleName, string fontName,double xScale=1.0, bool bold=false, bool italic=false, int charset=134, int pitchAndFamily=48)
        {
            try
            {
                Database db = doc.Database;//获取当前库
                TextStyleTable st;
                using (Transaction trans = db.TransactionManager.StartTransaction())//开启事务
                {
                    //打开文字样式表
                     st = (TextStyleTable)db.TextStyleTableId.GetObject(OpenMode.ForRead);

                    //如果不存在名为styleName的文字样式,则新建一个文字样式
                    if (!st.Has(styleName))
                    {
                        //定义一个新的的文字样式表记录
                        TextStyleTableRecord str = new TextStyleTableRecord();
                        str.Name = styleName;//设置的文字样式名
                        str.XScale = xScale;                    
                        try
                        {
                            //设置文字样式的字体
                            str.Font = new FontDescriptor(fontName, bold, italic, charset, pitchAndFamily);
                        }
                        catch (System.Exception)
                        {
                            str.Font = new FontDescriptor("微软雅黑", bold, italic, charset, pitchAndFamily);
                        }

                     
                        st.UpgradeOpen(); 
                        st.Add(str); 
                                     
                        db.TransactionManager.AddNewlyCreatedDBObject(str, true);
                        st.DowngradeOpen(); 
                    }
                    trans.Commit();//提交事务
                }

                return st[styleName];
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }

2.大字体

        使用大字体的时候不需要去设置字体样式的Font属性,只需设置其字体文件地址和大字体文件地址即可。

3.获取字体样式

        通过字体样式的名称获取到对象以进行后续的编辑或者信息读取。

字体获取

 

最后

以上就是有魅力信封为你收集整理的8.字体样式(TextStyle)1.新增字体样式2.大字体3.获取字体样式的全部内容,希望文章能够帮你解决8.字体样式(TextStyle)1.新增字体样式2.大字体3.获取字体样式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部