DWG を PDF に変換
概要
このスキルを使用すると、CAD図面をWebサービスにアップロードせずにPDFファイルに変換できます。DWG変換にはWindows上でいくつかの脆弱な詳細(ODAコマンドライン引数の順序、CADライブラリの依存関係、非ASCII出力パス)があるため、バンドルされたスクリプトを優先してください。
ワークフロー
- ソースファイルが存在することを確認し、
.dwgか.dxfかを識別します。 - 出力パスを選択します。ユーザーが指定しなかった場合は、ソースファイルと同じ場所に
<ソースファイル名>.pdfを保存します。 - 絶対パスを指定して
scripts/convert_dwg_to_pdf.pyを実行します。
python scripts/convert_dwg_to_pdf.py --input "D:\path\plan.dwg" --output "D:\path\plan.pdf"
- スクリプトの出力で結果を確認します。
pagesが1以上であること。bytesが0より大きいこと。previewが1ページ目のレンダリングされたPNGを指していること。
- ユーザーが「開く」ことを要求した場合、または開くことが明らかに有用な場合は、PDFを開きます。
ツール
このスクリプトは以下をサポートしています。
.dwg: ODA File ConverterでDXFに変換し、その後PDFにレンダリングします。.dxf: 直接PDFにレンダリングします。
ODA File Converterがない場合、許可されていればWindows Package Managerでインストールします。
winget install --id ODA.ODAFileConverter -e --accept-source-agreements --accept-package-agreements --disable-interactivity
このスクリプトにはPythonパッケージ ezdxf、matplotlib、pymupdf が必要です。これらがなくパッケージのインストールが許可されている場合は、インストールします。
python -m pip install ezdxf matplotlib pymupdf
品質チェック
生成されたPDFが正しくレンダリングされることを常に確認してください。空でないPDFでも、図面が表示されていなかったり、ページがひどくトリミングされていたり、テキストやフォントが失敗している場合は間違っている可能性があります。
生成されたプレビューPNGをクイックビジュアルチェックに使用します。空白または大きくトリミングされている場合:
- より大きな用紙サイズで再実行します(例:
--paper a2-landscape)。 - 図面にレイアウトや
ezdxfでうまくレンダリングできない機能が含まれている場合は、直接ODAビューア/手動印刷を試みます。 - 出力がすべてのCAD機能を正確に保持していない可能性があることをユーザーに伝えます。
注意事項
- 元のDWGを変更しないでください。変換時にはコピーした中間フォルダから作業します。
- ユーザーが図面のアップロードを明示的に承認しない限り、Webコンバーターは避けてください。
- 中国語やその他の非ASCIIパスに保存する場合は、スクリプトが最初にASCII一時PDFに書き込み、要求された出力パスにコピーするようにします。
- 最終的な応答では絶対ファイルパスを使用してください。