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

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

     //返回控件的数据库对象

    var databae = mxOcx.GetDatabase();

    //返回数据库中的块表对象

    var blkTab = databae.GetBlockTable();

    //创建一个遍历块表中所有记录的遍历器

    var mBlockTableiter = blkTab.NewIterator();

    //移动当前遍历器位置

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

    {

        //返回遍历器当前位置的记录

        var blkRec = mBlockTableiter.GetRecord();

        //创建一个遍历块表中所有记录的遍历器

        var mBlockTableReciter = blkRec.NewIterator();

        var mMaxPt = mxOcx.NewPoint();

        var mMinPt = mxOcx.NewPoint();

        var mMaxPtTemp = mxOcx.NewPoint();

        var mMinPtTemp =mxOcx.NewPoint();

        //移动当前遍历器位置

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

        {

            //与用户交互在图面上选择一个实体

            var ent = mBlockTableReciter.GetEntity();

            //返回实体的最小矩形框外包

            ent.GetBoundingBox(mMinPtTemp, 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;

        var mNewBasePt = mxOcx.NewPoint();

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

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

        //块表记录的插入原点属性

        blkRec.Origin = mNewBasePt;

        //重新生成图,重新生成所有显示数据

        mxOcx.Regen();

    }

}

CAD修复块中心点问题(网页版)相关推荐

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

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

  2. CAD交互绘制文字(网页版)

    1.在CAD设计时,需要绘制文字,用户可以设置设置绘制文字的高度等属性. 2.主要用到函数说明:_DMxDrawX::DrawText 绘制一个单行文字.详细说明如下: 参数 说明 DOUBLE dP ...

  3. CAD参数绘制椭圆(网页版)

    在CAD设计时,需要绘制椭圆,用户可以设置椭圆的基本属性. 主要用到函数说明: _DMxDrawX::DrawEllipse 绘制椭圆.详细说明如下: 参数 说明 DOUBLE dCenterX 椭圆 ...

  4. CAD参数绘制文字(网页版)

    1.在CAD设计时,需要绘制文字,用户可以设置设置绘制文字的高度等属性. 2.主要用到函数说明:_DMxDrawX::DrawText 绘制一个单行文字.详细说明如下: 参数 说明 DOUBLE dP ...

  5. CAD修复块中心(com接口c#语言)

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

  6. CAD绘制PL线(网页版)

    js代码实现如下: function DrawPolyline() {       var mxOcx = document.all.item("MxDrawXCtrl");    ...

  7. CAD得到填充名称(网页版)

    js代码实现如下: //实例化一个构造选择集进行过滤,该类封装了选择集及其处理函数. var  ss = mxOcx.NewSelectionSet(); //构造一个过滤链表 var spFilte ...

  8. CAD加粗文字(网页版)

    首先增加文字样式到数据库,如下代码所示: function CreateText(){     //返回控件的数据库对象     var database =mxOcx.GetDatabase(); ...

  9. CAD锁定所有图层(网页版)

    具体实现js代码如下: function LockeAllLayer() {//返回控件的数据库对象var database = mxOcx.GetDatabase();//返回数据库中的层表对象va ...

最新文章

  1. DO YOU WANNA BUILD A SNOW MAN ?
  2. 如何在FBL5N中增加所需字段
  3. c轴 t轴 l轴_从事数控工作的你知道3轴、3+2轴定位与5轴联动的区别吗?
  4. RabbitMQ fanout交换机(消费者)
  5. Linux网络DNS配置反向解析与构建主从域名服务器
  6. ruby .each_Ruby中带有示例的Array.each方法
  7. Unity Failed executing external process for 'Bake Runtime' job
  8. MySQL 执行计划说明
  9. Oracle1518,redhat 5.4 Oracle 10g r2
  10. adobe reader xi补丁_adobe reader
  11. linux查看weblogic的安装目录,linux下weblogic安装并部署项目,图文详细.
  12. Python基础知识从hello world 开始(第三天)
  13. 服务器系统网卡调节,使用智简魔方安装服务器系统时候如何在BIOS中开启网卡pxe...
  14. 叶俊:能量获取的秘籍-奇文
  15. JavaScript 数组拼接打印_JavaScript 中的“黑话”
  16. 解决freeswitch30s就挂掉的问题
  17. Aspose.Words 删除批注
  18. 在j2ee的web项目中,执行文件如excel、word导入,文件路径可以是“C:/Users/user/Desktop/abc/abc.xls”这样的路径吗?还是应该是工程的路径:/WEB-INF/
  19. linux的c文件报错for,linux c 编译错误 conflicting types for 的解决办法
  20. CSS—javaEE

热门文章

  1. [ 人力资源面试篇 ] 应届生 “ HR 面 “ 面试分析
  2. 解决IDEA : Could not autowire. No beans of ‘xxxx‘ type found
  3. 云计算对传统软件工程的影响
  4. lightroom 闪退_苹果iPhone11手机APP频繁闪退怎么办?如何修复?
  5. 被遗忘权_继续–被遗忘的声明
  6. HDFS集群管理与运维+distcp工具的使用
  7. 调研主板,树莓派 VS RK3288板子,还是 RK的主板香,但是只支持 anrdoid 7系统,估计也有刷机成 armbian或者
  8. HR面必问问题——和HR斗智斗勇(数字IC,FPGA,计算机,JAVA,算法,C++,产品,芯片通用)
  9. Android 9.0系统源码_SystemUI(四)通知图标控制器
  10. 如何关闭任务栏中chrome浏览器的通知图标