diff --git a/src/utils/html_generator.py b/src/utils/html_generator.py
index 4e4e21c..7d40852 100644
--- a/src/utils/html_generator.py
+++ b/src/utils/html_generator.py
@@ -31,6 +31,17 @@ class HTMLGenerator:
center_of_mass = geometry_data.get("center_of_mass", [0, 0, 0])
cavity_html = ""
if cavity_data:
+ # 安全获取嵌套数据
+ metadata = cavity_data.get("metadata", {})
+ manufacturing_info = cavity_data.get("manufacturing_info", {})
+ mold_cavities = cavity_data.get("mold_cavities", {})
+ cavity_key_info = mold_cavities.get("cavity_key_info", {})
+ geo_chars = cavity_key_info.get("geometric_characteristics", {})
+
+ logger.info(f"生成HTML - 收缩率: {metadata.get('shrinkage_rate')}")
+ logger.info(f"生成HTML - 型腔材料: {manufacturing_info.get('mold_material')}")
+ logger.info(f"生成HTML - 产品体积: {geo_chars.get('product_volume')}")
+
cavity_html = f"""
🔧 关键工艺参数
@@ -39,52 +50,54 @@ class HTMLGenerator:
收缩率:
- {cavity_data["metadata"]["shrinkage_rate"]}
+ {metadata.get("shrinkage_rate", "N/A")}
拔模角:
- {cavity_data["metadata"]["draft_angle"]}°
+ {metadata.get("draft_angle", "N/A")}°
分型线长度:
- {cavity_data["manufacturing_info"].get("parting_line_length", "N/A")}
+ {manufacturing_info.get("parting_line_length", "N/A")}
几何特性
产品体积:
- {cavity_data["mold_cavities"]["cavity_key_info"]["geometric_characteristics"].get("product_volume", "N/A")}
+ {geo_chars.get("product_volume", "N/A")}
产品重量:
- {cavity_data["mold_cavities"]["cavity_key_info"]["geometric_characteristics"]["product_weight"]}
+ {geo_chars.get("product_weight", "N/A")}
壁厚范围:
- {cavity_data["mold_cavities"]["cavity_key_info"]["geometric_characteristics"]["wall_thickness_range"]}
+ {geo_chars.get("wall_thickness_range", "N/A")}
制造要求
型腔材料:
- {cavity_data["manufacturing_info"].get("mold_material", "N/A")}
+ {manufacturing_info.get("mold_material", "N/A")}
硬度:
- {cavity_data["manufacturing_info"].get("mold_hardness", "N/A")}
+ {manufacturing_info.get("mold_hardness", "N/A")}
表面光洁度:
- {cavity_data["manufacturing_info"].get("surface_finish", "N/A")}
+ {manufacturing_info.get("surface_finish", "N/A")}
预估周期:
- {cavity_data["manufacturing_info"].get("estimated_cycle_time", "N/A")}
+ {manufacturing_info.get("estimated_cycle_time", "N/A")}
"""
+ else:
+ logger.warning("cavity_data 为空,无法显示工艺参数")
html_content = f"""