固定翼外形详细设计(Spec)
本阶段目标:在总体设计闭环已经可跑的前提下,把外形从“参数化占位”推进到“可追溯的详细几何输入”,并且提供可视化(优先三视图),为后续 OpenVSP/VSPAero/更高保真分析做接口准备。
与统一入口的接口关系
- •外形资产生成与落盘由
fixed_wing_overall_sizing_runbook统一执行(python -m aircraft_design.run_sizing)。 - •统一入口在收敛后会在
output/<project>_*/输出:- •
geometry_3d.html、geometry_mesh.json、geometry.obj - •
model.vspscript、model.obj - •
design_report_v2.md、design_data.json
- •
1. 输入接口(建议字段)
1.1 geometry_parametric(已有)
- •
wing.aspect_ratio - •
wing.taper_ratio - •
wing.sweep_quarter_chord_deg - •
wing.t_c - •
fuselage.length_m - •
fuselage.diameter_m - •
tail.area_ratio_to_wing
1.2 geometry_detailed(新增)
机翼翼型
- •
geometry_detailed.wing.airfoil- •
type:"naca4"(当前支持) - •
code: 例如"2412" - •
n: 采样点数(默认 161)
- •
机身剖面(轴对称站位序列)
- •
geometry_detailed.fuselage.stations: list- •每项:
{ "x_m": number, "radius_m": number } - •要求:
x_m单调递增(系统会排序),radius_m >= 0
- •每项:
1.3 geometry_search(创成式搜索)
- •允许设置范围:
aspect_ratio/taper_ratio/sweep_quarter_chord_deg/t_c/fuselage_length_m/fuselage_diameter_m/tail_area_ratio_to_wing - •每项格式:
{ "min": number, "max": number }
2. 输出接口(建议字段)
- •输出以文件为主,写入
output/<project>_*/:- •
geometry_3d.html:三视图 HTML 预览 - •
geometry_mesh.json:网格 JSON - •
geometry.obj:OBJ 资产 - •
model.vspscript:OpenVSP 脚本(可选)
- •
3. 可视化验收(必须)
- •默认输出为三视图:Top (X-Y)、Side (X-Z)、Front (Y-Z)
- •若 Three.js 加载失败(CDN/离线/受限环境),必须自动降级显示线框投影,保证不“空白”
4. 验收标准(可执行)
- •输入仅提供
geometry_parametric时:可生成三视图预览与 OBJ/JSON 资产 - •输入提供
geometry_detailed时:geometry_mesh.json生成成功且可被geometry_3d.html正常加载 - •所有测试可通过:
python -m unittest discover -s tests