修改命名空间

This commit is contained in:
GG Z
2026-02-21 16:31:24 +08:00
parent 97c0b18dc7
commit 2ad3d0fde0
188 changed files with 783 additions and 2710 deletions

View File

@@ -1,5 +1,5 @@
using Nice3point.Revit.Toolkit.External;
using ShrlAlgoToolkit.RevitAddins.Assists;
using ShrlAlgoToolkit.RevitAddins.Common.Assists;
namespace ShrlAlgoToolkit.RevitAddins.RvView;
@@ -9,6 +9,6 @@ public class AlignTagsCmd : ExternalCommand
{
public override void Execute()
{
WinDialogAssist.ShowModeless<AlignTagsView>(new AlignTagsViewModel());
Common.Assists.WinDialogAssist.ShowOrActivate<AlignTagsView, AlignTagsViewModel>();
}
}

View File

@@ -2,7 +2,8 @@
using Autodesk.Revit.Attributes;
using Autodesk.Revit.DB;
using Nice3point.Revit.Toolkit.External;
using ShrlAlgoToolkit.RevitAddins.Assists;
using ShrlAlgoToolkit.RevitAddins.Common.Assists;
namespace ShrlAlgoToolkit.RevitAddins.RvView;
@@ -68,7 +69,7 @@ public class CivilViewFilterCmd : ExternalCommand
catch (Exception e)
{
ErrorMessage = e.Message;
Assists.LogAssist.ToLog(e.StackTrace);
Common.Assists.LogAssist.ToLog(e.StackTrace);
Result = Result.Failed;
return;
}
@@ -112,7 +113,7 @@ public class CivilViewFilterCmd : ExternalCommand
catch (Exception e)
{
ErrorMessage = e.Message;
Assists.LogAssist.ToLog(e.StackTrace);
Common.Assists.LogAssist.ToLog(e.StackTrace);
Result = Result.Failed;
return;
}
@@ -165,7 +166,7 @@ public class CivilViewFilterCmd : ExternalCommand
catch (Exception e)
{
ErrorMessage = e.Message;
Assists.LogAssist.ToLog(e.StackTrace);
Common.Assists.LogAssist.ToLog(e.StackTrace);
Result = Result.Failed;
return;
}
@@ -195,7 +196,7 @@ public class CivilViewFilterCmd : ExternalCommand
catch (Exception e)
{
MessageBox.Show(e.Message);
Assists.LogAssist.ToLog(e.StackTrace);
Common.Assists.LogAssist.ToLog(e.StackTrace);
}
#endif
@@ -251,7 +252,7 @@ public class CivilViewFilterCmd : ExternalCommand
catch (Exception e)
{
MessageBox.Show(e.Message);
Assists.LogAssist.ToLog(e.StackTrace);
Common.Assists.LogAssist.ToLog(e.StackTrace);
}
#elif REVIT2020 || REVIT2019

View File

@@ -1,7 +1,8 @@
using Autodesk.Revit.Attributes;
using Nice3point.Revit.Toolkit.External;
using ShrlAlgoToolkit.RevitAddins.Assists;
using ShrlAlgoToolkit.RevitAddins.Common.Assists;
namespace ShrlAlgoToolkit.RevitAddins.RvView;

View File

