[arx]acedCommand(RTSTR, "ZOOM", RTSTR, "W", RT3DPOINT, p11, RT3DPOINT, p21 ,0);

    技术2022-05-11  47

    //ads_point p11,p21;

    acedCommand(RTSTR, "ZOOM", RTSTR, "W", RT3DPOINT, p11, RT3DPOINT, p21 ,0);

    如果p11和p21两个点的坐标相同,上面的代码会使CAD死掉

    今天就发现一个这样的问题,为什么会死掉呢?无效的缩放范围而已……

    解决方法就是判断下两点是否相同是否相同,作下处理。代码如下:

    //ads_point p11,p21;

      if (((p11[X] - p21[X]) >= -EPSINON) && ((p11[X] - p21[X]) <= EPSINON))  {   p11[X] -= 50.0;   p21[X] += 50.0;  }    if (((p11[Y] - p21[Y]) >= -EPSINON) && ((p11[Y] - p21[Y]) <= EPSINON))  {   p11[Y] -= 50.0;   p21[Y] += 50.0;  }

      acedCommand(RTSTR, "ZOOM", RTSTR, "W", RT3DPOINT, p11, RT3DPOINT, p21 ,0);


    最新回复(0)