From 0e9db9a2b94a175f819428fbde3cbcc95d035aa8 Mon Sep 17 00:00:00 2001
From: GG Z <903524121@qq.com>
Date: Fri, 2 Jan 2026 16:37:37 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
NeoUI/NeoUI/Appearance/ThemeManager.cs | 2 +-
NeoUI/NeoUI/Controls/Breadcrumb.xaml.cs | 13 +-
.../Controls/ColorPicker/ColorPanel.xaml.cs | 4 +-
NeoUI/NeoUI/Controls/Hyperlink.xaml.cs | 24 +-
NeoUI/NeoUI/Controls/MultiComboBox.xaml.cs | 6 +-
NeoUI/NeoUI/Controls/NeoWindow.xaml.cs | 19 +-
NeoUI/NeoUI/Markup/EnumSourceExtension.cs | 43 +-
NeoUI/NeoUI/NeoUI.csproj | 2 +-
RevitAddin/NuGet.config | 7 -
RevitAddin/Resources/Revit.ico | Bin 982 -> 0 bytes
RevitAddin/Revit/App.cs | 30 -
RevitAddin/Revit/Commands/Command.cs | 21 -
RevitAddin/RevitAddin.csproj | 164 ----
RevitAddin/bitmono.json | 9 -
RevitLess/App.xaml | 5 +
{WebUITest => RevitLess}/App.xaml.cs | 2 +-
RevitLess/BasicFileInfo.cs | 813 +++++++++---------
RevitLess/MainViewModel.cs | 110 +++
RevitLess/MainWindow.xaml | 52 ++
{WebUITest => RevitLess}/MainWindow.xaml.cs | 10 +-
RevitLess/PlatformType.cs | 4 +-
RevitLess/PreviewImage.cs | 541 ++++++------
RevitLess/Program.cs | 34 -
RevitLess/RevitFileAssist.cs | 650 ++++++++++++++
RevitLess/RevitLess.csproj | 26 +-
RevitLess/Storage.cs | 522 ++++++-----
RevitLess/StorageBase.cs | 12 +-
RevitLess/StorageStreamBase.cs | 20 -
RevitLess/StringUtility.cs | 2 +-
.../Assists/RevitFileAssist.cs | 6 +-
.../FamilyLibrary/FamilyLibraryView.xaml | 3 +-
.../FamilyLibrary/FamilyLibraryView.xaml.cs | 5 -
.../RvView/VisibilityView.xaml | 4 +-
.../ShrlAlgoToolkit.RevitAddins.csproj | 6 +
ShrlAlgoToolkit.sln | 18 -
WPFUI.Test/App.config | 6 -
WPFUI.Test/App.xaml | 21 -
WPFUI.Test/App.xaml.cs | 17 -
WPFUI.Test/ChatFunction/ChatDialogue.xaml | 208 -----
WPFUI.Test/ChatFunction/ChatDialogue.xaml.cs | 218 -----
.../ChatFunction/ChatDialogueViewModel.cs | 238 -----
.../ChatFunction/ColorCodeBlockRenderer.cs | 109 ---
.../ChatFunction/ColorCodeWpfExtension.cs | 55 --
WPFUI.Test/ChatFunction/CustomChatWindow.xaml | 21 -
.../ChatFunction/CustomChatWindow.xaml.cs | 52 --
WPFUI.Test/ChatFunction/DeepSeekClient.cs | 74 --
WPFUI.Test/ChatFunction/ExtensionMethods.cs | 30 -
.../MarkdownPipelineBuilderExtension.cs | 24 -
WPFUI.Test/ChatFunction/MarkdownStyleRes.xaml | 101 ---
.../ChatFunction/RichTextBoxFormatter.cs | 149 ----
.../ChatFunction/RoleToDisplayConverter.cs | 77 --
WPFUI.Test/GlobalUsings.cs | 5 -
WPFUI.Test/GlobalVariables.cs | 16 -
WPFUI.Test/MainWindow.xaml | 19 -
WPFUI.Test/MainWindow.xaml.cs | 35 -
WPFUI.Test/Properties/AssemblyInfo.cs | 52 --
WPFUI.Test/Properties/Resources.Designer.cs | 63 --
WPFUI.Test/Properties/Resources.resx | 117 ---
WPFUI.Test/Properties/Settings.Designer.cs | 74 --
WPFUI.Test/Properties/Settings.settings | 18 -
WPFUI.Test/WPFUI.Test.csproj | 60 --
WPFUI.Test/WPFUI.xaml | 149 ----
WPFUI.Test/Web/AuthOperation.cs | 12 -
WPFUI.Test/Web/AuthenticationService.cs | 114 ---
WPFUI.Test/Web/DataVO.cs | 16 -
WPFUI.Test/Web/LLMClient.cs | 234 -----
WPFUI.Test/Web/Permission.cs | 12 -
WPFUI.Test/Web/PublicKeyVO.cs | 22 -
WPFUI.Test/Web/RSAHelper.cs | 382 --------
WPFUI.Test/Web/ResponseVO.cs | 29 -
WPFUI.Test/Web/UserInfoVO.cs | 72 --
WebUITest/App.xaml | 16 -
WebUITest/Command.cs | 28 -
WebUITest/Html/index.html | 44 -
WebUITest/MainWindow.xaml | 20 -
WebUITest/Properties/AssemblyInfo.cs | 33 -
WebUITest/WebUITest.csproj | 34 -
WebUITest/WebUIWindow.xaml | 9 -
WebUITest/WebUIWindow.xaml.cs | 142 ---
WebUITest/background.avif | Bin 7533 -> 0 bytes
80 files changed, 1846 insertions(+), 4570 deletions(-)
delete mode 100644 RevitAddin/NuGet.config
delete mode 100644 RevitAddin/Resources/Revit.ico
delete mode 100644 RevitAddin/Revit/App.cs
delete mode 100644 RevitAddin/Revit/Commands/Command.cs
delete mode 100644 RevitAddin/RevitAddin.csproj
delete mode 100644 RevitAddin/bitmono.json
create mode 100644 RevitLess/App.xaml
rename {WebUITest => RevitLess}/App.xaml.cs (93%)
create mode 100644 RevitLess/MainViewModel.cs
create mode 100644 RevitLess/MainWindow.xaml
rename {WebUITest => RevitLess}/MainWindow.xaml.cs (76%)
delete mode 100644 RevitLess/Program.cs
create mode 100644 RevitLess/RevitFileAssist.cs
delete mode 100644 WPFUI.Test/App.config
delete mode 100644 WPFUI.Test/App.xaml
delete mode 100644 WPFUI.Test/App.xaml.cs
delete mode 100644 WPFUI.Test/ChatFunction/ChatDialogue.xaml
delete mode 100644 WPFUI.Test/ChatFunction/ChatDialogue.xaml.cs
delete mode 100644 WPFUI.Test/ChatFunction/ChatDialogueViewModel.cs
delete mode 100644 WPFUI.Test/ChatFunction/ColorCodeBlockRenderer.cs
delete mode 100644 WPFUI.Test/ChatFunction/ColorCodeWpfExtension.cs
delete mode 100644 WPFUI.Test/ChatFunction/CustomChatWindow.xaml
delete mode 100644 WPFUI.Test/ChatFunction/CustomChatWindow.xaml.cs
delete mode 100644 WPFUI.Test/ChatFunction/DeepSeekClient.cs
delete mode 100644 WPFUI.Test/ChatFunction/ExtensionMethods.cs
delete mode 100644 WPFUI.Test/ChatFunction/MarkdownPipelineBuilderExtension.cs
delete mode 100644 WPFUI.Test/ChatFunction/MarkdownStyleRes.xaml
delete mode 100644 WPFUI.Test/ChatFunction/RichTextBoxFormatter.cs
delete mode 100644 WPFUI.Test/ChatFunction/RoleToDisplayConverter.cs
delete mode 100644 WPFUI.Test/GlobalUsings.cs
delete mode 100644 WPFUI.Test/GlobalVariables.cs
delete mode 100644 WPFUI.Test/MainWindow.xaml
delete mode 100644 WPFUI.Test/MainWindow.xaml.cs
delete mode 100644 WPFUI.Test/Properties/AssemblyInfo.cs
delete mode 100644 WPFUI.Test/Properties/Resources.Designer.cs
delete mode 100644 WPFUI.Test/Properties/Resources.resx
delete mode 100644 WPFUI.Test/Properties/Settings.Designer.cs
delete mode 100644 WPFUI.Test/Properties/Settings.settings
delete mode 100644 WPFUI.Test/WPFUI.Test.csproj
delete mode 100644 WPFUI.Test/WPFUI.xaml
delete mode 100644 WPFUI.Test/Web/AuthOperation.cs
delete mode 100644 WPFUI.Test/Web/AuthenticationService.cs
delete mode 100644 WPFUI.Test/Web/DataVO.cs
delete mode 100644 WPFUI.Test/Web/LLMClient.cs
delete mode 100644 WPFUI.Test/Web/Permission.cs
delete mode 100644 WPFUI.Test/Web/PublicKeyVO.cs
delete mode 100644 WPFUI.Test/Web/RSAHelper.cs
delete mode 100644 WPFUI.Test/Web/ResponseVO.cs
delete mode 100644 WPFUI.Test/Web/UserInfoVO.cs
delete mode 100644 WebUITest/App.xaml
delete mode 100644 WebUITest/Command.cs
delete mode 100644 WebUITest/Html/index.html
delete mode 100644 WebUITest/MainWindow.xaml
delete mode 100644 WebUITest/Properties/AssemblyInfo.cs
delete mode 100644 WebUITest/WebUITest.csproj
delete mode 100644 WebUITest/WebUIWindow.xaml
delete mode 100644 WebUITest/WebUIWindow.xaml.cs
delete mode 100644 WebUITest/background.avif
diff --git a/NeoUI/NeoUI/Appearance/ThemeManager.cs b/NeoUI/NeoUI/Appearance/ThemeManager.cs
index f4a9e54..ad1129f 100644
--- a/NeoUI/NeoUI/Appearance/ThemeManager.cs
+++ b/NeoUI/NeoUI/Appearance/ThemeManager.cs
@@ -86,7 +86,7 @@ namespace NeoUI.Appearance
{
foreach (var key in dict.Keys.OfType
或
- var jsTag = $"";
- htmlContent = htmlContent.Replace("", $"{jsTag} 前
- // int bodyEndIndex = htmlContent.IndexOf("");
- // if (bodyEndIndex >= 0)
- // {
- // htmlContent = htmlContent.Insert(bodyEndIndex, jsInjected);
- // }
-
- // return htmlContent;
- //}
-
- private string InjectCssAndJs(string htmlContent, string cssContent, string jsContent)
- {
- // 注入 CSS 到
- var cssTag = $"";
- htmlContent = htmlContent.Replace("", $"{cssTag}");
-
- // 注入 JS 到
");
-
- return htmlContent;
- }
- private string GetEmbeddedResource(string resourceName)
- {
- var assembly = Assembly.GetExecutingAssembly();
- using (Stream stream = assembly.GetManifestResourceStream(resourceName))
- using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
- {
- return reader.ReadToEnd();
- }
- }
-
- private void WebMessageReceived(object sender, CoreWebView2WebMessageReceivedEventArgs e)
- {
- string json = e.WebMessageAsJson;
- dynamic data = Newtonsoft.Json.JsonConvert.DeserializeObject(json);
- string newTag = data.newTag;
- ApplyTagToWalls(newTag);
- }
-
- private void ApplyTagToWalls(string tagValue)
- {
- // 执行墙标记批量修改操作
- Document doc = _uiDoc.Document;
- var walls = new FilteredElementCollector(doc)
- .OfCategory(BuiltInCategory.OST_Walls)
- .WhereElementIsNotElementType()
- .Cast()
- .ToList();
-
- using (Transaction tx = new Transaction(doc, "批量修改墙标记"))
- {
- tx.Start();
- foreach (var wall in walls)
- {
- Parameter p = wall.get_Parameter(BuiltInParameter.ALL_MODEL_MARK);
- if (p != null && !p.IsReadOnly)
- p.Set(tagValue);
- }
- tx.Commit();
- }
-
- MessageBox.Show($"共修改 {walls.Count} 面墙的标记为 '{tagValue}'。", "完成", MessageBoxButton.OK, MessageBoxImage.Information);
- }
- }
-}
diff --git a/WebUITest/background.avif b/WebUITest/background.avif
deleted file mode 100644
index 03283163215288625a22ad6c510e9f7a31d9674f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 7533
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
F^IvS23w8hi