外部データベース リンクの参照

SQL クエリでは、次の Autodesk Navisworks タグを使用できます。

プロパティ タグ

%prop("category","property"):

現在選択されているオブジェクトのプロパティ。category は、プロパティ ウィンドウ内のタブの名前(たとえば、Item、Entity Handle など)で、property は、そのタブ内のプロパティの名前(たとえば、Value、Layer など)です。

%intprop("category","property"):

現在選択されているオブジェクトのプロパティ。このタグは前のタグと同じですが、一般に表示されるカテゴリ名とプロパティ名を使用する代わりに Autodesk Navisworks の内部名を使用する点が異なります。内部名を使用する利点は、内部名が言語に依存しないことです。これは、Autodesk Navisworks API を熟知したユーザ向けの高度なタグです。

ファイルとパスのタグ

%sourcepath:

このタグは、現在選択されているオブジェクトの基になったファイルの絶対パスとファイル名を表します。一連のモデル ファイルが 1 つの NWD ファイルに結合された場合でも、このタグには引き続き、元のモデル ファイルのパスとファイル名が記憶されています。

%currentpath:

このタグは、現在ロードされているモデルの絶対パスとファイル名を表します。現在、他の多数のモデルを含む NWF または NWD がロードされている場合は、トップ レベルの NWF/NWD のパスとファイル名だけが返されます。

ファイルとパスの操作タグ

%removeext("text"):

指定されたテキストに拡張子の付いたファイル名が含まれている場合は、このタグによって拡張子が削除されます。

%removepath("text"):

指定されたテキストにパスとファイル名が含まれている場合は、このタグによってパスが削除され、ファイル名だけが返されます。

%poppath("text"):

指定されたテキストにパスが含まれている場合は、このタグによってトップ レベルが削除されます。テキストにファイル名も含まれている場合は、ファイル名がトップ レベルとみなされて、削除されます。たとえば、%poppath("c:¥temp")c:¥ になり、%popath("c:¥temp¥readme.txt")c:¥temp になります。

%pushpath("text1","text2"):

text1 がパスで text2 がファイルまたはフォルダの名前の場合、text2text1 のパスに追加されます。たとえば、%pushpath("c:¥test","model.nwd")c:¥test¥model.nwd になります。

文字列操作タグ

%join("text","text"):

このタグは単純に、2 つのテキストを結合します。たとえば、%join(c:¥","model.nwd")c:¥model.nwd を返します。

クエリの例

次の例は、SQL クエリでタグを使用する方法を示しています。

  • Test テーブルのすべての列を選択します。ただし、Entity Handle という列が Entity Handle/Value というカテゴリ/プロパティのペアに一致し、かつ File Name という列が図面の元のファイル名に一致していることが必要です。

    SELECT * FROM Test WHERE "Entity Handle" = %prop("Entity Handle","Value") AND "File Name" = $removeext(%removepath(%sourcepath));

    ここで、パスとファイル名の拡張子は削除され、ファイル c:¥model¥3rdFloorDucts.dwg3rdFloorDucts のようになります。

  • Test テーブルの 2 つの列を選択します。Entity Handle という列が Entity Handle/Value というカテゴリ/プロパティのペアに一致していることが必要です。

    SELECT Name,Part FROM Test WHERE "Entity Handle" = %prop("Entity Handle","Value");

  • Test テーブルのすべての列を選択します。Value という列が、2 つのカテゴリ/プロパティのペアで指定された特定の範囲内にあることが必要です。

    SELECT * FROM Test WHERE Value BETWEEN %prop("Pressure","Minimum") AND %prop("Pressure","Maximum");

注: タグの括弧の内側に空白を記述することはできません(引用符で囲んだ場合は除きます)。したがって、%prop("EntityHandle","Value")は正しく機能しますが、%prop("EntityHandle", "Value")は機能しません。