返回介绍

得到当前选择的实体2

发布于 2023-08-09 23:10:34 字数 1900 浏览 0 评论 0 收藏 0

主要用到函数说明:

函数名:IMxDrawSelectionSet::CurrentSelect

得到当前已经选择的实体。详细说明如下:

参数说明
filterData过滤条件

c#中使用如下:

private void CurrentSelect()
{
    //创建选择集
    MxDrawSelectionSet ss = new MxDrawSelectionSet();
    //创建过滤对象
    MxDrawResbuf spFilte = new MxDrawResbuf();
    ss.CurrentSelect(spFilte);
    int i = 0;
    for (; i < ss.Count; i++)
    {
        MxDrawEntity ent = ss.Item(i);
               
        if (ent.ObjectName == "McDbLine")
        {
            MxDrawLine line = (MxDrawLine)ent;
            // 是个直线。
            MxDrawPoint spt = (MxDrawPoint)line.StartPoint;
            MxDrawPoint ept = (MxDrawPoint)line.EndPoint;
            MessageBox.Show(spt.x.ToString());
        }
        else if (ent.ObjectName == "McDbPolyline")
        {
            MxDrawPolyline polyline = (MxDrawPolyline)ent;
            // 是个多义线.
            int j = 0;
            // 循环,得到端点坐标
            for (j = 0; j < polyline.NumVerts; j++)
            {
                MxDrawPoint pt = polyline.GetPointAt(j);
                MessageBox.Show(pt.x.ToString());
            }
        }
    }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文