Fusion Wing Importer
Flow5/XFLR5の解析データからAutodesk Fusion上に3D翼モデルを自動生成するアドイン
概要
- 担当
- CAD自動化
- 成果
- 翼型配置とロフト作業を自動化
- 状態
- 完了
使用技術
プロジェクト概要
低レイノルズ数帯専用の流体解析ソフト(Flow5)で設計した3次元翼の解析データを読み込み、 CAD(Autodesk Fusion)の3D空間上にソリッドモデルを自動生成するPythonアドインです。
このアドインは、人力飛行機の設計に用いました。 機体設計では、慣性モーメントの計算が重要です。
今までは、空力解析とCAD上での慣性モーメントの計算を手作業で繰り返し行う必要がありました。
そこで、手作業では時間のかかる各翼型の配置とロフトを自動化し、空力設計からCADモデリングへスムーズに移行できるようにしました。
- 使用言語: Python
- 使用API・ライブラリ: Fusion API(adsk.core, adsk.fusion, xml.etree.ElementTree)
- 主な機能: XMLデータのパース、翼型座標データ(.dat)の読み込み、3D空間への座標変換、ロフトによるソリッドボディ生成、自動ミラーリング
技術的な工夫とアーキテクチャ
単にデータを読み込むだけでなく、CADソフトウェア特有の挙動や解析データの揺れを吸収する工夫を入れました。
1. 空間座標系の変換と姿勢制御の自動計算
XMLから取得した各セクション情報(翼弦長、オフセット、上反角、ねじり下げ角)をもとに、2Dの翼型座標(.dat)を3D空間へマッピングする変換処理を実装しました。コード長25%位置をピボットにしたねじり回転や、前区間の上反角の累積によるZ座標の算出を自動化しています。
2. 波打ちを防止する「区間ごとの線形ロフト」処理
Fusionの標準機能で全断面を一度にロフトすると、スプライン補間によって曲面が波打つことがあります。これを防ぐため、隣り合う2断面ごとにロフトを作成し、それらを順次結合する方式にしました。実機や解析モデルに近い直線的なテーパ面を再現できます。
3. 解析データのエッジケースに対応するフェールセーフ機構
外部の解析ソフトから出力された翼型データ(.dat)は、後縁がわずかに開いていることがあります。そのままではCAD上で閉じたプロファイルとして認識されません。そこで、スプライン曲線の始点と終点の距離を計算し、微小な隙間がある場合は自動で直線を追加して閉じる処理を入れました。
4. UXを考慮したUI設計
処理時間が長くなるロフト生成中にはプログレスバーを表示し、ユーザーが進行状況を把握できるようにしました。
主翼・水平尾翼などの左右対称パーツと、垂直尾翼などの非対称パーツを作り分けるため、インポート時にミラーリングの要否を選べるダイアログを実装しました。
今後の改善点と展望
- スプライン制御点の最適化(軽量化): 現在は.datファイルに含まれる全座標をスプラインの制御点として読み込んでいます。点数が多いとFusionの動作が重くなるため、曲率の変化が少ない部分を間引く処理を追加したいです。
- ガイドレールのサポート: ウィングレットなどの複雑な形状を再現するため、直線ロフトだけでなく、前縁・後縁のガイドレール曲線を自動生成してロフトに適用する機能を検討しています。