主要用到函数说明:

1、_DMxDrawX::NewSelectionSet

实例化一个构造选择集进行过滤,该类封装了选择集及其处理函数。

2、_DMxDrawX::NewResbuf

新创建IMxDrawResbuf对象,构造一个过滤链表。

3、IMxDrawResbuf::AddStringEx

向链表中增加一个string数据,比如:把文字对象,当着过滤条件。

spFilte.AddStringEx("TEXT,MTEXT",5020);

4、IMxDrawSelectionSet::Select2

根据指定的选择方式在图上构造选择集,详细说明如下:

参数 说明

[in] MCAD_McSelect Mode

构造选择集方式

[in] VARIANT point1

构造择择集时需要使用到的点对象

[in] VARIANT point2

构造择择集时需要使用到的点对象

[in,optional] VARIANT filterType

构造选择集的过滤数据的类型

[in,optional] VARIANT filterData

构造选择集的过滤数据

5、实例化一个构造选择集进行过滤,该类封装了选择集及其处理函数。将文字对象当作过滤条件,得到文字对象(此处可以是文字或多行文字)。js代码实现如下:

// 创建选择集对象

ss = mxOcx.NewSelectionSet();   

// 创建一个链表对象   

var spFilte = mxOcx.NewResbuf();

// 把文字,多行文字当着过滤条件

spFilte.AddStringEx("TEXT,MTEXT",5020);

// 得到图上所有文字,5代码,全图选择

ss.Select2(5,null,null,null,spFilte);

6、遍历每个文字对象,将文字放到视区中间并绘制一个标记圆:

// 遍历每个文字.

var bFind = false;

 

    // 遍历选择集

for(var i = 0; i < ss.Count;i++)

{

         // 得到选集中的实体

var ent = ss.Item(i);

if(ent == null)

continue;

if (ent.ObjectName == "McDbText") {

             // 得到文字内容

    var sTxt = ent.TextString;

 

    if (sTxt == txt) {

        // 把文字放到视区中间.

        mxOcx.PutEntityInView(ent.ObjectID, 300);

 

 

        var dLen = mxOcx.ViewLongToDocCoord(80);

 

        // 绘制一个标记圆.

        mxOcx.DrawVectorCircle(ent.Position.x,

ent.Position.y,

dLen, 65280);

        bFind = true;

    }

}

   else if (ent.ObjectName == "McDbMText") {

 

                    

        var param = mxOcx.NewResbuf();

        param.AddObjectId(ent.ObjectID);

                  // 得到多行文字中的文字本内容

        var ret = mxOcx.CallEx("Mx_GetMTextContent", param);

        if (ret.AtString(0) == "Ok") {

 

            if (ret.AtString(1) == txt) {

                // 把文字放到视区.

                mxOcx.PutEntityInView(ent.ObjectID, 300);

 

                var dLen = mxOcx.ViewLongToDocCoord(80);

 

                // 绘制一个标记圆.

                mxOcx.DrawVectorCircle(ent.Location.x,

            ent.Location.y,

            dLen, 65280);

                bFind = true;

 

                break;

            }

        }

    }

ent = null;

    }

 

    if (!bFind) {

    alert("没有找到文字对象");

    }

    // 在这里必须显示释放控件的COM对象指针.

    ss = null;

    spFilte = null;

    CollectGarbage();

}

