このブログでも過去に何回かご紹介してきましたが、Forge Viewer には、Viewer 自身の機能を拡張する JavaScript コードを .js ファイル単位でロードしたり、ロード解除したりする Extension という機能があります。Extension は、独自に新規作成することが可能なほか、オートデスク自身が作成、提供しているものもあります。
最近の Forge Viewer ライブラリは、バージョン アップで積み重ねてきた各種機能の実装で、ライブラリ自身が肥大化してしまい、ライブラリのロード時間によって、ビューア表示までにタイムラグを感じてしまうケースが散見されはじめていました。
そこで、Forge Viewer v7 になって、Forge Viewer ライブラリ本体から様々な機能を Extension として分離する作業がはじまっています。以前、ご案内したくつかの新機能も Extension として分離され、利用に Extension のロードが必要になっているものが出てきています。
例えば、Forge Viewer バージョン 3.3 リリース でご案内した 非フォトグラフィックス レンダリング スタイル 機能は、v7 になって Autodesk.NPR Extension として分離されています。現在、非フォトグラフィックス レンダリング機能を利用する場合には、Autodesk.NPR Extension を明示的にロードして、‘edging’、‘cel’、‘grapite’、‘pencil’ の中から利用するスタイルを指定する必要があります。
元々、Extension として提供されているものも、今まで通り利用出来るものがあります。例えば、Forge Viewer バージョン 6.3 リリース でご紹介した Autodesk.DocumentBrrowser Extension が有用です。通常、Forge Viewer は、HTML 内で <div></div> タグとして指定されたカンバスに、2D あるいは 3D のコンテンツ表示用の JavaScript コードを使って表示します。2D と 3D では、viewables の role が異なるので、コードの一部が、2D 固有、あるいは、3D 固有になりがちです。
Autodesk.DocumentBrrowser Extension をロードすると、表示したいコンテンツの role(2D か 3D)に関係なく、Autodesk.DocumentBrrowser Extension が実装しているパネルから、直接、指定した 2D シート/レイアウト や 3D モデルを表示することが出来るろうになります。
特定のシード ファイル(Model Derivative API で変換前の CAD ファイル)で機能する Extension も存在します。Forge Viewer での Fusion 360 アニメーション再生 でご紹介した Autodesk.Fusion360.Animation Extension では、Fusion 360 の [Animation] でワークスペースで定義したアニメーションを Forge Viewer 上で再生する Extension です。もちろん、Forge Viewer v7 でも機能します。Model Derivative API の変換時にオプションを指定する必要もありません。
Forge Viewer:PDF 図面 のブログ記事でご紹介した Autodesk.PDF Extenson では、PDF ファイル コンテンツをベクトル データとして表示することを可能にする Extension です。
オートデスクが提供する Extension は、https://forge.autodesk.com/en/docs/viewer/v7/reference/Extensions/ に記載されています。Autodesk.DefaultTools.NavTools や Autodesk.Explode、Autodesk.ViewCubeUi Extension など、使用する Forge Viewer インスタンスがヘッドレス ビューアでない場合、標準でロードされる Extension もあります。
なお、Forge Viewer のテストとデバッグ で触れた LMV Ninja サイトでは、これら Extension を部分的にテストすることも出来ます。
もし、既知でないようであれば、ぜひ、ご確認ください。
By Toshiaki Isezaki
コメント
コメントフィードを購読すればディスカッションを追いかけることができます。