CAD关于得到实体的坐标操作(com接口网页版)

ε祈祈猫儿з 提交于 2020-03-12 07:53:27

不同的实体它的坐标属性不一样,比如直线就是开始点,和结速点属性,圆的就是中心点坐标和半径属性。所以要得实体的坐标,需要判断对象类型,然后再转换成具体的对象,再读取它的坐标。

控件提供的计算对象最小外包的函数:GetBoundingBox,详见:http://www.mxdraw.com/help/IMxDrawEntity__GetBoundingBox@[out]_IMxDrawPoint__@[out]_IMxDrawPoint__.htm

下面js代码,得到对象最小外包矩形框坐标:

var  ent = mxOcx.GetEntity("选择实体");
if (ent == null)
    return;
var pt1Ob = mxOcx.NewPoint();
var  pt2Ob = mxOcx.NewPoint();
// 得到最小外包。
var  points = ent.GetBoundingBox2();
ent.Close();
var pt1Ob = points.Item(0);
var pt2Ob = points.Item(1);
if(pt1Ob != null && pt2Ob != null)
{
    // 成功得到。
    var app = mxOcx.NewComObject("IMxDrawApplication");
    app.ZoomWindow(pt1Ob.x,pt1Ob.y, pt2Ob.x,pt2Ob.y);
 
    alert(pt1Ob.x);
    alert(pt1Ob.y);
    alert(pt2Ob.x);
    alert(pt2Ob.y);
     
}

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!