@@ -1,8 +1,16 @@
using System.IO;
using System.Windows;
using System.Windows.Documents;
using Autodesk.Revit.DB;
using Melskin.Controls;
using MiniExcelLibs;
using Nice3point.Revit.Toolkit.External;
using ShrlAlgoToolkit.RevitAddins.Assists;
using ShrlAlgoToolkit.RevitAddins.Common.Assists;
namespace ShrlAlgoToolkit.RevitAddins.RvView;
@@ -31,48 +39,74 @@ public class ExportSchedulesCmd : ExternalCommand
}
var path = $"{selectedPath}\\导出的明细表.xlsx";
ExportScheduleToExcel(list, path);
Common.Assists.WinDialogAssist.OpenFolderAndSelectFile(path);
}
EPPlusHelper.WriteExcel(
path,
m =>
public void ExportScheduleToExcel(List<ViewSchedule> list,string path)
{
var allSheetsData = new Dictionary<string, object>();
foreach (var viewSchedule in list)
{
// 过滤掉无法分配类型的明细表(如修订云线明细表等特殊情况)
if (!viewSchedule.CanHaveTypeAssigned()) continue;
var td = viewSchedule.GetTableData();
var tdd = td.GetSectionData(SectionType.Body);
var nColumns = tdd.NumberOfColumns;
var nRows = tdd.NumberOfRows;
// 如果明细表连标题行都没有,直接跳过
if (nRows == 0) continue;
// 1. 获取第 0 行作为 Excel 的标题 (Headers)
var headers = new List<string>();
for (int j = 0; j < nColumns; j++)
{
foreach (var viewSchedule in list)
string headerName = viewSchedule.GetCellText(SectionType.Body, 0, j);
// 容错处理如果列名为空给个默认名如果列名重复加后缀MiniExcel要求Key唯一
if (string.IsNullOrWhiteSpace(headerName)) headerName = $"Column_{j + 1}";
string uniqueName = headerName;
int counter = 1;
while (headers.Contains(uniqueName))
{
if (!viewSchedule.CanHaveTypeAssigned())
{
continue;
}
var sheet = m.Workbook.Worksheets.Add(viewSchedule.Name);
var td = viewSchedule.GetTableData();
//TableSectionData tdb = td.GetSectionData(SectionType.Header);
//int hc = tdb.NumberOfColumns;
//int hr = tdb.NumberOfRows;
//for (int i = 0; i < hr; i++)
//{
// for (int j = 0; j < hc; j++)
// {
// //Autodesk.Revit.DB.CellType ctype = tdd.GetCellType(i, j);
// string str = viewSchedule.GetCellText(SectionType.Header, i, j);
// sheet.Cells[i + 1, j + 1].Value = str;
// }
//}
var tdd = td.GetSectionData(SectionType.Body);
var c = tdd.NumberOfColumns;
var r = tdd.NumberOfRows;
for (var i = 0; i < r; i++)
{
for (var j = 0; j < c; j++)
{
sheet.Cells[i + 1, j + 1].Value = viewSchedule.GetCellText(SectionType.Body, i, j);
}
}
EPPlusHelper.SetStyle(sheet, 1, sheet.Dimension.Rows, 1, sheet.Dimension.Columns);
uniqueName = $"{headerName}_{counter++}";
}
headers.Add(uniqueName);
}
);
WinDialogAssist.OpenFolderAndSelectFile(path);
// 2. 构造数据行(从第 1 行开始循环)
var rowsData = new List<Dictionary<string, object>>();
for (int i = 1; i < nRows; i++)
{
var row = new Dictionary<string, object>();
for (int j = 0; j < nColumns; j++)
{
// 使用上面取到的 headers[j] 作为 Key
row[headers[j]] = viewSchedule.GetCellText(SectionType.Body, i, j);
}
rowsData.Add(row);
}
// 3. 处理 Sheet 名称非法字符 (Excel 不允许 \ / ? * [ ] : )
string safeSheetName = viewSchedule.Name;
char[] invalidChars = { '\\', '/', '?', '*', '[', ']', ':' };
foreach (var c in invalidChars) safeSheetName = safeSheetName.Replace(c, '_');
if (safeSheetName.Length > 31) safeSheetName = safeSheetName.Substring(0, 31);
allSheetsData.Add(safeSheetName, rowsData);
}
try
{
MiniExcel.SaveAs(path, allSheetsData, overwriteFile: true);
}
catch (IOException)
{
// 提示文件被占用
MessageBox.Show("请先关闭已打开的 Excel 文件后再尝试保存。");
}
}
}

View File

@@ -1,5 +1,5 @@
using Nice3point.Revit.Toolkit.External;
using ShrlAlgoToolkit.RevitAddins.Assists;
using ShrlAlgoToolkit.RevitAddins.Common.Assists;
namespace ShrlAlgoToolkit.RevitAddins.RvView;
/// <summary>
@@ -13,6 +13,6 @@ public class QuickViewSectionCmd : ExternalCommand
{
public override void Execute()
{
WinDialogAssist.ShowModeless<QuickViewSectionView>(new QuickViewSectionViewModel());
Common.Assists.WinDialogAssist.ShowOrActivate<QuickViewSectionView, QuickViewSectionViewModel>();
}
}

View File

