This commit is contained in:
cjw
2026-02-15 01:01:03 +08:00
parent 3a8a1ff3cc
commit f0e1648f6a
+23 -10
View File
@@ -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"""
<div id="cavity-info-panel" style="position: absolute; top: 10px; right: 10px;">
<h3>🔧 关键工艺参数</h3>
@@ -39,52 +50,54 @@ class HTMLGenerator:
</div>
<div class="metric">
<span class="metric-label">收缩率:</span>
<span class="metric-value">{cavity_data["metadata"]["shrinkage_rate"]}</span>
<span class="metric-value">{metadata.get("shrinkage_rate", "N/A")}</span>
</div>
<div class="metric">
<span class="metric-label">拔模角:</span>
<span class="metric-value">{cavity_data["metadata"]["draft_angle"]}°</span>
<span class="metric-value">{metadata.get("draft_angle", "N/A")}°</span>
</div>
<div class="metric">
<span class="metric-label">分型线长度:</span>
<span class="metric-value">{cavity_data["manufacturing_info"].get("parting_line_length", "N/A")}</span>
<span class="metric-value">{manufacturing_info.get("parting_line_length", "N/A")}</span>
</div>
<div style="margin: 10px 0;">
<strong>几何特性</strong>
</div>
<div class="metric">
<span class="metric-label">产品体积:</span>
<span class="metric-value">{cavity_data["mold_cavities"]["cavity_key_info"]["geometric_characteristics"].get("product_volume", "N/A")}</span>
<span class="metric-value">{geo_chars.get("product_volume", "N/A")}</span>
</div>
<div class="metric">
<span class="metric-label">产品重量:</span>
<span class="metric-value">{cavity_data["mold_cavities"]["cavity_key_info"]["geometric_characteristics"]["product_weight"]}</span>
<span class="metric-value">{geo_chars.get("product_weight", "N/A")}</span>
</div>
<div class="metric">
<span class="metric-label">壁厚范围:</span>
<span class="metric-value">{cavity_data["mold_cavities"]["cavity_key_info"]["geometric_characteristics"]["wall_thickness_range"]}</span>
<span class="metric-value">{geo_chars.get("wall_thickness_range", "N/A")}</span>
</div>
<div style="margin: 10px 0;">
<strong>制造要求</strong>
</div>
<div class="metric">
<span class="metric-label">型腔材料:</span>
<span class="metric-value">{cavity_data["manufacturing_info"].get("mold_material", "N/A")}</span>
<span class="metric-value">{manufacturing_info.get("mold_material", "N/A")}</span>
</div>
<div class="metric">
<span class="metric-label">硬度:</span>
<span class="metric-value">{cavity_data["manufacturing_info"].get("mold_hardness", "N/A")}</span>
<span class="metric-value">{manufacturing_info.get("mold_hardness", "N/A")}</span>
</div>
<div class="metric">
<span class="metric-label">表面光洁度:</span>
<span class="metric-value">{cavity_data["manufacturing_info"].get("surface_finish", "N/A")}</span>
<span class="metric-value">{manufacturing_info.get("surface_finish", "N/A")}</span>
</div>
<div class="metric">
<span class="metric-label">预估周期:</span>
<span class="metric-value">{cavity_data["manufacturing_info"].get("estimated_cycle_time", "N/A")}</span>
<span class="metric-value">{manufacturing_info.get("estimated_cycle_time", "N/A")}</span>
</div>
</div>
"""
else:
logger.warning("cavity_data 为空,无法显示工艺参数")
html_content = f"""
<!DOCTYPE html>
<html lang="zh-CN">