Revit 2017 API:如何获取当前活动视图及其图形替代

问题描述

我对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锻炼,然后再进一步潜水。

这将回答这个问题以及更多,并在尝试进一步之前为您提供基本的基础知识。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...