AutoCAD .Net二次开发之Editor选择集

  • PickFirst选择集
  • 一般选择集
  • 选择集过滤SelectionFilter

Editor的路径:
Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor

PickFirst选择集

Editor.SelectImplied() —获取命令执行前所选择的选择集(PickFirst选择集)

使用PickFirst选择集系统变量PICKFIRST必须设置为1
使用PickFirst选择集的命令必须定义好UsePickSet命令标志

Editor.SetImpliedSelection() —设置PickFirst选择集

一般选择集

Editor.GetSelection() —提示用户从屏幕拾取对象
Editor.SelectAll() —选择当前空间内所有未锁定及未冻结的对象
Editor.SelecCrossingPolygon() —选择由给定点定义的多边形内的所有对象以及与多边形相交的对象

边界多边形不能自交

Editor.SelectWindow() —选择完全框入由两个点定义的矩形内的所有对象
Editor.SelectCrossingWindow() —选择由两个点定义的窗口内的对象以及与窗口相交的对象
Editor.SelectWindowPolygon() —选择完全框入由点定义的多边形内的对象

边界多边形不能自交

!!!
一般选择集方法,传入的点被用作为UCS点,如果是其他坐标系下的点坐标,需转为UCS,再传入方法;
还有就是,选择集进行选择时,所参照的平面是当前视口的方向,也就是用户观察模型空间的方向,以这个方向做法线生成的一个平面,已定义好的选择区域会向这个平面做映射,以这个映射过来的图形作最终的选择区域,视口方向为轴,进行选择。
!!!
这就会导致一个问题,一般选择集我们不能自由控制选择的方向,我所采取的解决方法是临时改变视口方向

Editor edit = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor;
ViewTableRecord VTR = edit.GetCurrentView();
Vector3d oldDirection = VTR.ViewDirection;
VTR.ViewDirection = SFD.Normal;//将当前视口调整到想要进行选择的一个方向
edit.SetCurrentView(VTR);

选择集过滤SelectionFilter

TypedValue[] tv = new TypedValue[]{new TypedValue(typeCode,”LINE”)};
SelectionFilter sf = new SelectionFilter(tv);

具体请参考https://blog.csdn.net/zhd18/article/details/78726469

AutoCAD .Net二次开发之Editor选择集相关推荐

  1. AutoCAD .Net二次开发之JIG动态绘制详解

    AutoCAD .Net二次开发之JIG动态绘制详解 AutoCAD平台动态绘制分两种,单实体绘制EntityJig和多实体绘制DrawJig,需要自己自定义类去继承.(本人的理解全放在了代码注释中, ...

  2. C#进行MapX二次开发之MapX基础知识

    C#进行MapX二次开发之MapX基础知识 MapX的主要技术特点 (1). 以表(Table)的形式组织信息 每一个表都是一组MapInfo文件,这些文件组成了地图文件和数据库文件.为使用MapIn ...

  3. U9二次开发之BP定时任务插件开发

    采购订单BP定时任务插件开发 最近我们公司要做采购订单审批和OA的集成,也就是把u9的审批流程搬到OA里去做.当业务员点击标准采购提交按钮的时候,把采购订单的信息触发到OA流程,在OA里做审核,OA审 ...

  4. Vissim11二次开发之C#---实现仿真时间内实施不同信号控制方案

    Vissim11二次开发之C#-实现仿真时间内实施不同信号控制方案 本文起源:近些日子,由于论文仿真需求,重重重操Vissim旧业. 先说下需求情况吧:路网区域优化前后两种信号控制方案,由于论文场景要 ...

  5. Datax 插件二次开发之parquet日志问题处理

    Datax 插件二次开发之parquet日志问题处理 Date: December 31, 2021 参考文档: https://blog.csdn.net/wuleidaren/article/de ...

  6. C#进行Visio二次开发之Shape的Data1、Data2、Data3的用处

    我们知道,Visio的Shape对象有有3个比较特别的属性,分别是Data1.Data2.Data3,平常我们很少用到它,因为我们如果需要属性的话,可能会通过ShapeSheet的Customed P ...

  7. C#进行Visio二次开发之Web查看Visio图纸

    前面介绍的Visio开发知识,都是基于Winform的Visio的开发知识,图纸的展示都是基于Winform方式展示的.但很多时候,如果能够通过Web方式可以查看最新的图纸信息,那么系统将更加趋向完美 ...

  8. Revit二次开发之DMU

    Revit二次开发之DMU   Revit是一款三维联动的设计软件,一处修改处处修改, 比如,在三维视图修改了墙的位置,二维视图上墙的位置也跟着变化了,同时,墙上的门窗也会跟着移动. 这种联动关系是R ...

  9. Revit二次开发之“选择某一楼层的墙”

    其实就是过滤器的用法.这里想要找到同一楼层中的风管,不可行. 要用:duct.ReferenceLevel //选择某一楼层上的墙 [Transaction(TransactionMode.Manua ...

最新文章

  1. 采购AI/ML安全工具前要先回答这11个问题
  2. 为DataGridView添加行号
  3. Nacos服务端流程图
  4. 欧司朗台灯的灯泡容易坏是怎么回事
  5. java查询和添加客户信息_4.从零点五开始的Java之路(增删改查-客户)
  6. linux系统管理命令使用,Linux系统管理命令使用说明
  7. mvnrepository.com jar包下载
  8. 写给自己的CDSN账号
  9. Android语言/国家代码清单
  10. 【旧】Unity学习0:开发工具选择与Unity安装(准备工作)
  11. 图书资源下载网站推荐
  12. android 字体调节大小,教你如何修改Android默认字体大小和设置字体大小比例
  13. request.getParameterValues()用法
  14. 怎么查看电脑IP地址?
  15. Window7使用虚拟桌面
  16. 计算机组装与维护标准教程(2010-2012版)电子教材,计算机组装与维护标准教程(2015—2018版)...
  17. 微服务 spring cloud zuul com.netflix.zuul.exception.ZuulException GENERAL
  18. 文件不能设置默认打开方式怎么办?
  19. wps里面如何使用计算机,wps表格中怎么在多行之间每行插一行?
  20. DB207S-ASEMI手机快充适配器标配整流桥

热门文章

  1. CoovaChilli
  2. Matlab:拉盖尔-高斯光束杨氏双缝干涉
  3. .exe文件打不开恢复方法
  4. 在线JSON转YAML工具
  5. 智慧环卫管理系统方案/APP/小程序/公众号/网站
  6. Java语言程序设计基础篇-第10版-第一部分-程序设计基础)
  7. 《小说朗读器》新增功能
  8. 佳能5D4相机断电后继续拍摄了,断电前的视频丢失数据恢复
  9. Linux智能手表的浪潮即将向我们袭来
  10. 手把手教你5分钟从零开发一款简易的IDEA插件!项目经验/毕设不愁了!