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);

            }

        }

原文地址:https://www.cnblogs.com/yzy0224/p/12009408.html

时间: 2024-07-31 20:12:33

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

CAD关于文字样式修改文字对象的文字样式操作(com接口网页版)

文字对象都一个TextStyle属性,用这个属性可以设置,或取到文字对象的文字样式. 下面代码演示设置一个文字对象的字体为黑体,如果没有文字样式,就添加文字样式. var ent = mxOcx.GetEntity("选择实体对象:"); if(ent == null) { return; } // 得到数据库对象. var database = mxOcx.GetDatabase(); // 得到文本式表. var textStyleTable = database.GetTextS

CAD关于文字样式删除文字样式操作(com接口网页版)

在删除文字样式前,最好判断图上有没有文字对象正在使用该文字样式,如果有的话就不要删除文字样式 JS代码如下: function DelText() { var winWidth = 440; var winHeight = 140; var winLeft = (screen.width - winWidth) / 2; var winTop = (screen.height - winHeight) / 2 - 20; var str = 'dialogHeight:' + winHeight

CAD关于实体扩展记录操作(com接口网页版)

在CAD中,对象上面不但可以存放扩展数据,还可以存放扩展记录,在对象上可创建一个字典(这个字典和前面说到的全局字典类似),字典中存放扩展记录,这样可以存放更多的数据,调用GetExtensionDictionary函数得到字典. 下面js代码演示如何读取对象扩展记录: // 让用户在图上选择一个对象. var ent = mxOcx.GetEntity("选择实体"); if (ent == null) return; // 得到实体扩展字典 var dict = ent.GetExt

CAD返回指定参数在曲线上,到开始点的曲线上长度(网页版)

主要用到函数说明: IMxDrawCurve::GetDistAtParam 返回指定参数在曲线上,到开始点的曲线上长度,具体说明如下: 参数 说明 [in] DOUBLE dParam 曲线参数 [out] DOUBLE* pDis 返回到开始点的曲线上长度 js代码实现如下:     var ent = mxOcx.GetEntity("选择曲线:");     if (ent == null)         return;     var curve;     if (ent.

CAD关于块表操作2(com接口网页版)

E   添加块表记录 下面代码,判断块表中是否有指定名称的块表记录,如果没有就增一个块表记录. function AddBlockRrecord(sName,blkOriginPoint) { // 取当前数据库. var curDatabase = mxOcx.GetDatabase(); // 得到块表 var blkTable = curDatabase.GetBlockTable(); // 判断块表是否已经有该名称的块名. if (blkTable.Has(sName)) { var

CAD关于实体的选择操作(com接口网页版)

调用控件的AddCurrentSelect函数,把实体设置成选中状,函数详见: http://www.mxdraw.com/help/[email protected]@[email protected]_BOOL.htm 调用控件的ClearCurrentSelect函数清除当前选择 调用IMxDrawSelectionSet::CurrentSelect 得到当前选择的实体,详见: http://www.mxdraw.com/help/[email protected][in,default

CAD关于文字样式文字显示号问题原因和解决办法

打开DWG时,图纸中使用的shx字体文件在本地电脑不能找到时,控件会默认使用缺省的字体txt.shx,hztxt.shx来代替,这样一般文字不会显示成问号,但是如果文字中的特殊符号在默认字体也一样找不到,这时就会显示成问号. 使用缺省的字体的代替的文字样式,可能会出现文字显示大小,样子不一至的效果. 这时最好的办法是,把需要使用的字体拷到MxDrawX.ocx所在目录的shx目录下,如果不知道当前用的MxDrawX.ocx在位置,可以命令行输入mx_about看到控件安装位置 如下图,打开图时,

CAD关于文字样式得到所有文字样式操作(com接口c#语言)

下面代码是遍历文字样式表中所有文字样式,并得到所有文字样式名,在遍历的循环中,得到每个文字样式记录对象,可以去修改它的属性 private void GetAllTextStyle() { MxDrawDatabase database = (MxDrawDatabase)axMxDrawX1.GetDatabase(); //返回数据库中的文字样式表对象 MxDrawTextStyleTable mxtst = database.GetTextStyleTable(); //创建一个遍历文字样

CAD看图软件中文字样式修改的方法

工程师在计算机上用CAD进行设计工作,CAD绘图时常会用到文字,在CAD文件编辑时会添加单行文字和多行文字等等.当我们想要编辑修改文字样式的时候,该怎么办呢?这里教CAD看图软件修改文件样式的步骤. 第一步,打开浏览器搜索迅捷CAD编辑器http://cad.xjpdf.com/,找到软件的下载资源,按照步骤下载安装迅捷CAD编辑器,软件安装完成后,请点击打开软件进入操作界面. 第二步,在软件操作界面中,点击"文件",在文件列表中,点击"打开"按钮,接着在弹出的对话