zoukankan      html  css  js  c++  java
  • cad.net 与lisp函数ssnamex一样的,获取选择集的选择的方式

    如题

        public class 测试选择集的点选位置和点选方式
        {
            //对应lisp的ssnamex,获取选择的方式和选择的角点
            [CommandMethod("tt_getssgetpick", CommandFlags.Modal | CommandFlags.UsePickSet | CommandFlags.Redraw)]
            public void tt_getssgetpick()
            {
                Database db = HostApplicationServices.WorkingDatabase;//当前的数据库
                Editor ed = Acap.DocumentManager.MdiActiveDocument.Editor;
                ed.WriteMessage(Environment.NewLine + "****惊惊连盒-测试选择集的点选位置和点选方式");
    
                var tkids = new List<ObjectId>();
    
                //创建选择集过滤器,只选择块对象
                TypedValue[] filList = new TypedValue[]
                {
                   // new TypedValue((int)DxfCode.Start, "INSERT")
                };
    
                SelectionFilter filter = new SelectionFilter(filList);
    
                //定义选择集选项
                var pso = new PromptSelectionOptions
                {
                    RejectObjectsOnLockedLayers = true, //不选择锁定图层对象
                    AllowDuplicates = true, //不允许重复选择 
                };
                var ssPsr = ed.GetSelection(pso, filter);//手选
                if (ssPsr.Status != PromptStatus.OK)
                {
                    return;
                }
    
                //获取所有的id
                //foreach (var item in ssPsr.Value.GetObjectIds())
                //{
                //    Debug.WriteLine(item);//所有的角点信息 
                //}
                 
                var va = ssPsr.Value;
                foreach (var vaItem in va)
                {
                    if (vaItem is CrossingOrWindowSelectedObject cows)//框选方式
                    {
                        foreach (var ppd in cows.GetPickPoints())
                        {
                            Debug.WriteLine(ppd.PointOnLine);//ppd内还有内容
                        }
                    }
                    else if (vaItem is PickPointSelectedObject pps)//点选方式
                    {
                        Debug.WriteLine(pps.PickPoint);//pps内还有内容
                    }
                } 
            }
        }
    View Code
  • 相关阅读:
    每日总结2021.9.14
    jar包下载mvn
    每日总结EL表达语言 JSTL标签
    每日学习总结之数据中台概述
    Server Tomcat v9.0 Server at localhost failed to start
    Server Tomcat v9.0 Server at localhost failed to start(2)
    链表 java
    MVC 中用JS跳转窗体Window.Location.href
    Oracle 关键字
    MVC 配置路由 反复走控制其中的action (int?)
  • 原文地址:https://www.cnblogs.com/JJBox/p/13155176.html
Copyright © 2011-2022 走看看