1

Application.ActiveDocument2014 Revit APIの名前空間はどこにありますか?

API を使用して Revit モデルでスケッチ平面の下に線を引こうとしていますが、現時点では失敗しています。ほとんどの「Revit」については、 The Building Coder のJeremy Tammik に従っています。しかし今回は、オートデスクが名前空間を更新/変更しているため、彼は私を間違った方向に導きました。彼がしばらく前に投稿した C# をVB.NET に変換しました。おそらく 2011 年より前に、スケッチ平面を作成して線を描画します。問題は、彼がオブジェクトのインスタンス化に使用した名前空間が変更されたことです。たとえば、彼は変数 'X' をAutodesk.Revit.Applicationオブジェクトとしてディメンション化しますが、この時点で、その名前空間は に変更されていAutodesk.Revit.ApplicationServices.Applicationます。

Creationドキュメントを作成し、Applicationそのドキュメントをメソッドに設定しようとしてAutoDesk.Revit.ApplicationServices.ActiveDocument.Createいますが、もう存在しないようです。Google で高低を検索しましたが、何も見つからないようです。

誰かが私を正しい方向に向けることができますか?

4

2 に答える 2

3

以下は、アクセス方法を示す C# スニペットです。アプリケーションとドキュメントの各エンティティには、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ではありませんでした。クラスとそのプロパティApplicationがあるのと同じように、クラスであり、そのクラスのプロパティでした。 ActiveDocument UIApplication ActiveUIDocument

于 2014-05-27T13:34:05.200 に答える
1

古い作成メソッドの多くは、各クラスの静的 Create() メソッドに移動されました。

たとえば、線を作成するメソッドは Line.Create() になりました

各 API 年の「新機能」ドキュメントを参照して、何が変更されたかを確認してください。

于 2014-05-02T16:06:49.700 に答える