feat: 完善 Face 一级编辑与隔离计算

This commit is contained in:
2026-08-05 15:08:16 +08:00
parent a76282d7dd
commit ed1faf51d8
28 changed files with 3740 additions and 876 deletions
+56 -47
View File
@@ -18,6 +18,9 @@ INFO_GROUPS: list[tuple[str, list[str]]] = [
"file",
"part_id",
"solid_id",
"selection_title",
"selection_display_id",
"selection_topological_face_id",
"logical_face_id",
"face_region_logical_id",
"topological_face_id",
@@ -392,10 +395,13 @@ INFO_LABELS = {
"file": "文件",
"part_id": "零件 ID",
"solid_id": "Solid ID",
"selection_title": "当前选中对象",
"selection_display_id": "逻辑选择 ID",
"selection_topological_face_id": "当前拓扑 Face ID",
"logical_face_id": "逻辑 Face ID",
"face_region_logical_id": "面区域逻辑 ID",
"topological_face_id": "拓扑 Face ID",
"face_id": "Face ID",
"face_id": "当前拓扑 Face ID",
"face_region_ids": "面区域 Face",
"face_region_count": "面区域 Face 数",
"edge_id": "Edge ID",
@@ -544,24 +550,24 @@ INFO_LABELS = {
"center_of_mass": "重心",
"surface_center": "表面积中心",
"area_center": "面积中心",
"local_face_width": "当前面宽",
"local_face_height": "当前面高",
"local_face_width_direction": "面宽 方向",
"local_face_height_direction": "面高 方向",
"local_face_size_center": "面宽/面高 中心",
"face_size_axis": "面宽/面高 方向",
"face_size_label": "面宽/面高 名称",
"current_face_width": "当前面宽",
"target_face_width": "目标面宽",
"current_face_height": "当前面高",
"target_face_height": "目标面高",
"current_face_size": "当前面宽/面高",
"target_face_size": "目标面宽/面高",
"face_size_delta": "面宽/面高 变化量",
"face_size_delta_ratio": "面宽/面高 变化比例",
"face_size_scale": "面宽/面高 缩放比例",
"face_size_center": "面宽/面高 缩放中心",
"face_size_axis_direction": "面宽/面高 缩放方向",
"local_face_width": "U向尺寸",
"local_face_height": "V向尺寸",
"local_face_width_direction": "U向方向",
"local_face_height_direction": "V向方向",
"local_face_size_center": "U/V 尺寸中心",
"face_size_axis": "U/V 尺寸方向",
"face_size_label": "U/V 尺寸名称",
"current_face_width": "当前 U向尺寸",
"target_face_width": "目标 U向尺寸",
"current_face_height": "当前 V向尺寸",
"target_face_height": "目标 V向尺寸",
"current_face_size": "当前 U/V 尺寸",
"target_face_size": "目标 U/V 尺寸",
"face_size_delta": "U/V 尺寸变化量",
"face_size_delta_ratio": "U/V 尺寸变化比例",
"face_size_scale": "U/V 尺寸缩放比例",
"face_size_center": "U/V 尺寸缩放中心",
"face_size_axis_direction": "U/V 尺寸缩放方向",
"owning_face_size_rebuild_mode": "所属对象尺寸重建模式",
"length_center": "长度中心",
"bbox_min": "包围盒最小点",
@@ -574,7 +580,7 @@ INFO_LABELS = {
"end_face_id": "端面 Face",
"end_face_label": "端面位置",
"end_face_plane_distance": "端面匹配距离",
"push_pull_distance": "端面推拉距离",
"push_pull_distance": "伸/切除距离",
"normal": "几何法向",
"oriented_normal": "拓扑修正法向",
"plane_origin": "平面原点",
@@ -585,37 +591,37 @@ INFO_LABELS = {
"rotation_axis": "旋转轴",
"end_face_outward_direction": "端面向外方向",
"desired_movement_vector": "目标移动向量",
"push_pull_outward_direction": "拉向外方向",
"push_pull_inward_direction": "推拉向内方向",
"push_pull_outward_direction": "向外方向",
"push_pull_inward_direction": "切除向内方向",
"push_pull_plus_side": "原始法向侧",
"push_pull_minus_side": "反向法向侧",
"push_pull_confidence": "拉方向置信度",
"push_pull_note": "拉方向说明",
"push_pull_status": "拉状态",
"push_pull_risk": "拉风险",
"push_pull_message": "拉说明",
"push_pull_scope_face_ids": "拉共面区域 Face",
"push_pull_scope_face_count": "拉共面区域 Face 数",
"push_pull_scope_area": "拉共面区域面积",
"push_pull_scope_note": "拉共面区域说明",
"shell_region_kind": "壳体/薄壁候选类型",
"shell_region_status": "壳体/薄壁识别状态",
"shell_confidence": "壳体/薄壁置信度",
"shell_thickness": "薄壁厚度",
"shell_source_face_ids": "壳体/薄壁源平面 Face",
"push_pull_confidence": "伸/切除方向置信度",
"push_pull_note": "伸/切除方向说明",
"push_pull_status": "伸/切除状态",
"push_pull_risk": "伸/切除风险",
"push_pull_message": "伸/切除说明",
"push_pull_scope_face_ids": "伸/切除共面区域 Face",
"push_pull_scope_face_count": "伸/切除共面区域 Face 数",
"push_pull_scope_area": "伸/切除共面区域面积",
"push_pull_scope_note": "伸/切除共面区域说明",
"shell_region_kind": "壳体候选类型",
"shell_region_status": "壳体识别状态",
"shell_confidence": "壳体置信度",
"shell_thickness": "壳体厚度",
"shell_source_face_ids": "壳体源平面 Face",
"shell_opposite_face_id": "相对平面 Face",
"shell_thickness_estimate": "薄壁厚度估算",
"shell_current_thickness": "当前薄壁厚度",
"shell_target_thickness": "目标薄壁厚度",
"shell_delta_thickness": "薄壁厚度变化量",
"shell_delta_ratio": "薄壁厚度变化比例",
"shell_signed_thickness": "有符号薄壁厚度",
"shell_thickness_estimate": "壳体厚度估算",
"shell_current_thickness": "当前壳体厚度",
"shell_target_thickness": "目标壳体厚度",
"shell_delta_thickness": "壳体厚度变化量",
"shell_delta_ratio": "壳体厚度变化比例",
"shell_signed_thickness": "有符号壳体厚度",
"shell_overlap_ratio_estimate": "相对平面重叠率估算",
"shell_opposite_normal_dot": "相对平面法向点积",
"shell_desired_movement_vector": "薄壁目标移动向量",
"shell_movement_alignment": "薄壁移动方向匹配度",
"shell_note": "壳体/薄壁识别说明",
"shell_region_note": "壳体/薄壁识别说明",
"shell_desired_movement_vector": "壳体目标移动向量",
"shell_movement_alignment": "壳体移动方向匹配度",
"shell_note": "壳体识别说明",
"shell_region_note": "壳体识别说明",
"u_range": "U 参数范围",
"v_range": "V 参数范围",
"first_parameter": "起始参数",
@@ -700,6 +706,9 @@ INFO_LABELS = {
"existing_fillet_arc_length_estimate": "已有圆角圆弧长度估算",
"existing_fillet_note": "已有圆角识别说明",
"feature_edit_actions": "当前可用操作",
"freeform_face_status": "自由曲面状态",
"freeform_face_risk": "自由曲面风险",
"freeform_face_blockers": "自由曲面限制",
"resize_status": "切削状态",
"resize_strategy": "编辑策略",
"edit_strategy_label": "编辑策略说明",
@@ -940,7 +949,7 @@ def _edit_quality_warnings(before_part_stats, after_part_stats) -> list[str]:
warnings.append(
"目标零件Solid数发生变化:"
f"{before_part_stats.solids} -> {after_part_stats.solids}"
"如果这是一次局部拉/孔径修改,请重点检查导出后是否仍是一体实体。"
"如果这是一次局部拉伸/切除/孔径修改,请重点检查导出后是否仍是一体实体。"
)
return warnings