1、主要用到函数说明:IMxDrawEntity::GetBoundingBox

2、返回实体的最小矩形框外包。详细说明如下:

参数 说明

[out] IMxDrawPoint** minPoint

外包框的左下角点

[out] IMxDrawPoint** maxPoint

外包框的右上角点

3、c#中实现代码说明:

           MxDrawDatabase databae = (MxDrawDatabase)axMxDrawX1.GetDatabase();

            MxDrawBlockTable blkTab = databae.GetBlockTable();

            MxDrawBlockTableIterator mBlockTableiter = blkTab.NewIterator();

            for (; !mBlockTableiter.Done(); mBlockTableiter.Step())

            {

                MxDrawBlockTableRecord blkRec = mBlockTableiter.GetRecord();

                MxDrawBlockTableRecordIterator mBlockTableReciter = blkRec.NewIterator();

                MxDrawPoint mMaxPt = new MxDrawPoint();

                MxDrawPoint mMinPt = new MxDrawPoint();

                MxDrawPoint mMaxPtTemp = new MxDrawPoint();

                MxDrawPoint mMinPtTemp = new MxDrawPoint();

                for (; !mBlockTableReciter.Done(); mBlockTableReciter.Step(truefalse))

                {

                    MxDrawEntity ent = mBlockTableReciter.GetEntity();

                    ent.GetBoundingBox(out mMinPtTemp, out mMaxPtTemp);

                    if ((mMinPtTemp == null) || (mMaxPtTemp == null))

                        break;

                    mMaxPt.x = Math.Max(mMaxPt.x, mMaxPtTemp.x);

                    mMaxPt.y = Math.Max(mMaxPt.y, mMaxPtTemp.y);

                    mMinPt.x = Math.Min(mMinPt.x, mMinPtTemp.x);

                    mMinPt.y = Math.Min(mMinPt.y, mMinPtTemp.y);

                }

                if ((mMinPtTemp == null) || (mMaxPtTemp == null))

                    continue;

                MxDrawPoint mNewBasePt = new MxDrawPoint();

                mNewBasePt.x = mMinPt.x + (mMaxPt.x - mMinPt.x) / 2;

                mNewBasePt.y = mMinPt.y + (mMaxPt.y - mMinPt.y) / 2;

                blkRec.Origin = mNewBasePt;

                axMxDrawX1.Regen();

            }

CAD修复块中心(com接口c#语言)相关推荐

  1. CAD修复块中心点(网页版)

    1.主要用到函数说明:IMxDrawEntity::GetBoundingBox 2.返回实体的最小矩形框外包.详细说明如下: 参数 说明 [out] IMxDrawPoint** minPoint ...

  2. CAD修复块中心点问题(网页版)

    js代码实现: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 ...

  3. CAD打碎块(com接口c#语言)

    1.主要用到函数说明:IMxDrawBlockReference::Explode 2.打碎块引用,被打碎的引用对象还在,打碎的实体是新生成的.详细说明如下: 参数 说明 [out,retval] I ...

  4. CAD偏移曲线(com接口c#语言)

    主要用到函数说明: IMxDrawCurve::OffsetCurves 曲线偏移,具体说明如下: 参数 说明 [in] DOUBLE dOffsetDist 偏移距离 [in] IMxDrawPoi ...

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

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

  6. CAD图块全攻略:别羡慕我下班早,我的CAD软件会开挂!

    在使用浩辰CAD软件进行工程设计的过程中,一些CAD图形元素会被多次重复使用,例如机械行业中的螺钉.螺母等标准紧固件.这些高频使用的CAD图形,如果每次都重新设计和绘制,十分麻烦费时.因此,在浩辰CA ...

  7. CAD动态块操作实例:绘制剖面符号

    CAD动态块与普通的CAD图块相比,其图形夹点更多,设计师可以利用动态块的夹点对图形进行快速调整,自由拉伸长度.随心切换隐藏形态等.本节,给大家分享一下浩辰CAD软件中利用CAD动态块的极轴拉伸功能来 ...

  8. CAD动态块操作实例:距离乘数

    作为一名"成熟"的设计师,相信大家对于CAD动态块都不陌生,以下图为例,对部件左端进行拉伸,且拉伸后[键]仍处于部件左端的中心位置.今天,我们要用CAD动态块动作的[距离乘数]属性 ...

  9. 个人中心数据接口的开发

    1. 根据sql语句查询个人中心数据 # 个人中心数据接口开发 @route("/center_data.html") def center_data():# 响应状态status ...

最新文章

  1. Pandas选择一列或者多列数据
  2. Java基础——Servlet(六)分页相关
  3. K - TimesIsMoney(查询)
  4. c语言中的typedef struct相当于java的一个类?,C ++中'struct'和'typedef struct'之间的区别?...
  5. 干货:MySQL 索引原理及慢查询优化
  6. 一句话征服了美国人,这位饱受争议的数学博士竟从未上过学?
  7. 如何查看mysql的gtid_汇总丨MySQL GTID技术点,看这一篇就够了!
  8. 最全面试考点与面试技巧,真香!
  9. CentOS7环境下搭建Kibana
  10. x86-64寄存器与栈帧(转载)
  11. mysql 修改字段长度_面试官:InnoDB记录存储结构都不知道,你敢说你懂MySQL?
  12. CSS-文本垂直居中
  13. Linq to Sql 聚合查询
  14. 概率论与数理统计 习题篇
  15. 小i机器人伴侣_【数据分析】2020年3月全国工业机器人产量统计数据分析
  16. 如何巧妙应对压力面试
  17. Linux源码阅读(Web在线阅读)
  18. MaxScript 例子 渲染
  19. vue代码如何跟后端代码结合_阿里云服务器优惠购买教程,可获得800元代金券,云服务器仅需82元/年_学云网...
  20. Python中的Counter.most_common()方法

热门文章

  1. MacBook Air(2012)维修笔记
  2. 【教程】如何使用ArcGIS绘制荧光图
  3. Cisco *** Client 报错问题
  4. 半色调技术简介(一)
  5. 【报告分享】2021年中国新能源汽车行业洞察-Mob研究院(附下载)
  6. C# 通过网络和三菱的PLC通信
  7. 贴图平移凹凸贴图偏移
  8. 关于数字的智力题-三个女儿的年龄
  9. JVM调优参数大全及G1GC调优
  10. ONF发布安全部署SDN控制器指南