优化更新
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user