CAD二次开发(c#)利用选择集获取标注尺寸

您所在的位置:网站首页 bim中如何选择标注字体尺寸的大小 CAD二次开发(c#)利用选择集获取标注尺寸

CAD二次开发(c#)利用选择集获取标注尺寸

2023-11-04 16:30| 来源: 网络整理| 查看: 265

1.目的 本文的目的是利用C#中选择集GetSelection函数得到CAD中标注尺寸 2.实现代码 using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.EditorInput; using Autodesk.AutoCAD.Geometry; using Autodesk.AutoCAD.Runtime; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace AutoDrawingSF { public class Drawing { [CommandMethod("AutoDrwing")] public void AutoDrwing() { Database db = HostApplicationServices.WorkingDatabase; Editor ed = Application.DocumentManager.MdiActiveDocument.Editor; //保存图形信息到Excel文件 string fileName = ed.OpenSaveDialog(db); if (fileName == "") return; TypedValue[] values = new TypedValue[] { //设定为标注图元 new TypedValue((int)DxfCode.Start,"DIMENSION"), //new TypedValue((int)DxfCode.Start,"CIRCLE"), }; //过滤标注图元 SelectionFilter filter = new SelectionFilter(values); PromptSelectionResult psr = ed.GetSelection(filter); List strX = new List(); List strY = new List(); //List ids = new List(); if (psr.Status == PromptStatus.OK) { SelectionSet sSet = psr.Value; ObjectId[] ids = sSet.GetObjectIds(); //如果ids中没有数据则返回; if (ids.Length == 0) return; //开启事务处理 using (Transaction trans = db.TransactionManager.StartTransaction()) { for (int i = 0; i //获取标注尺寸长度,Y轴方向尺寸 double Distan = ((RotatedDimension)ent).XLine1Point.GetDistanceBetweenTwoPoint(((RotatedDimension)ent).XLine2Point); strY.Add(Distan.ToString()); } else if (DistanceY == 0) { //获取标注尺寸长度 double Distan = ((RotatedDimension)ent).XLine1Point.GetDistanceBetweenTwoPoint(((RotatedDimension)ent).XLine2Point); strX.Add(Distan.ToString()); } } //关闭事务处理 trans.Commit(); } } } } } 3.CAD常用图元类型 c#选择集中不仅能过滤标注图元,还能用来过滤直线(LIne),圆(circle),圆弧(Arc)等等,CAD中常见图元详见下图:

在这里插入图片描述图元类型前面AcDb在实际程序开发中,不可添加到程序中;

4.其他相关资料链接

1)选择集Dxf规则 https://blog.csdn.net/weixin_42339460/article/details/80662972?ops_request_misc=&request_id=&biz_id=102&utm_term=CAD%E4%BA%8C%E6%AC%A1%E5%BC%80%E5%8F%91(.net)%E9%80%89%E6%8B%A9%E9%9B%86DXF&utm_medium=distribute.pc_search_result.none-task-blog-2blogsobaiduweb~default-3-80662972.pc_v2_rank_blog_default&spm=1018.2226.3001.4450 2)选择集讲解 https://blog.csdn.net/yzk1062913581/article/details/105537412?ops_request_misc=&request_id=&biz_id=102&utm_term=CAD%E4%BA%8C%E6%AC%A1%E5%BC%80%E5%8F%91(.net)%E9%80%89%E6%8B%A9%E9%9B%86&utm_medium=distribute.pc_search_result.none-task-blog-2blogsobaiduweb~default-0-105537412.pc_v2_rank_blog_default&spm=1018.2226.3001.4450



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3