From 731fb259f530a83ff5b52ea48b4e14207dc89745 Mon Sep 17 00:00:00 2001 From: sladro Date: Sat, 20 Sep 2025 13:31:48 +0800 Subject: [PATCH] fix: prevent specific internal models from being overridden by preserve_external_surfaces MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add !isSpecificInternal condition to user preferences check - Ensure specific internal models maintain confidence=0.90 even when visible - Fix issue where 12v4000g03_herhang.prt had confidence=0 despite being marked as internal This ensures models explicitly marked as internal (like 12v4000g03_herhang.prt) are always deletable regardless of their visibility or external surface preservation settings. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- CreoManager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CreoManager.cpp b/CreoManager.cpp index 0a7a0a1..294e5b9 100644 --- a/CreoManager.cpp +++ b/CreoManager.cpp @@ -1780,8 +1780,8 @@ CreoManager::ShellAnalysisResult CreoManager::AnalyzeShellFeaturesEnhanced(const } } - // Apply user preferences - if (request.preserve_external_surfaces && is_outer_component) { + // Apply user preferences (skip for specific internal models) + if (request.preserve_external_surfaces && is_outer_component && !isSpecificInternal) { item.confidence = 0.0; // Force keep }