Revit 2017 API:如何获取当前活动视图及其图形覆盖
Revit 2017 API: How to get the currently active view and its graphic overrides
我对 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。
您引用 commandData.Application.ActiveUIDocument
而未检查 null
。
当您最初在没有活动文档的情况下启动 Revit 时,属性 将具有空值。
我建议您先了解标准 getting started with the Revit API material,然后再深入研究。
这将回答这个问题以及更多问题,并在您尝试更进一步之前为您打下良好的基础。
我对 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。
您引用 commandData.Application.ActiveUIDocument
而未检查 null
。
当您最初在没有活动文档的情况下启动 Revit 时,属性 将具有空值。
我建议您先了解标准 getting started with the Revit API material,然后再深入研究。
这将回答这个问题以及更多问题,并在您尝试更进一步之前为您打下良好的基础。