CAD关于文字样式得到图所有文字对象使用的字体文件操作(com接口网页版)

下面代码会遍历图上所有CAD文字对象,然后取它使用的字体信息

        var database = mxOcx.GetDatabase();
//返回数据库中的文字样式表表对象
        var textStyleTable = database.GetTextStyleTable();
// 定义选择集对象
        var ss = mxOcx.NewSelectionSet();
//构造一个过滤链表
        var spFilte = mxOcx.NewResbuf();
//得到当前空间的所有实体
        ss.AllSelect (spFilte);
 
// 遍历所有对象
        for(var i = 0;i <ss.Count;i++)
        {
            var ent = ss.Item(i);
            // 得到对象使用的文字样式记录.
            var rec = textStyleTable.GetAt(ent.TextStyle);
            if (rec == null)
                continue;
            // 得到TrueType字体属性。
            var pTypeface = "";
            var bold = false;
            var italic = false;
            var charset = 0;
            var pitchAndFamily = 0;
            rec.Font(pTypeface,bold,italic,charset,pitchAndFamily);
            var sShxFileName;
            var sBigShxFileName;
            var sShxFileName1;
 
            // 如果TrueType字体名为空,表示使用的Shx字体。
            if(pTypeface.Length != 0)
            {
                // 得到西文字体
                sShxFileName = rec.fileName;
 
                // 得到中文字体
                sBigShxFileName = rec.bigFontFileName;
               sShxFileName1=sShxFileName+sBigShxFileName;
                
                alert(sShxFileName1);
                 
            }
 
        }

 

posted on 2019-12-09 10:11  梦想CAD控件  阅读(289)  评论(0)    收藏  举报

导航