房屋的AutoCAD 2016.NET API区域

本文关键字:NET API 区域 2016 AutoCAD | 更新日期: 2023-09-27 18:01:07

我是AutoCAD.NET API的新手,我想实现一个计算面积的命令房子。有人能告诉我如何使用c#实现它吗

问候。

房屋的AutoCAD 2016.NET API区域

如果要开始AutoCAD编程,请访问www.autodesk.com/myfirstautocadplugin

但我必须说,AutoCAD不像我们那样理解"房子"的概念,它只包含我们读作房子(或其他任何东西(的行。

Revit更了解它,有明确的墙、房间、空间等概念。

已编辑

以下是一个C#示例,它是闭合多段线(2D轻量级(的总面积之和

[CommandMethod("countPlineArea")]
public static void CmdCountPlineArea()
{
  double totalArea = 0.0;
  Database db = Application.DocumentManager.MdiActiveDocument.Database;
  using (Transaction trans = db.TransactionManager.StartTransaction())
  {
    BlockTableRecord currentSpace = trans.GetObject(db.CurrentSpaceId, OpenMode.ForRead) as BlockTableRecord;
    foreach(ObjectId entId in currentSpace)
    {
      if (entId.ObjectClass != RXClass.GetClass(typeof(Polyline))) continue;
      Polyline pline = trans.GetObject(entId, OpenMode.ForRead) as Polyline;
      if (!pline.Closed) continue; // no area
      totalArea += pline.Area;
    }
  }
}