问题描述
我对Revit API编程还很陌生,一直想知道如何获取当前的活动视图。 如代码所示,我得到了一个空异常。这是怎么了 我的尝试如下:
namespace GetActiveView
{
[TransactionAttribute(TransactionMode.Manual)]
public sealed partial class Class1 : IExternalCommand
{
public Result Execute(ExternalCommandData commandData,ref string message,ElementSet elements)
{
//get current view
var doc = commandData.Application.ActiveUIDocument.Document; //TODO null exception
Autodesk.Revit.DB.View view = doc.ActiveView;
ElementId viewID = view.Id;
return Result.Succeeded;
}
}
}
解决方法
欢迎使用Revit API。
您引用null
而不检查commandData.Application.ActiveUIDocument
。
最初在没有活动文档的情况下启动Revit时,该属性将具有空值。
我建议您先进行标准的getting started with the Revit API material锻炼,然后再进一步潜水。
这将回答这个问题以及更多,并在尝试进一步之前为您提供基本的基础知识。