优化更新

This commit is contained in:
GG Z
2025-02-10 20:53:40 +08:00
parent 83b846f15f
commit 9696128f03
62 changed files with 2567 additions and 1608 deletions

View File

@@ -14,7 +14,6 @@ using CommunityToolkit.Mvvm.Input;
using Microsoft.Win32;
using Nice3point.Revit.Toolkit.External.Handlers;
using Nice3point.Revit.Toolkit.Utils;
using Sai.RvKits.Windows;
@@ -24,36 +23,10 @@ namespace Sai.RvKits.RvFamily;
public partial class ModelCheckViewModel : ObservableObject
{
private readonly ActionEventHandler showElementsSectionBox = new();
private readonly CorrectReferLevelExecutes correctReferLevelExecutes;
[ObservableProperty]
private bool useSectionBox;
[ObservableProperty]
private bool isCheckEqual;
[ObservableProperty]
private bool isCheckLength;
[ObservableProperty]
private bool isCheckLevel;
[ObservableProperty]
private bool isCheckName;
[ObservableProperty]
private bool isCheckProps;
[ObservableProperty]
private bool isCheckSlope;
[ObservableProperty]
private bool isCheckSymbolGeometry;
[ObservableProperty]
private int errorCount;
private readonly ActionEventHandler modifyModel = new();
private readonly ActionEventHandler showElementsSectionBox = new();
private readonly UIApplication uiapp;
public ModelCheckViewModel(UIApplication uiapp)
@@ -66,6 +39,15 @@ public partial class ModelCheckViewModel : ObservableObject
FindBasePoint();
}
private bool CanExport()
{
return Items.Any();
}
private static bool CanShowElement(object obj)
{
return obj is MessageModel { IsInstance: true };
}
[RelayCommand]
private /*async Task*/ void CheckModel(/*CancellationToken token*/)
{
@@ -357,45 +339,6 @@ public partial class ModelCheckViewModel : ObservableObject
ExportToExcelCommand.NotifyCanExecuteChanged();
}
private void FindBasePoint()
{
var basePoints = uiapp.ActiveUIDocument.Document.OfClass<BasePoint>().OfType<BasePoint>();
foreach (var item in basePoints)
{
//南北
var ns = Math.Round(
item.get_Parameter(BuiltInParameter.BASEPOINT_NORTHSOUTH_PARAM).AsDouble() * 0.3048,
4,
MidpointRounding.AwayFromZero
);
//东西
var ew = Math.Round(item.get_Parameter(BuiltInParameter.BASEPOINT_EASTWEST_PARAM).AsDouble() * 0.3048, 4, MidpointRounding.AwayFromZero);
//高程
var elev = Math.Round(
item.get_Parameter(BuiltInParameter.BASEPOINT_ELEVATION_PARAM).AsDouble() * 0.3048,
4,
MidpointRounding.AwayFromZero
);
if (item.IsShared)//测量点
{
SharedBasePoint = $"南北:{ns}m东西{ew}m高程{elev}m";
continue;
}
if (item.Category.GetHashCode() == -2001271)//项目基点
{
//正北角度
var angle = item.get_Parameter(BuiltInParameter.BASEPOINT_ANGLETON_PARAM).AsValueString();
ProjectBasePoint = $"南北:{ns}m东西{ew}m高程{elev}m角度{angle}";
}
}
}
private bool CanExport()
{
return Items.Any();
}
[RelayCommand(CanExecute = nameof(CanExport))]
private void ExportToExcel()
{
@@ -488,6 +431,40 @@ public partial class ModelCheckViewModel : ObservableObject
}
}
private void FindBasePoint()
{
var basePoints = uiapp.ActiveUIDocument.Document.OfClass<BasePoint>().OfType<BasePoint>();
foreach (var item in basePoints)
{
//南北
var ns = Math.Round(
item.get_Parameter(BuiltInParameter.BASEPOINT_NORTHSOUTH_PARAM).AsDouble() * 0.3048,
4,
MidpointRounding.AwayFromZero
);
//东西
var ew = Math.Round(item.get_Parameter(BuiltInParameter.BASEPOINT_EASTWEST_PARAM).AsDouble() * 0.3048, 4, MidpointRounding.AwayFromZero);
//高程
var elev = Math.Round(
item.get_Parameter(BuiltInParameter.BASEPOINT_ELEVATION_PARAM).AsDouble() * 0.3048,
4,
MidpointRounding.AwayFromZero
);
if (item.IsShared)//测量点
{
SharedBasePoint = $"南北:{ns}m东西{ew}m高程{elev}m";
continue;
}
if (item.Category.GetHashCode() == -2001271)//项目基点
{
//正北角度
var angle = item.get_Parameter(BuiltInParameter.BASEPOINT_ANGLETON_PARAM).AsValueString();
ProjectBasePoint = $"南北:{ns}m东西{ew}m高程{elev}m角度{angle}";
}
}
}
[RelayCommand]
private void ModifyModel()
{
@@ -576,10 +553,6 @@ public partial class ModelCheckViewModel : ObservableObject
SingletonChildWindowManager.ShowOrActivate<MessageWin, MessageViewModel>(uiapp.ActiveUIDocument, errorItems, "未解决错误");
});
}
private static bool CanShowElement(object obj)
{
return obj is MessageModel { IsInstance: true };
}
[RelayCommand(CanExecute = nameof(CanShowElement))]
private void ShowElement(object obj)
@@ -629,11 +602,39 @@ public partial class ModelCheckViewModel : ObservableObject
}
[ObservableProperty]
private ObservableCollection<MessageModel> items;
public partial int ErrorCount { get; set; }
[ObservableProperty]
public partial bool IsCheckEqual { get; set; }
[ObservableProperty]
public partial bool IsCheckLength { get; set; }
[ObservableProperty]
public partial bool IsCheckLevel { get; set; }
[ObservableProperty]
public partial bool IsCheckName { get; set; }
[ObservableProperty]
public partial bool IsCheckProps { get; set; }
[ObservableProperty]
public partial bool IsCheckSlope { get; set; }
[ObservableProperty]
public partial bool IsCheckSymbolGeometry { get; set; }
[ObservableProperty]
public partial ObservableCollection<MessageModel> Items { get; set; }
[ObservableProperty]
public partial int MyProperty { get; set; }
public string ProjectBasePoint { get; set; }
public string SharedBasePoint { get; set; }
[ObservableProperty]
public partial bool UseSectionBox { get; set; }
}
public enum ModelCheckType