AutoCAD .Net二次开发之Editor选择集
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选择集相关推荐
- AutoCAD .Net二次开发之JIG动态绘制详解
AutoCAD .Net二次开发之JIG动态绘制详解 AutoCAD平台动态绘制分两种,单实体绘制EntityJig和多实体绘制DrawJig,需要自己自定义类去继承.(本人的理解全放在了代码注释中, ...
- C#进行MapX二次开发之MapX基础知识
C#进行MapX二次开发之MapX基础知识 MapX的主要技术特点 (1). 以表(Table)的形式组织信息 每一个表都是一组MapInfo文件,这些文件组成了地图文件和数据库文件.为使用MapIn ...
- U9二次开发之BP定时任务插件开发
采购订单BP定时任务插件开发 最近我们公司要做采购订单审批和OA的集成,也就是把u9的审批流程搬到OA里去做.当业务员点击标准采购提交按钮的时候,把采购订单的信息触发到OA流程,在OA里做审核,OA审 ...
- Vissim11二次开发之C#---实现仿真时间内实施不同信号控制方案
Vissim11二次开发之C#-实现仿真时间内实施不同信号控制方案 本文起源:近些日子,由于论文仿真需求,重重重操Vissim旧业. 先说下需求情况吧:路网区域优化前后两种信号控制方案,由于论文场景要 ...
- Datax 插件二次开发之parquet日志问题处理
Datax 插件二次开发之parquet日志问题处理 Date: December 31, 2021 参考文档: https://blog.csdn.net/wuleidaren/article/de ...
- C#进行Visio二次开发之Shape的Data1、Data2、Data3的用处
我们知道,Visio的Shape对象有有3个比较特别的属性,分别是Data1.Data2.Data3,平常我们很少用到它,因为我们如果需要属性的话,可能会通过ShapeSheet的Customed P ...
- C#进行Visio二次开发之Web查看Visio图纸
前面介绍的Visio开发知识,都是基于Winform的Visio的开发知识,图纸的展示都是基于Winform方式展示的.但很多时候,如果能够通过Web方式可以查看最新的图纸信息,那么系统将更加趋向完美 ...
- Revit二次开发之DMU
Revit二次开发之DMU Revit是一款三维联动的设计软件,一处修改处处修改, 比如,在三维视图修改了墙的位置,二维视图上墙的位置也跟着变化了,同时,墙上的门窗也会跟着移动. 这种联动关系是R ...
- Revit二次开发之“选择某一楼层的墙”
其实就是过滤器的用法.这里想要找到同一楼层中的风管,不可行. 要用:duct.ReferenceLevel //选择某一楼层上的墙 [Transaction(TransactionMode.Manua ...
最新文章
- 采购AI/ML安全工具前要先回答这11个问题
- 为DataGridView添加行号
- Nacos服务端流程图
- 欧司朗台灯的灯泡容易坏是怎么回事
- java查询和添加客户信息_4.从零点五开始的Java之路(增删改查-客户)
- linux系统管理命令使用,Linux系统管理命令使用说明
- mvnrepository.com jar包下载
- 写给自己的CDSN账号
- Android语言/国家代码清单
- 【旧】Unity学习0:开发工具选择与Unity安装(准备工作)
- 图书资源下载网站推荐
- android 字体调节大小,教你如何修改Android默认字体大小和设置字体大小比例
- request.getParameterValues()用法
- 怎么查看电脑IP地址?
- Window7使用虚拟桌面
- 计算机组装与维护标准教程(2010-2012版)电子教材,计算机组装与维护标准教程(2015—2018版)...
- 微服务 spring cloud zuul com.netflix.zuul.exception.ZuulException GENERAL
- 文件不能设置默认打开方式怎么办?
- wps里面如何使用计算机,wps表格中怎么在多行之间每行插一行?
- DB207S-ASEMI手机快充适配器标配整流桥