优化集合提取器
This commit is contained in:
parent
e12e1125d2
commit
a1d2a65010
@ -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}' 提取到三角形");
|
||||
|
||||
@ -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}");
|
||||
|
||||
@ -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)
|
||||
{
|
||||
|
||||
@ -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)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user