首页 > 解决方案 > AutoCAD C#/.Net:公开实体坐标

问题描述

我的目标是通过 AcCoreConsole 运行我的自定义 dll 并对 DWG 进行各种分析,例如公开图层名称和对象的 XY 坐标。我已经设法获得了选择集中的所有对象,并且可以循环遍历这些实体。在这个主题上搜索很多时,我找不到任何关于如何从实体中提取坐标的示例。我确实理解“坐标”意味着不同的东西,例如,无论是圆形还是折线。

标签: c#.netautocadautocad-plugin

解决方案


经过几个小时的谷歌搜索,我找到了答案。简单地使用 GeometricExtents 来获取每个实体的边界框,然后用一些简单的数学计算中点。

try
                        {
                            var entExtent = ent.GeometricExtents;
                            var midpointX = (entExtent.MaxPoint.X+entExtent.MinPoint.X)/2;
                            var midpointY = (entExtent.MaxPoint.Y+entExtent.MinPoint.Y)/2;
                        }
                        catch
                        {
                            //edt.WriteMessage("\nGeometricExtents didn´t work on this entity");                                
                        }

推荐阅读