CAD查找文字(网页版)相关推荐

  1. 在线CAD看图网页版,一样可以快速查看CAD图纸

    CAD制图工作中,如果想要快 速查看CAD图纸,使用方便的CAD看图软件是常用的.CAD看图软件区别于AutoCAD复杂的程序,可以对dwg\dxf格式的CAD图纸进行浏览查看.同时可以完整的显示出图 ...

  2. cad有没有网页版_在线CAD看图网页版,一样可以快速查看CAD图纸

    CAD制图工作中,如果想要快 速查看CAD图纸,使用方便的CAD看图软件是常用的.CAD看图软件区别于AutoCAD复杂的程序,可以对dwg\dxf格式的CAD图纸进行浏览查看.同时可以完整的显示出图 ...

  3. cad有没有网页版_CAD看图网页版如何在线查看CAD图纸?

    我们都知道使用浩辰CAD看图王软件就可以打开.查看.编辑.修改.绘制CAD图纸,但是大多数朋友接触的浩辰CAD看图王软件不是电脑版就是手机版,这些都是要下载浩辰CAD看图王软件呢,那么有没有办法,不下 ...

  4. 梦想CAD控件网页版右键弹出菜单

    用户需要右键弹出菜单,则需要响应鼠标事件,右键按下后,弹出菜单分为在命令下运行及在非命令下运行,具体介绍如下 : 一.新建菜单文件 1.新一个文本文件: mxpoptest.mnu,内容如下(此文件为 ...

  5. CAD查找文字(com接口c#语言)

    主要用到函数说明: 1._DMxDrawX::NewSelectionSet 实例化一个构造选择集进行过滤,该类封装了选择集及其处理函数. 2._DMxDrawX::NewResbuf 新创建IMxD ...

  6. VBA批量OCR识别提取身份证照片信息_白描网页版 - 高效准确且免费的OCR文字识别工具...

    遇到无法复制的文字怎么办?今天推荐一款实用的OCR文字扫描识别利器. 介绍 白描是一款像猫一样灵动的OCR扫描识别神器.具有高准确度的文字识别.表格识别转Excel.批量识别.识别后翻译.文件扫描等功 ...

  7. 百度ai文字转语音并下载php源码,一种基于百度AI的网页版在线语音包转文字的方法与流程...

    本发明涉及语音识别技术领域,特别涉及一种基于百度AI的网页版在线语音包转文字的方法. 背景技术: 语音识别技术,也被称为自动语音识别Automatic Speech Recognit1n, (ASR) ...

  8. 10.8.8.8柠檬wifi网页登录_在线批量高效 OCR 文字识别,白描上线网页版

    近期,白描 App 新上线了 网页版,主要是为了能在电脑大屏幕上快捷高效地进行 OCR 文字识别. 在没有网页版之前,很多使用白描 App 的用户如果想在电脑上识别文字,会选择 WiFi 识别功能,就 ...

  9. 谷歌翻译网页版已支持直接翻译图片中的文字

    谷歌宣布,网页版的谷歌翻译现在也能直接处理图片中的文字了. 该功能使用的是跟Google Lens一样的AR Translate技术,目前支持113种源语言和133种目标语言. 在最新的谷歌翻译网页版 ...

最新文章

  1. Mybatis问题解释?
  2. 2019.08.17【NOIP?提高组】模拟 A 组 总结
  3. RocketMQ(五):教你如何调试源代码
  4. jedis set集合 java,使用Jedis操作String、List、Set、Map等常见数据 | zifangsky的个人博客...
  5. VTK:Shaders之ColorByNormal
  6. 视觉平衡与物理平衡_怎样做好摄影中“视觉平衡”的那些事
  7. 【jmx】java jmx 获取 kafka topic的logStart LogEnd信息
  8. 从随机数生成到随机采样的C++实现
  9. python语言是胶水语言吗_为什么只有python是胶水语言?
  10. taptap解析安装包出错_电脑上面怎么提取taptap游戏安装包 提取taptap里面游戏教程...
  11. Android Studio 插件-Android Styler 的使用 (转)
  12. 【docker-gpu】报错:W: GPG error:xxx, InRelease: The following signatures couldn‘t be verified because th
  13. oracle 如何判断当前日期是星期几
  14. 微信小程序:wx.createInnerAudioContext的使用
  15. 北京链家二手房数据分析
  16. ImportError: No module named 'win32api'
  17. VueUse中文文档/Vue官方工具库
  18. 注册国外邮箱须知(ZIP CODE)
  19. 代码服务流水线部署平台
  20. 使用FME 批量OSGB转FBX(OBJ) (亲测)

热门文章

  1. 一文总结Spring 注解及作用详解
  2. 用EXCEL依据产品名称的关键词分类
  3. 怎么查询显卡hdmi接口版本_联想拯救者y7000 2020款怎么样?5999元,价格配置点评可以帮您...
  4. 我的Macbook Pro 2017配置和技巧
  5. Android 电池管理(BatteryService) 详解
  6. 鸡汤有毒,请谨慎服用!
  7. 三星s9 Android pie,圣诞礼物!三星S9/S9+获得安卓9 Pie正式版更新,德国地区抢先...
  8. MobileNetV1 MobileNetV2 简介
  9. 【BZOJ1001】狼抓兔子题解
  10. 树莓派可以频繁重启吗_手机资讯: iPhone XS Max 可以在低温环境下使用吗冬天设备频繁关机怎么办...