AEC Data Model サンプル:デザイン検証

An individual participating in a design validation sample workflow for AEC Data Model, featuring colorful data lines and a user interface for project management.

AEC Data Model サンプル:事前準備 の内容に沿って、GitHub – autodesk-platform-services/aps-aecdatamodel-samples リポジトリを Windows ローカル環境にクローン・セットアップ済で実行出来ることを前提に、Design Validation(デザイン検証)の内容を処理していきます。

プロジェクト内のデザイン間で使用されるデータ・プロパティの名前、単位、およびタイプの検証は重要な QA/QC プロセスです。このサンプルでは、AEC Data Model API を使用してこのタスクを自動化する例を示します。

このパートでは、

  • AEC Data Model は、現時点(2023 年 12 月)で Beta 版の API になっています。今後、手順や内容が変更される可能性があります。

はじめに

AEC Data Model を使ってプロジェクト内の設計全体で使用されるデータ・プロパティ名、単位、タイプの粒状データを GraphQL 処理でクエリーして検証(取得)する作業を前提としています。

後述の Step 1 ~ Step 3の手順を実行するには、AEC Data Model サンプル:事前準備 でご紹介した手順でセットアップしたサンプルを起動して、「Design Validation Sample Workflow」の [Go to sample] をクリックしてください。

  • ここでは、Autodesk Construction Cloud の DAS Japan Project プロジェクトに、次のような Revit 2024 のプロジェクト ファイルがアップロードされていると仮定しています。
Autodesk Construction Cloudの'DAS Japan Project'のファイル管理画面。プロジェクトフォルダ内にはRevitプロジェクトファイルがリスト表示されている。

Step 1:すべての Hub を取得する

ページ右上の [Login] ボタンをクリックして、Autodesk Construction Cloud のアクセス権を持つオートデスク アカウント(Autodesk ID)でログイン(サインイン)後、[List Hubs] をクリックします。画面に Hub ID が表示されるので、対象とするプロジェクトがある Hub ID(”id” の値)を書き留めておきます。

Data display for Project Hub management in the Autodesk AEC Data Model Sample, listing project members and their roles.

Hub 一覧には、A360 や Fusion Team の Hub に加え、他者から招待されたプロジェクトの Hub が含まれます。Autodesk Construction Cloud の Hub は、ID の先頭文字が “b.” で始まります。もし、判別が難しい場合には、Autodesk Construction Cloud と APS 統合で必要なカスタム統合 でカスタム統合した際に、9. の「BIM 360 のアカウント ID」が、”b.” を除いた値を目安に判断をしてください。

  • 本サンプルの実行で使用している Client Id をカスタム統合していない場合には、Autodesk Construction Cloud の Hub は表示されません。ご注意ください。

使用した GraphQL クエリ:

    query {
        hubs {
            pagination {
                cursor
            }
            results {
                id
                name
            }
        }
    }

Step 2:すべての Project を取得する

Step 1 で取得した Hub ID を「Step 2: List project for a hub」下のテキストボックスに入力して、Hub 配下にある全 Project を取得します。[List Projects] をクリックして、Revit プロジェクト ファイルをアップロードしたプロジェクトの Project ID(”id” の値)を書き留めておきます。(下図では DAS Japan Project プロジェクト)

Autodesk Platform Services interface displaying a workflow for the AEC Data Model Sample with steps to list hubs and projects in a user account.
  • このクエリで返されるのは、プロジェクト管理者が「割り当てられた製品と権限」に Docs が割り当てられている場合です。また、アーカイブされたプロジェクトは返されません。

使用した GraphQL クエリ:

    query GetProjects ($hubId: ID!) {
        projects (hubId: $hubId) {
            pagination {
               cursor
            }
            results {
                id
                name
            }
        }
    }

Step 3:すべてのプロパティを取得する

Step 2 で取得した Project ID を「Step 3: List all properties in all models in a project」下のテキストボックスに入力後、[List all properties] をクリックして Project 配下にある全デザイン プロパティ(Revit プロジェクト ファイルから分解された粒状データ)を取得します。

AEC Data Model Sample workflow interface showing the steps to list hubs, projects, and properties within Autodesk Platform Services.

使用した GraphQL クエリ:

    query getDesignValidation($projectId: ID!) {
        aecDesignsByProject(projectId: $projectId) {
          pagination{
            pageSize
            cursor
          }
          results{
            name
            id
            propertyDefinitions{
              results{
                id
                name
                description
                specification
              }
            }
          }
        }
      }

  • 上記説明では、リストすべき項目が多数ある際に指定する pagination(ページ指定)を空白(未指定、null)としてご案内しています。対象項目が複数ページ存在する場合には、未指定時のレスポンスの cursor 値に次ページを指定するための cursor 値が表示されるので、各 Step の「Any cursor?」と記載のあるテキストボックスに同値を入力してください。レスポンスの cursor 値が「null」となっている場合は、次ページはありません。

By Toshiaki Isezaki

Discover more from Autodesk Developer Blog

Subscribe now to keep reading and get access to the full archive.

Continue reading