[AutoCAD C#/。Net:公开实体坐标

问题描述 投票:0回答:1

我的目标是通过AcCoreConsole运行我的自定义dll并在DWG上进行各种分析,例如在对象上公开图层名称和XY坐标。我设法将所有对象都放在选择集中,并且可以遍历实体。当围绕这个主题进行大量搜索时,我找不到任何有关如何从实体中提取坐标的示例。我确实知道,“坐标”意味着不同的事物,例如它是圆形还是折线。

c# .net autocad autocad-plugin
1个回答
0
投票

经过几个小时的谷歌搜索,我找到了答案。简单地使用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");                                
                        }
© www.soinside.com 2019 - 2024. All rights reserved.