优化集合提取器

This commit is contained in:
tian 2025-10-13 10:41:33 +08:00
parent e12e1125d2
commit a1d2a65010
4 changed files with 7 additions and 7 deletions

View File

@ -188,7 +188,7 @@ namespace NavisworksTransport.PathPlanning
double channelSpeedLimit = CategoryAttributeManager.GetSpeedLimit(channel);
// 提取三角形几何
var triangles = GeometryHelper.ExtractTriangles(channel);
var triangles = GeometryHelper.ExtractTriangles(new[] { channel });
if (triangles.Count == 0)
{
LogManager.Warning($"[通道网格构建器] 未能从 '{channel.DisplayName}' 提取到三角形");

View File

@ -620,7 +620,7 @@ namespace NavisworksTransport.PathPlanning
screenPoint.Y >= 0 && screenPoint.Y < activeView.Height)
{
// 使用PickItemFromPoint获取该屏幕位置的实际表面点
var pickResult = activeView.PickItemFromPoint((int)screenPoint.X, (int)screenPoint.Y);
var pickResult = activeView.PickItemFromPoint(screenPoint.X, screenPoint.Y);
if (pickResult != null && (pickResult.ModelItem.Equals(channel) || ModelItemAnalysisHelper.IsChildOf(pickResult.ModelItem, channel)))
{
LogManager.Info($"[射线投射] ✅ 成功检测到表面点: Z={pickResult.Point.Z:F2}");
@ -653,9 +653,9 @@ namespace NavisworksTransport.PathPlanning
try
{
LogManager.Info($"[COM几何射线] 开始从ModelItem提取三角形几何数据: {channel.DisplayName}");
// 使用COM API提取三角形几何数据
var triangles = GeometryHelper.ExtractTriangles(channel);
var triangles = GeometryHelper.ExtractTriangles(new[] { channel });
if (triangles.Count == 0)
{
LogManager.Warning($"[COM几何射线] 未能从ModelItem提取到三角形数据: {channel.DisplayName}");

View File

@ -265,7 +265,7 @@ namespace NavisworksTransport.PathPlanning
{
// 步骤 1提取三角形
LogManager.Info("[步骤 1/3] 提取三角形网格...");
var triangles = GeometryHelper.ExtractTriangles(modelItem);
var triangles = GeometryHelper.ExtractTriangles(new[] { modelItem });
if (triangles.Count == 0)
{

View File

@ -147,7 +147,7 @@ namespace NavisworksTransport
LogManager.Info($"[DMesh3转换] 共 {itemCount} 个模型项,使用批量提取方式");
var allTriangles = GeometryHelper.ExtractTrianglesBatch(itemsList);
var allTriangles = GeometryHelper.ExtractTriangles(itemsList);
extractStopwatch.Stop();
LogManager.Info($"[DMesh3转换] 从 {itemCount} 个模型项共提取 {allTriangles.Count} 个三角形,耗时: {extractStopwatch.ElapsedMilliseconds} ms ({extractStopwatch.Elapsed.TotalSeconds:F2}秒)");
@ -173,7 +173,7 @@ namespace NavisworksTransport
try
{
var triangles = GeometryHelper.ExtractTriangles(item);
var triangles = GeometryHelper.ExtractTriangles(new[] { item });
return Convert(triangles);
}
catch (Exception ex)