Autodesk.Revit.Application.ActiveDocument.Create方法在哪里消失了?

时间:2014-05-02 13:53:43

标签: vb.net revit revit-api

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

我正在尝试使用API​​在草图平面下的Revit模型中绘制线条,此时,我失败了。对于大多数事情'Revit',我在The Building Coder跟随Jeremy Tammik。然而,这一次,由于Autodesk更新/修改名称空间,他导致我走错了方向。我可能在2011年之前转换为VB.NET some C# he posted a while back,它创建了一个草图平面并绘制线条。问题是他用于实例化对象的名称空间已被更改。例如,他将变量“X”标注为Autodesk.Revit.Application对象,但此时,该命名空间已更改为Autodesk.Revit.ApplicationServices.Application

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

有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:2)

下面是一个C#代码段,向您展示如何访问它。每个实体Application和Document都在UI部分(UIApplication / 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 不是命名空间。 ApplicationActiveDocument是该类的属性,就像现在您拥有 {{ 1}}及其属性 UIApplication

答案 1 :(得分:0)

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

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

看看"新的""每个API年份的文档,以查看更改内容