feat: 完善一级关系编辑 UI 与视图体验
This commit is contained in:
@@ -2193,6 +2193,15 @@ class FeatureMixin:
|
||||
scoped_info["height_estimate"] = axis_range["span"]
|
||||
scoped_info["v_range"] = (axis_range["v_min"], axis_range["v_max"])
|
||||
readiness = _cylinder_boss_resize_readiness(scoped_info, new_diameter)
|
||||
readiness = self._apply_cylindrical_first_level_guard_to_readiness(
|
||||
readiness,
|
||||
topology_fields,
|
||||
status_key="boss_resize_status",
|
||||
risk_key="boss_resize_risk",
|
||||
note_key="boss_resize_note",
|
||||
warnings_key="boss_resize_warnings",
|
||||
blockers_key="boss_resize_blockers",
|
||||
)
|
||||
resize_mode = _resize_mode(current_diameter, new_diameter)
|
||||
delta_diameter = new_diameter - current_diameter
|
||||
diameter_delta_ratio = abs(delta_diameter) / max(current_diameter, 1e-9)
|
||||
@@ -2213,6 +2222,7 @@ class FeatureMixin:
|
||||
"face_id": face_id,
|
||||
"part_id": info["part_id"],
|
||||
"solid_id": info["solid_id"],
|
||||
**topology_fields,
|
||||
"current_diameter": current_diameter,
|
||||
"target_diameter": new_diameter,
|
||||
"delta_diameter": delta_diameter,
|
||||
@@ -2252,12 +2262,14 @@ class FeatureMixin:
|
||||
feature = self.feature_info(face_id)
|
||||
except Exception:
|
||||
feature = {}
|
||||
topology_fields = self._cylindrical_feature_first_level_plan_fields(face_id)
|
||||
|
||||
blockers: list[str] = []
|
||||
warnings: list[str] = [
|
||||
"Cylindrical boss axis move removes the old boss envelope, then fuses a same-diameter boss on the target axis."
|
||||
]
|
||||
risk = "medium"
|
||||
risk = self._apply_cylindrical_first_level_guard(topology_fields, blockers, warnings, risk)
|
||||
|
||||
try:
|
||||
target_center = (float(target_center[0]), float(target_center[1]), float(target_center[2]))
|
||||
@@ -2360,6 +2372,7 @@ class FeatureMixin:
|
||||
"face_id": face_id,
|
||||
"part_id": info.get("part_id"),
|
||||
"solid_id": info.get("solid_id"),
|
||||
**topology_fields,
|
||||
"surface": info.get("surface"),
|
||||
"feature_type": feature.get("feature_type"),
|
||||
"feature_guess": feature_guess,
|
||||
|
||||
Reference in New Issue
Block a user