zoukankan      html  css  js  c++  java
  • cad.net 编辑器和在位编辑器,原理猜测及找到在位编辑状态的图元

    1. 在位编辑的时候会产生一个名为 0-RefEdit0 的图层,估计是用来作为长事务返回使用的.

    2. 在位编辑的本质是一个长事务,长事务是使用编辑库的对象替换源对象,相当于剪辑.
      不理解没关系,请看下面的聊天记录....

      【贵妃】惊惊 2019/7/13 17:52:02
      我遇到了一个问题,如果是在位编辑的时候,当前空间是模型空间,那么我用函数克隆一个块外的东西到模型空间,实际上会克隆到在位编辑的内部...
      我都不知道怎么处理这个情况了..莫非要关闭用户的在位编辑状态么..

      【才人】edata 2019/7/13 17:57:15
      在位编辑是这样的.

      【贵妃】惊惊 2019/7/13 17:58:08
      那桌子是怎么控制在位编辑-减出去块外的?

      【才人】edata 2019/7/13 17:58:20
      在位编辑实际上是对当前空间的修改,然后移动回块定义..

      【才人】edata 2019/7/13 17:58:44
      这个就不是很清楚了...

      【贵妃】惊惊 2019/7/13 17:58:47
      也就是长事务上面记录了要移动回去的id?
      如果减选了就是剔除了id?

      【才人】edata 2019/7/13 17:59:27
      你能卡到这个长事务吗?

      【贵妃】惊惊 2019/7/13 17:59:39
      net貌似无法控制长事务呀
      应该桌子有考虑到的,只是我还没有挖出来具体怎么处理的..

      【才人】edata 2019/7/13 18:08:59
      用命令去移除当前在位编辑.

    3. 跟e大聊完之后,大概就知道了
      1,桌子的长事务通过某个集合来储存复制出来的图元id,这个地方貌似我们拿不到,也改不了.
      2,也可能是用褪色度来控制的,不过偶尔cad会发生褪色度错误的情况,也没见在位编辑出现错误.但是褪色度有没有作用呢?这个只有桌子自己知道了.

    4. 如果获得在位编辑状态的图元,是否是块内图元,这个实际上困扰了我很久(大概两年),直到koz帮忙了,
      他在一个外国的网站搜索到:
      在位编辑命令触发时,选择全图的图元id,    ed.SelectAll这样选
      在位编辑命令触发后,选择全图的图元id,    ed.SelectAll这样选
      触发后的图元必然比触发前多,然后进行差集运算,得出多余的就是块内的.
      要使用多个反应器来操作,就可以得到了.
      你必须要知道的是,反应器的操作要注意锁文档,防止致命错误,但同时要防止你调用了命令,而它内锁了文档,你再锁就会出错.



    cad编辑器,不是在位编辑,而是编辑器编辑块的时候,有个现象是,如果你用代码克隆一个块表记录进来,按道理来说是会更新的,

    这在普通块上面只需要刷新一下就可以了.但是在动态块上面就不一样了.

    我是通过编辑器移动某个图元0距离就可以更新,而不能打开编辑器之后直接保存,可能这是块编辑器内置了一个flag,看某个图元是不是有改过....

    直接保存会导致

  • 相关阅读:
    Junit单元测试
    win7的6个网络命令
    WOJ1024 (POJ1985+POJ2631) Exploration 树/BFS
    WOJ1022 Competition of Programming 贪心 WOJ1023 Division dp
    woj1019 Curriculum Schedule 输入输出 woj1020 Adjacent Difference 排序
    woj1018(HDU4384)KING KONG 循环群
    woj1016 cherry blossom woj1017 Billiard ball 几何
    woj1013 Barcelet 字符串 woj1014 Doraemon's Flashlight 几何
    woj1012 Thingk and Count DP好题
    woj1010 alternate sum 数学 woj1011 Finding Teamates 数学
  • 原文地址:https://www.cnblogs.com/JJBox/p/11185185.html
Copyright © 2011-2022 走看看