土木在线论坛 \ BIM技术 \ BIM专业软件 \ Revit如何提取轴线信息

Revit如何提取轴线信息

发布于:2018-05-28 00:00:28 来自:BIM技术/BIM专业软件 [复制转发]

BIM 软件小技巧: Revit如何提取轴线信息

在Revit里面如何提取当前视图中轴网的信息,例如名称,标高,坐标等等?

这个问题在Revit编程时是非常典型的应用情况。找到目标对象,然后获取目标对象上的信息。

找到目标对象需要使用Revit的过滤机制,最核心的也是比用的类就是FilteredElementCollector类,他提供了添加过滤条件的方法,并且提供方法来获取满足条件的对象集合。

获取对象信息需要用Revit类的属性以及Revit对象的参数值,还有从Element.Location属性获取对象的位置信息。

下面是实例代码如何获取上述信息。

[Transaction(TransactionMode.Manual)]

public class GetAllGrids : IExternalCommand

{

public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)

{

UIApplication uiApp = commandData.Application;

Application app = uiApp.Application;

UIDocument uiDoc = uiApp.ActiveUIDocument;

Document doc = uiDoc.Document;

FilteredElementCollector collector = new FilteredElementCollector(doc,doc.ActiveView.Id);

collector.OfClass(typeof(Grid));

string sInfo = null;

foreach (Element elem in collector)

{

sInfo += "Name = " + elem.Name + ";";

Grid grid = elem as Grid;

LocationCurve locCurve = grid.Location as LocationCurve;

Curve cur = locCurve.Curve;

XYZ ptStart = cur.get_EndPoint(0);

XYZ ptEnd = cur.get_EndPoint(0);

}

TaskDialog.Show("Grid message", sInfo);

return Result.Succeeded;

}

}


全部回复(0 )

只看楼主 我来说两句抢沙发
这个家伙什么也没有留下。。。

BIM专业软件

返回版块

9072 条内容 · 253 人订阅

猜你喜欢

阅读下一篇

我需要本地管理员权限才能运行Autodesk软件吗?

问题: 最近在 Windows 7 操作系统上安装了几套 AutoCAD 、 AutoCAD Civil 3D 和 AutoCAD Architecture 2013。 网络管理员 暂时允许使用本地管理员权限才能执行的安装之后, 您网络本地管理员权限被删除 (策略的网络管理员)。 您想知道是否所需的本地系统管理员权限即可运行上面提到的软件。 解决方法: 安装 Autodesk 产品通常具有两个阶段:

回帖成功

经验值 +10