From bc39552ed21740838cc57caeb4c478ed4cfac528 Mon Sep 17 00:00:00 2001 From: tian <11429339@qq.com> Date: Fri, 30 Jan 2026 13:11:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=A2=B0=E6=92=9E=E7=BB=93?= =?UTF-8?q?=E6=9E=9C=E6=98=BE=E7=A4=BA=E5=90=8D=E7=A7=B0=EF=BC=8C=E9=A2=84?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E8=BF=90=E5=8A=A8=E7=89=A9=E4=BD=93=E5=90=8D?= =?UTF-8?q?=E7=A7=B0=E5=B9=B6=E7=AE=80=E5=8C=96=E7=88=B6=E5=AE=B9=E5=99=A8?= =?UTF-8?q?=E6=9F=A5=E6=89=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Core/Collision/ClashDetectiveIntegration.cs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Core/Collision/ClashDetectiveIntegration.cs b/src/Core/Collision/ClashDetectiveIntegration.cs index 84eb77c..154da02 100644 --- a/src/Core/Collision/ClashDetectiveIntegration.cs +++ b/src/Core/Collision/ClashDetectiveIntegration.cs @@ -697,6 +697,9 @@ namespace NavisworksTransport skippedCount += (sortedCandidates.Count - 1 - i); // 记录跳过的数量 int subResultIndex = 1; + // 🔥 优化:预获取运动物体名称,避免在循环中重复获取 + var animatedObjectName = ModelItemAnalysisHelper.GetSafeDisplayName(animatedObject); + foreach (var child in refreshedTempTest.Children) { if (child is ClashResult result) @@ -704,10 +707,12 @@ namespace NavisworksTransport var copiedResult = result.CreateCopy() as ClashResult; copiedResult.Guid = Guid.NewGuid(); // 生成新的GUID - // 🔥 优化:简化 DisplayName,避免复杂的父容器查找 - // 详细的名称将在去重后统一设置 + // 设置碰撞名称:运动物体名称直接使用预获取的,被撞物体查找父容器 + var container2 = ModelItemAnalysisHelper.FindNamedParentContainer(result.Item2); + var object2Name = ModelItemAnalysisHelper.GetSafeDisplayName(container2); + var timeStamp = DateTime.Now.ToString("HHmmss"); - copiedResult.DisplayName = $"碰撞_{confirmedCount:00}_{subResultIndex:00}_{timeStamp}"; + copiedResult.DisplayName = $"物流碰撞#{confirmedCount:00}-{subResultIndex:00}_{timeStamp}: {animatedObjectName} ↔ {object2Name}"; collisionGroup.Children.Add(copiedResult); subResultIndex++;