lihao2014 发表于 2019-6-13 15:07:51

CAD使用CurrentSelect得到当前选择的实体(网页版)

主要用到函数说明:
IMxDrawSelectionSet::CurrentSelect
得到当前已经选择的实体。详细说明如下:
参数 说明
filterData 过滤条件
js中使用如下:
function CurrentSelect() {
    //实例化一个构造选择集进行过滤,该类封装了选择集及其处理函数。
    var ss = mxOcx.NewSelectionSet();
    //构造一个过滤链表
    var spFilte = mxOcx.NewResbuf();
    ss.CurrentSelect(spFilte);
    var i = 0;
    for (; i < ss.Count; i++) {
      var ent = ss.Item(i);
      if (ent.ObjectName == "McDbLine") {
            // 是个直线。
            var spt = ent.StartPoint;
            var ept = ent.EndPoint;
            alert(spt.x);
      }
      else if (ent.ObjectName == "McDbPolyline") {
            // 是个多义线.
            var j = 0;
            // 循环,得到端点坐标
            for (j = 0; j < ent.NumVerts; j++) {
                var pt = ent.GetPointAt(j);
                alert(pt.x);
            }
      }
    }
}

页: [1]
查看完整版本: CAD使用CurrentSelect得到当前选择的实体(网页版)