以前、Forge Viewer:2D シート/レイアウト のブログ記事でも触れたことがありますが、外部参照を含む AutoCAD の DWG ファイルや Revit リンクを含む Revit プロジェクト(RVT)ファイル、パーツやサブアセンブリを内包する Inventor などの製造系 CAD ファイルなど、複数ファイルで構成されているデザイン ファイルを Model Derivative API で変換して Forge Viewer で表示することが出来ます。
この時、POST job endpoint 呼び出しで必要なリクエスト ボディには、親ファイルの指定と ZIP 圧縮されていることを示すパラメータを明示的に記述する必要があります。次の例は、複数の外部参照図面を参照する 8th floor.dwg を親図面が ZIP 圧縮したファイルを変換するための リクエスト ボディ(JSON)です。
{
input: {
urn: encodedURN,
rootFilename: "8th floor.dwg",
compressedUrn: true
},
output: {
formats: [
{
type: "svf",
views: ["2d", "3d"]
}
]
}
}
ZIP ファイルの利用は、複数で構成されたデザイン ファイルだけが対象ではありません。ファイルサイズが大きくなりがちな テキスト形式の DXF ファイルや IFC ファイルなど、単一ファイルのアップロードと変換でも使用することが出来ます。テキスト形式では、データサイズが大きければ大きいほど、改行コードなどが増加して全体のファイルサイズが大きくなってしまう傾向があるため、ZIP 圧縮は Data Management API によるアップロード時間の短縮にも一役買うことが出来ます。
例えば、Revit のサンプル プロジェクトして提供している Technical_school-current_m.rvt(15.5 MB)を Revit 2021 で IFC ファイルに書き出すと、出力された Technical_school-current_m.ifc は 44.1MB になってしまいますが、ZIP 圧縮すると Technical_school-current_m.zip は 8.68 MB までファイル サイズが減少します。
単一ファイルを ZIP ファイルで変換する際にも、親ファイルの指定と ZIP 圧縮されていることを示すパラメータをリクエスト ボディで記述する必要があります。ご注意ください。
{
input: {
urn: encodedURN,
rootFilename: "Technical_school-current_m.ifc",
compressedUrn: true
},
output: {
formats: [
{
type: "svf",
views: ["2d", "3d"]
}
]
}
}
ZIP ファイルから変換された SVF ファイルの Forge Viewer 表示には、特に固有の指定は必要ありません。アップロードした ZIP ファイルの URN を指定するのみです。
By Toshiaki Isezaki
コメント