CAD 开发 过滤器 , 选择集
1 PromptSelectionOptions selectionOpZDH = new PromptSelectionOptions(); 2 selectionOpZDH.MessageForAdding = "请选择展点号和高程点:"; 3 4 //根据过滤器来选 5 TypedValue[] filListZDH = new TypedValue[]{ 6 new TypedValue((int)DxfCode.Operator, "<OR"), 7 new TypedValue((int)DxfCode.Operator, "<AND"), 8 new TypedValue((int)DxfCode.Start, "Insert"), 9 new TypedValue((int)DxfCode.LayerName, "GCD"), 10 new TypedValue((int)DxfCode.Operator, "AND>"), 11 new TypedValue((int)DxfCode.Operator, "<AND"), 12 new TypedValue((int)DxfCode.Start, "Text"), 13 new TypedValue((int)DxfCode.LayerName, "ZDH"), 14 new TypedValue((int)DxfCode.Operator, "AND>"), 15 new TypedValue((int)DxfCode.Operator, "OR>")}; 16 17 SelectionFilter filterZDH = new SelectionFilter(filListZDH); 18 19 PromptSelectionResult ssResZDH = ed.GetSelection(selectionOpZDH, filterZDH); 20 21 22 if (ssResZDH.Status == PromptStatus.OK) 23 { 24 SelectionSet ssZDH = ssResZDH.Value; 25 int nCount = ssZDH.Count; 26 ObjectId[] oID = ssZDH.GetObjectIds();//通过ID对实体进行操作 27 28 Entity ent; 29 30 //获得块表记录-图纸空间,打印布局 31 //BlockTableRecord btr=(BlockTableRecord )trans.GetObject(bt[BlockTableRecord.PaperSpace],OpenMode.ForWrite); 32 33 //ed.WriteMessage("nCount:" + nCount); 34 35 // foreach (ObjectId id in oID) 36 for (int i = 0; i < nCount; i++) 37 { 38 ent = (Entity)trans.GetObject(oID[i], OpenMode.ForRead); 39 40 41 /*switch (ent.GetType().ToString()) 42 { 43 //展点号 44 case "DBText": 45 DBText dbtxt = (DBText)ent; 46 gcdZDH.GcdX = dbtxt.Position.X; 47 gcdZDH.GcdY = dbtxt.Position.Y; 48 gcdZDH.GcdH = dbtxt.Position.Z; 49 gcdZDH.GcdSCDH = dbtxt.TextString; 50 zdhDic.Add(i, gcdZDH); 51 strZDH += "展点号:" + dbtxt.TextString + "其坐标为:" + dbtxt.Position.ToString() + "\r\n"; 52 break; 53 //高程点 54 case "BlockReference": 55 BlockReference bent = (BlockReference)ent; 56 gcd.GcdX = bent.Position.X; 57 gcd.GcdY = bent.Position.Y; 58 gcd.GcdH = bent.Position.Z; 59 gcd.GcdSCDH = i.ToString(); 60 gcdDic.Add(i, gcd); 61 strZDH += "高程点Postion:" + bent.Position.ToString() + "\r\n"; 62 break; 63 default: 64 break; 65 66 } 67 */ 68 69 /* 70 if (ent is MText) 71 { 72 MText mtx = ent as MText; 73 ed.WriteMessage("展点号的坐标为:" + mtx.Location.ToString()); 74 } 75 else if (ent.GetType() == typeof(MText)) 76 { 77 MText mtxt = (MText)ent; 78 ed.WriteMessage("展点号的坐标为:" + mtxt.Location.ToString()); 79 } 80 */ 81 82 //展点号 83 if (ent.GetType() == typeof(DBText)) 84 { 85 GCD gcdZDH = new GCD(); 86 DBText dbtxt = (DBText)ent; 87 //ed.WriteMessage("展点号:" + dbtxt.TextString + "其坐标为:" + dbtxt.Position.ToString()); 88 gcdZDH.GcdX = dbtxt.Position.X; 89 gcdZDH.GcdY = dbtxt.Position.Y; 90 gcdZDH.GcdH = dbtxt.Position.Z; 91 gcdZDH.GcdSCDH = "ZDH___" + dbtxt.TextString; 92 93 // strZDH += gcdZDH.GcdSCDH.ToString() + "展点号:"+i + dbtxt.TextString + "其坐标为:" + dbtxt.Position.ToString() + "\r\n"; 94 //zdhDic.Add(i, gcdZDH); 95 zdhDic.Add(gcdZDH); 96 97 98 } 99 100 101 /*//展点号中心点 102 else if (ent.GetType() == typeof(DBPoint)) 103 { 104 DBPoint dbp = (DBPoint)ent; 105 ed.WriteMessage("展点号中心点的坐标:" + dbp.Position.ToString()); 106 strZDH +="展点号中心点的坐标:" +dbp.Position.X + " " + dbp.Position.Y + " " + dbp.Position.Z; 107 strZDH += "\r\n"; 108 } 109 */ 110 111 112 //高程点是个块 113 else if (ent.GetType() == typeof(BlockReference)) 114 { 115 GCD gcd = new GCD(); 116 BlockReference bent = (BlockReference)ent; 117 118 // ed.WriteMessage("高程点Postion:" + bent.Position.ToString()); 119 120 //ed.WriteMessage("高程点的坐标为:" + ent.GeometricExtents.MaxPoint.ToString() + ent.GeometricExtents.MinPoint.ToString()); 121 //strZDH += ent.GeometricExtents.MaxPoint.ToString() + "\r\n"+ent.GeometricExtents.MinPoint .ToString(); 122 123 124 125 gcd.GcdX = bent.Position.X; 126 gcd.GcdY = bent.Position.Y; 127 gcd.GcdH = bent.Position.Z; 128 // gcd.GcdSCDH = i.ToString(); 129 gcd.GcdSCDH = "---"; 130 // strZDH += gcd.GcdSCDH.ToString() + "高程点Postion:"+i + bent.Position.ToString() + "\r\n"; 131 // gcdDic.Add(i, gcd); 132 //gcdDic.Add(i, gcd);//将高程点和展点号放在一个字典中 133 gcdDic.Add(gcd); 134 } 135 136 }
转载于:https://www.cnblogs.com/lionmxs/articles/10096008.html
CAD 开发 过滤器 , 选择集相关推荐
- CAD开发——AcadSelectionSet 选择集
1. 定义一个永不重复的时间变量 Private Declare Sub GetSystemTime Lib "kernel32" (lpSystemTime As SYSTEMT ...
- CAD二次开发之选择集过滤
一.选择集过滤时的使用方式如下: Object 指使用SelectionSet这个方法适用的对象 1) object.Select Mode[, Point1][, Point2][, FilterT ...
- CAD中的选择集过滤----有条件选择AutoCAD实体
转载自:http://www.cnblogs.com/jdmei520/articles/1326120.html 一.选择集过滤时的使用方式如下: Object 指使用SelectionSet这个方 ...
- CAD二次开发清除选择集
ed.SetImpliedSelection(new ObjectId[] { });
- CAD中的选择集过滤----DXFCode(一)
按数字次序排列的图元组码<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" / ...
- CAD net 设置选择集
1.命令增加属性:CommandFlags.Redraw | CommandFlags.UsePickSet 2.using Autodesk.AutoCAD.Internal; 3.Utils.Se ...
- cad怎么选择一个对象打散vba_CADVBA中的选择集过滤.doc
CAD中的选择集过滤 一.选择集过滤时的使用方式如下: Object 指使用SelectionSet这个方法适用的对象 1)????? object.Select Mode[, Point1][, P ...
- jQuery——入门基础(获取元素、样式、属性,选择集、过滤器、样式类)
目录 Jquery的加载方法 获取元素 操作样式和属性 选择集和过滤器 选择集转移 绑定常用事件 操作样式类名 Jquery的加载方法 (1)$(document).ready(function(){ ...
- CAD二次开发(c#)利用选择集获取标注尺寸
1.目的 本文的目的是利用C#中选择集GetSelection函数得到CAD中标注尺寸 2.实现代码 using Autodesk.AutoCAD.ApplicationServices; using ...
最新文章
- 在Ubuntu 16.0.4.5 LTS上安装python 2.7版本的cv2模块
- OpenCV 4.0 Dis光流算法 运动检测
- MySQL 数据库linux系统下修改配置文件设置mysql是否大小写敏感实例演示
- python---memcache使用操作
- axure 如何设置选项联动_Axure教程|用中继器做信息流,高仿人人都是产品经理网...
- 2012年最后一天,终于盼到公司发报卡了
- 游戏开发需要具备哪些技术_短视频 SDK 开发 (一) 开发一款短视频 SDK 需要具备哪些知识?...
- Java学习:类的封装、继承和多态
- 可以使用中文作为变量名_次氯酸可以作为伤口消毒使用吗?
- markdown UML图
- 设计psd分层素材模板|家居海报设计思路!
- Android获取所在城市坐标及城市信息(逆地理位置编码)
- Discuz! ML远程代码执行(CVE-2019-13956)
- Android smali语法
- ROBOMASTER机甲大师赛视觉组学习方案
- react上拉加载更多
- 燕山大学——软件用户界面设计(五)UI架构
- 2019年个人暑期健身计划和执行结果:跑步250公里,体重减少5.5公斤,顺利完成
- 2. Vmware vCenter部署
- MySQL数据库视频教程之扛得住的MySQL数据库架构
热门文章
- linux基础及命令详细教学
- 网络抓包调试神器Charles-proxy使用方法,网络代理:HTTP调试工具Charles Proxy
- php添加字段,zblog php主题添加支持文章自定义字段功能
- TensorFlow1.8.0+cuda9.0+cudnn7.1.2
- Android:从简历到offer直通车,跳槽大厂必备宝典!
- 蓝绿大厂之争,国产手机逆袭除了自研芯片还能靠啥?
- 王老师讲解:SQL Server 2005数据库nolock的使用【来自Aisino_BBS】
- 电脑桌面两个计算机图标怎么删除,电脑桌面上出现好几个音量图标,还是重叠的,删也删不掉,怎么办...
- 分析称,《华尔街日报》夸大ShapeShift洗钱数额逾600万美元(下篇)
- Android车机 - CAN应用解决方案设计