1

Application.ActiveDocument2014 Revit API 中的命名空间在哪里?

我正在尝试使用 API 在草图平面下的 Revit 模型中绘制线条,但此时我失败了。对于“Revit”的大部分内容,我在The Building Coder关注 Jeremy Tammik 。然而,这一次,由于 Autodesk 更新/修改命名空间,他把我引向了错误的方向。我已经将他在 2011 年之前发布的一些 C#转换为 VB.NET ,它创建了一个草图平面并绘制了线条。问题是他用来实例化对象的命名空间已经改变。例如,他将变量“X”定义为Autodesk.Revit.Application对象,但此时,该命名空间已更改为Autodesk.Revit.ApplicationServices.Application.

我已经创建了一个Creation文档,Application并且我正在尝试将文档设置为等于AutoDesk.Revit.ApplicationServices.ActiveDocument.Create方法,但它似乎不再存在。我在谷歌上搜索了高低,但我似乎找不到任何东西。

谁能指出我正确的方向?

4

2 回答 2

3

下面是一个 C# 片段,向您展示如何访问它。UIApplication每个实体,应用程序和文档,在 UI 部分 ( / UIDocument) 和数据库部分 ( Application/ )之间都有一个分隔符Document。哪个文档处于活动状态取决于 UI,因此您首先必须UIApplication从命令参数中获取对象。然后从那里你得到UIDocument对象。最后,您可以访问数据库Document对象。

public void CreateSketchPlane(ExternalCommandData commandData)
{
    UIApplication uiApplication = commandData.Application;
    UIDocument activeUiDocument = uiApplication.ActiveUIDocument;
    Document document = activeUiDocument.Document;

    //document.Create.NewSketchPlane(...
}

仅供参考 -Application.ActiveDocument不是命名空间。 Application是一个并且ActiveDocument是该类的一个属性,就像现在您拥有该类 UIApplication及其属性 ActiveUIDocument一样。

于 2014-05-27T13:34:05.200 回答
1

许多旧的创建方法已移至每个类中的静态 Create() 方法。

例如,现在创建一条线的方法是 Line.Create()

查看每个 API 年度的“新增内容”文档,了解发生了什么变化

于 2014-05-02T16:06:49.700 回答