アセンブリとビュー

アセンブリとビュー

アセンブリ

AssemblyInstance クラスの Create()メソッドは、プロジェクトで新しいアセンブリ インスタンスの作成に使用します。Create()メソッドはトランザクション内で作成する必要があり、新しく作成したアセンブリ インスタンスで操作を実行する前にトランザクションをコミットする必要があります。アセンブリ タイプは、トランザクションの完了後に割り当てられます。

次の例では、新しいアセンブリ インスタンスを作成し、その AssemblyType の名前を変更して、アセンブリ インスタンスにビューを作成します。

コード領域: アセンブリとビューを作成

void CreateAssemblyAndViews(Autodesk.Revit.DB.Document doc, ICollection<ElementId> elementIds)
{
    Transaction transaction = new Transaction(doc);
    // use category of one of the assembly elements
    ElementId categoryId = doc.GetElement(elementIds.First()).Category.Id; 
    if (AssemblyInstance.IsValidNamingCategory(doc, categoryId, elementIds))
    {
        transaction.Start("Create Assembly Instance");
        AssemblyInstance assemblyInstance = AssemblyInstance.Create(doc, elementIds, categoryId);
        // commit the transaction that creates the assembly instance before modifying the instance's name
        transaction.Commit(); 

        transaction.Start("Set Assembly Name");
        assemblyInstance.AssemblyTypeName = "My Assembly Name";
        transaction.Commit();

        // create assembly views for this assembly instance
        if (assemblyInstance.AllowsAssemblyViewCreation()) 
        {
            transaction.Start("View Creation");
            View3D view3d = AssemblyViewUtils.Create3DOrthographic(doc, assemblyInstance.Id);
            ViewSchedule partList = AssemblyViewUtils.CreatePartList(doc, assemblyInstance.Id);
            transaction.Commit();
        }
    }
}
AssemblyInstance の作成には、既存の AssemblyType を使用する方法もあります。AssemblyType を使用して AssemblyInstance を作成するには、静的メソッド AssemblyInstance.PlaceInstance()を使用し、使用する AssemblyType の ElementId とアセンブリを配置する場所を指定します。

アセンブリ ビュー

AssemblyViewUtils クラスを使用すると、直交投影 3D アセンブリ ビュー、断面詳細図アセンブリ ビュー、部材拾い出しマルチカテゴリ集計表アセンブリ ビュー、パーツ リスト マルチカテゴリ集計表アセンブリ ビュー、シート アセンブリ ビューなどさまざまなアセンブリ ビューをアセンブリ インスタンスに作成できます。これらの新しく作成したアセンブリ ビューを使用する前に、ドキュメントを再生成する必要があります。上の例では、2 つの新しいアセンブリ ビューを作成した後にトランザクションをコミットしています。Commit()メソッドは自動的にドキュメントを再生成します。