Revit プロジェクト ファイル(.rvt)を SVF/SVF2 に変換して Forge Viewer にストリーミング配信・表示したり、メタデータを取得したりする際、 POST job endpoint を使用します。この変換処理(英語では Translator ないし Extractor と表現)に、新しい Advanced オプションが追加されています。
追加された新しい extractorVersion オプションは、POST job endpoint のリファレンス ドキュメントに記載されています。
ご存じのように、Revit は毎年新しいバージョンがリリースされています。このとき、新しいバージョンの Revit で扱う .rvt ファイルには、それ以前の Revit バージョンと下位互換がありません。言い換えれば、Revit は .rvt ファイル形式を毎年変更しています。
このため、Revit プロジェクト ファイル(.rvt)を SVF/SVF2 に変換する(POST job が内部的に使用する)Translator/Extractor プログラムは、新しい .rvt ファイル形式に対応するために毎年更新されています。同様に、Translator/Extractor プログラムに問題があった際の改修(リビジョン アップ)も日々おこなわれています。
追加された extractorVersion オプションを指定すると、この変換プログラム(Extractor)のバージョンを指定出来るようになります。この際、指定出来る値は次のとおりです。
- next: プレリリース バージョン
- previous:以前のリリース バージョン
POST job endpoint 呼び出しで指定 JSON ペイロードは、次のように指定します。
{input: {urn: <<encodedURN>>},output: {formats: [{type: "svf2",views: ["2d","3d"]}],"advanced": {"extractorVersion": "previous" または "next"}}}
変換プログラム(Extractor)のバージョン番号は、extractorVersion オプションを指定して .rvt ファイルを新規に変換した際のマニフェストにも含まれるようになります。何か変換後の状態に問題が見られる場合、この情報を比較することで、変換に使用されたバージョンを把握して、問題のあるバージョンを特定するのに役立てることが出来ます。
{"urn": <<encodedURN>>,"derivatives": [{"extractorVersion": "2024.0.2022.0818","hasThumbnail": "true","children": [
例えば、現在の Extractor バージョンを 2024.0.2022.0818、開発チームが改良を加えて評価中の Extractor バージョンを 2024.0.2022.0819 と仮定すると、next を指定して 2024.0.2022.0819 バージョンを利用して SVF/SVF2 変換が出来ます。2024.0.2022.0819 の検証が完了して、同バージョンが「現在の」公式バージョンになると、2024.0.2022.0818 バージョンは previous 扱いとなり、利用するためには previous を指定する必要があります。この際、next は 2024.0.2022.0819 のまま維持されます。
もし、「現在の」公式バージョンになった 024.0.2022.0819 で特定のファイル変換等で問題が見つかったような場合には、その修正までの間、previous を指定して 2024.0.2022.0818 を利用出来るわけです。また、報告した問題が 2024.0.2022.0820で修正されるような場合、事前に next 指定で評価を開始することが出来ます(もし必要があれば)。
通常、運用中のアプリでは extractorVersion オプションを使用する必要はありません。未指定の場合には、常に「現在の」バージョンが使用されますので、特に前述のような理由がないかぎりコードの変更は不要です。運用中のアプリには、常に「現在の」バージョン使用が推奨されます。
By Toshiaki Isezaki
コメント
コメントフィードを購読すればディスカッションを追いかけることができます。