房屋的AutoCAD 2016.NET API区域
本文关键字:NET API 区域 2016 AutoCAD | 更新日期: 2023-09-27 18:01:07
我是AutoCAD.NET API的新手,我想实现一个计算面积的命令房子。有人能告诉我如何使用c#实现它吗
问候。
如果要开始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;
}
}
}