@@ -1,5 +1,5 @@
using Nice3point.Revit.Toolkit.External;
using ShrlAlgoToolkit.RevitAddins.Assists;
using ShrlAlgoToolkit.RevitAddins.Common.Assists;
namespace ShrlAlgoToolkit.RevitAddins.RvView;
@@ -16,7 +16,7 @@ public class SectionBoxControllerCmd : ExternalCommand
//}
try
{
WinDialogAssist.ShowModeless<SectionBoxControllerView>(new SectionBoxControllerViewModel(UiApplication));
Common.Assists.WinDialogAssist.ShowOrActivate<SectionBoxControllerView, SectionBoxControllerViewModel>(UiApplication);
}
catch (Exception ex)
{

View File

@@ -2,7 +2,7 @@
x:Class="ShrlAlgoToolkit.RevitAddins.RvView.SystemDisplayView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:converters="clr-namespace:ShrlAlgoToolkit.RevitAddins.Converters"
xmlns:converters="clr-namespace:ShrlAlgoToolkit.RevitAddins.Common.Converters"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:ShrlAlgoToolkit.RevitAddins.RvView"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"

View File

@@ -1,6 +1,6 @@
using Autodesk.Revit.Attributes;
using Nice3point.Revit.Toolkit.External;
using ShrlAlgoToolkit.RevitAddins.Assists;
using ShrlAlgoToolkit.RevitAddins.Common.Assists;
namespace ShrlAlgoToolkit.RevitAddins.RvView;
@@ -12,6 +12,6 @@ public class ViewManagerCmd : ExternalCommand
{
public override void Execute()
{
WinDialogAssist.ShowModeless<ViewManagerView>(new ViewManagerViewModel(UiApplication));
Common.Assists.WinDialogAssist.ShowOrActivate<ViewManagerView, ViewManagerViewModel>(UiApplication);
}
}

View File

@@ -3,7 +3,7 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
xmlns:converters="clr-namespace:ShrlAlgoToolkit.RevitAddins.Converters"
xmlns:converters="clr-namespace:ShrlAlgoToolkit.RevitAddins.Common.Converters"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:ShrlAlgoToolkit.RevitAddins.RvView"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"

View File

@@ -6,8 +6,9 @@ using Autodesk.Revit.DB;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using Nice3point.Revit.Toolkit.External.Handlers;
using ShrlAlgoToolkit.RevitAddins.Assists;
using ShrlAlgoToolkit.RevitAddins.Extensions;
using ShrlAlgoToolkit.RevitAddins.Common.Assists;
using ShrlAlgoToolkit.RevitAddins.Common.Extensions;
namespace ShrlAlgoToolkit.RevitAddins.RvView;
@@ -184,7 +185,7 @@ public partial class ViewManagerViewModel : ObservableObject
}
catch (Exception e)
{
Assists.LogAssist.ToLog(e.Message);
Common.Assists.LogAssist.ToLog(e.Message);
}
},
"复制视图"
@@ -217,7 +218,7 @@ public partial class ViewManagerViewModel : ObservableObject
}
catch (Exception e)
{
Assists.LogAssist.ToLog(e.Message);
Common.Assists.LogAssist.ToLog(e.Message);
}
},
"复制视图"
@@ -250,7 +251,7 @@ public partial class ViewManagerViewModel : ObservableObject
}
catch (Exception e)
{
Assists.LogAssist.ToLog(e.Message);
Common.Assists.LogAssist.ToLog(e.Message);
}
},
"复制视图"

View File

@@ -2,7 +2,7 @@
using Autodesk.Revit.Attributes;
using Autodesk.Revit.DB;
using Nice3point.Revit.Toolkit.External;
using ShrlAlgoToolkit.RevitAddins.Assists;
using ShrlAlgoToolkit.RevitAddins.Common.Assists;
namespace ShrlAlgoToolkit.RevitAddins.RvView;
@@ -16,7 +16,7 @@ public class VisibilityControlCmd : ExternalCommand
{
if (Document.ActiveView.ViewTemplateId == ElementId.InvalidElementId)
{
WinDialogAssist.ShowModeless<VisibilityView>(new VisibilityViewModel(UiApplication));
Common.Assists.WinDialogAssist.ShowOrActivate<VisibilityView, VisibilityViewModel>(UiApplication);
}
else
{