From 77655c9ef5692abf6650a010fac27b7f49839942 Mon Sep 17 00:00:00 2001 From: GG Z <903524121@qq.com> Date: Sun, 27 Oct 2024 00:19:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BF=9D=E6=B8=A9=E5=B1=82?= =?UTF-8?q?=E5=92=8C=E6=95=B4=E7=90=86=E7=AE=A1=E7=BA=BF=E7=9A=84=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=EF=BC=8C=E4=BF=AE=E5=A4=8D=E8=87=AA=E5=8A=A8=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E5=8A=9F=E8=83=BD=E7=AD=89=E4=BF=AE=E5=A4=8D=E5=A4=9A?= =?UTF-8?q?=E4=B8=AAbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/.idea.Sai.RvKits/.idea/vcs.xml | 6 + ConsoleApp/ConsoleApp.csproj | 4 +- ConsoleApp/Program.cs | 108 +++++- RvAddinTest/CorrectSlope.cs | 58 +++ RvAddinTest/FluentWindow.xaml | 78 ++++ RvAddinTest/FluentWindow.xaml.cs | 47 +++ RvAddinTest/GASInstancesCreator.cs | 320 +++++++++++++++ RvAddinTest/InstancesCreator.cs | 89 +++++ RvAddinTest/RvAddinTest.csproj | 9 +- RvAddinTest/TempCmd.cs | 89 +++++ Sai.RvKits.slnx | 79 ++++ Sai.RvKits/App.config | 10 +- .../{CadSharperUtil.cs => DWGAssist.cs} | 76 ++-- .../ModelManager/ModelCheckViewModel.cs | 2 +- Sai.RvKits/Properties/Resources.Designer.cs | 60 +++ Sai.RvKits/Properties/Resources.resx | 18 + Sai.RvKits/Properties/Settings.Designer.cs | 28 +- Sai.RvKits/Properties/Settings.settings | 10 +- Sai.RvKits/Resources/add_insulation_16px.png | Bin 0 -> 353 bytes Sai.RvKits/Resources/add_insulation_32px.png | Bin 0 -> 869 bytes Sai.RvKits/Resources/arrange_mep_16px.png | Bin 0 -> 236 bytes Sai.RvKits/Resources/arrange_mep_32px.png | Bin 0 -> 265 bytes Sai.RvKits/RvCommon/AutoSaveCmd.cs | 24 +- Sai.RvKits/RvCommon/AutoSaveViewModel.cs | 37 +- .../RvCommon/InstanceCreatorViewModel.cs | 2 +- Sai.RvKits/RvCommon/ModifyModelParams.cs | 2 +- Sai.RvKits/RvCommon/PipesCreatorViewModel.cs | 2 +- .../RvFamily/FamilyProcessorViewModel.cs | 2 +- Sai.RvKits/RvFamily/RenameTypeViewModel.cs | 12 +- .../MetroGauges/LandXMLData/ElementModel.cs | 2 +- .../MetroGauges/LandXMLData/SolidCategory.cs | 2 +- .../MetroGauges/LandXMLData/SolidModel.cs | 2 +- .../RvIndependent/NetworkCreator/ExcelData.cs | 8 +- Sai.RvKits/RvMEP/AddInsulationCmd.cs | 18 + Sai.RvKits/RvMEP/AddInsulationView.xaml | 108 ++++++ Sai.RvKits/RvMEP/AddInsulationView.xaml.cs | 25 ++ Sai.RvKits/RvMEP/AddInsulationViewModel.cs | 190 +++++++++ Sai.RvKits/RvMEP/AnyConnectCmd.cs | 2 +- Sai.RvKits/RvMEP/AnyConnectViewModel.cs | 2 +- Sai.RvKits/RvMEP/ArrangeMEPCurveCmd.cs | 12 +- Sai.RvKits/RvMEP/ArrangeMEPCurveView.xaml | 44 +++ Sai.RvKits/RvMEP/ArrangeMEPCurveView.xaml.cs | 25 ++ Sai.RvKits/RvMEP/ArrangeMEPCurveViewModel.cs | 364 ++++++++++++++++++ Sai.RvKits/RvMEP/BloomConnectorCmd.cs | 74 ++-- Sai.RvKits/RvMEP/BreakMEPCurveCmd.cs | 2 +- Sai.RvKits/RvMEP/CableLayoutCmd.cs | 2 +- Sai.RvKits/RvMEP/ClashResolveViewModel.cs | 201 +++++----- Sai.RvKits/RvMEP/CorrectMEPCurveSlopeCmd.cs | 3 + Sai.RvKits/RvMEP/HeadroomCheckCmd.cs | 6 +- Sai.RvKits/RvMEP/InsulationItem.cs | 58 +++ Sai.RvKits/RvMEP/MoveConnectCmd.cs | 345 ++++++++--------- .../RvView/QuickViewSectionViewModel.cs | 65 +++- Sai.RvKits/Sai.RvKits.csproj | 10 +- Sai.RvKits/UIRibbon/RvApp.cs | 60 ++- Sai.RvKits/Variables.cs | 11 +- Sai.RvKits/Windows/MessageViewModel.cs | 2 +- Sai.Toolkit.Core/Heplers/WinDialogHelper.cs | 227 ++++++----- Sai.Toolkit.Mvvm/BindingProxy.cs | 36 +- .../Assist/ImportInstanceAssist.cs | 2 +- Sai.Toolkit.Revit/Assist/SpatialAssist.cs | 19 +- Sai.Toolkit.Revit/Assist/UIAssist.cs | 5 +- Sai.Toolkit.Revit/Assist/ViewAssist.cs | 4 + .../Controls/TreeComboBox/ExtendedTreeView.cs | 247 ++++++++++++ .../Controls/TreeComboBox/TreeComboBox.cs | 155 ++++++++ .../Controls/TreeComboBox/TreeComboBox.xaml | 130 +++++++ WpfApp/MainViewModel.cs | 232 ++++++----- WpfApp/MainWindow.xaml | 18 +- 67 files changed, 3159 insertions(+), 731 deletions(-) create mode 100644 .idea/.idea.Sai.RvKits/.idea/vcs.xml create mode 100644 RvAddinTest/CorrectSlope.cs create mode 100644 RvAddinTest/FluentWindow.xaml create mode 100644 RvAddinTest/FluentWindow.xaml.cs create mode 100644 RvAddinTest/GASInstancesCreator.cs create mode 100644 RvAddinTest/InstancesCreator.cs create mode 100644 RvAddinTest/TempCmd.cs create mode 100644 Sai.RvKits.slnx rename Sai.RvKits/{CadSharperUtil.cs => DWGAssist.cs} (59%) create mode 100644 Sai.RvKits/Resources/add_insulation_16px.png create mode 100644 Sai.RvKits/Resources/add_insulation_32px.png create mode 100644 Sai.RvKits/Resources/arrange_mep_16px.png create mode 100644 Sai.RvKits/Resources/arrange_mep_32px.png create mode 100644 Sai.RvKits/RvMEP/AddInsulationCmd.cs create mode 100644 Sai.RvKits/RvMEP/AddInsulationView.xaml create mode 100644 Sai.RvKits/RvMEP/AddInsulationView.xaml.cs create mode 100644 Sai.RvKits/RvMEP/AddInsulationViewModel.cs create mode 100644 Sai.RvKits/RvMEP/ArrangeMEPCurveView.xaml create mode 100644 Sai.RvKits/RvMEP/ArrangeMEPCurveView.xaml.cs create mode 100644 Sai.RvKits/RvMEP/ArrangeMEPCurveViewModel.cs create mode 100644 Sai.RvKits/RvMEP/InsulationItem.cs create mode 100644 Wpf.Ui.Extend/Controls/TreeComboBox/ExtendedTreeView.cs create mode 100644 Wpf.Ui.Extend/Controls/TreeComboBox/TreeComboBox.cs create mode 100644 Wpf.Ui.Extend/Controls/TreeComboBox/TreeComboBox.xaml diff --git a/.idea/.idea.Sai.RvKits/.idea/vcs.xml b/.idea/.idea.Sai.RvKits/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/.idea.Sai.RvKits/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/ConsoleApp/ConsoleApp.csproj b/ConsoleApp/ConsoleApp.csproj index 21403a2..7aee2c3 100644 --- a/ConsoleApp/ConsoleApp.csproj +++ b/ConsoleApp/ConsoleApp.csproj @@ -1,15 +1,17 @@  - net472 + net48 Exe false + + \ No newline at end of file diff --git a/ConsoleApp/Program.cs b/ConsoleApp/Program.cs index 87dd594..823dc63 100644 --- a/ConsoleApp/Program.cs +++ b/ConsoleApp/Program.cs @@ -1,26 +1,128 @@ using System; using System.Collections.Generic; using System.Diagnostics; +using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; +using ACadSharp.Entities; + using CommunityToolkit.Diagnostics; +using CSMath; + +using OpenAI.Chat; + namespace ConsoleApp { internal class Program { static void Main(string[] args) { - string str = ""; - double a = 10.0; + //TEST(); + + ChatClient client = new ChatClient("gpt-4o", Environment.GetEnvironmentVariable("OPEN_API_KEY")); + ChatCompletion completion = client.CompleteChat("say 'this is a test.'"); + Console.WriteLine($"[ASSISTANT]:{completion.Content[0].Text}"); + } + + private static void TEST() + { + var str = ""; + var a = 10.0; double b = 100; Debug.Assert(a == b); //确保str满足条件才能继续执行,不满足即抛出异常 Guard.IsNotNullOrEmpty(str);//抛出异常 - Guard.IsLessThan(a,b); + Guard.IsLessThan(a, b); + } + + public void ReadCAD() + { + var file = @"D:\Users\Zhanggg\Desktop\Drawing1.dwg"; + var cad = new ACadSharp.IO.DwgReader(file).Read(); + var polylines = cad.Entities.OfType().Where(l => l.Layer.Name == "RQ"); + var sizes = cad.Entities.OfType().Where(t => t.Layer.Name == "RQ"); + var entities = cad.Entities.OfType().Where(i => i.Layer.Name == "0" || i.Layer.Name == "RQ" || i.Layer.Name == "GAS" || i.Layer.Name == "燃具"); + var sb = new StringBuilder(); + sb.AppendLine("多段线"); + foreach (var line in polylines) + { + var first = line.Vertices.First(); + var last = line.Vertices.Last(); + sb.AppendLine($"起点:{first.Location};终点:{last.Location}"); + } + foreach (var insert in entities) + { + if (insert.Block.Name == "立管0") + { + var temp = double.MaxValue; + string t = default; + foreach (var item in sizes) + { + var current = item.InsertPoint.DistanceFrom(insert.InsertPoint); + if (current < temp) + { + temp = current; + t = item.Value; + } + } + } + //盲板 + else if (insert.Block.Name == "盲板") + { + + } + //旋塞阀 + else if (insert.Block.Name.Contains("旋塞")) + { + + } + //商业预留,法兰球阀 + else if (insert.Block.Name.Contains("法兰球阀")) + { + + } + //锁闭型螺纹铜球阀 + else if (insert.Block.Name.Contains("户内阀")) + { + + } + //燃气表 + else if (insert.Block.Name == "计量表") + { + + } + //自闭阀 + else if (insert.Block.Name == "自闭阀") + { + + } + //热水器 + else if (insert.Block.Name == "RSQ") + { + + } + //燃气灶 + else if (insert.Block.Name == "燃气灶") + { + + } + //球阀+丝堵 + else if (insert.Block.Name.Contains("丝堵")) + { + + } + + sb.AppendLine($"图层名:{insert.Layer.Name};图块名:{insert.Block.Name};插入点:{insert.InsertPoint}"); + } + File.WriteAllText(@"D:\Users\Zhanggg\Desktop\Drawing1.dwg" + ".txt", sb.ToString(), Encoding.UTF8); + //foreach (var insert in entities) + //{ + // var blocks = insert.Block.Entities.OfType().Where(d=>d.Text.Contains("52D")); + //} } } } diff --git a/RvAddinTest/CorrectSlope.cs b/RvAddinTest/CorrectSlope.cs new file mode 100644 index 0000000..3e3c8f3 --- /dev/null +++ b/RvAddinTest/CorrectSlope.cs @@ -0,0 +1,58 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +using Autodesk.Revit.Attributes; +using Autodesk.Revit.DB; + +using Nice3point.Revit.Toolkit.External; +using Nice3point.Revit.Toolkit.Utils; + +using Sai.Toolkit.Revit.Assist; + +namespace RvAddinTest; +[Transaction(TransactionMode.Manual)] +[Regeneration(RegenerationOption.Manual)] +internal class CorrectSlope : ExternalCommand +{ + public override void Execute() + { + var ids = UiDocument.Selection.GetElementIds(); + Document.Modify( + set => set.Transaction).Commit((doc, t) => + { + foreach (var id in ids) + { + var elem = Document.GetElement(id); + if (elem is MEPCurve mep) + { + var loc = mep.GetLocCurve() as Line; + var x = loc.Direction.X; + var y = loc.Direction.Y; + var z = loc.Direction.Z; + if (Math.Abs(loc.Direction.X) > 0 && Math.Abs(loc.Direction.X) < 10E-5) + { + x = 0; + } + if (Math.Abs(loc.Direction.Y) > 0 && Math.Abs(loc.Direction.Y) < 10E-5) + { + y = 0; + } + if (Math.Abs(loc.Direction.Z) > 0 && Math.Abs(loc.Direction.Z) < 10E-5) + { + z = 0; + } + + var dir = new XYZ(x, y, z); + var endPoint = loc.Origin + dir * loc.Length; + var li = Line.CreateBound(loc.Origin, endPoint); + var locx = mep.GetLocationCurve(); + locx.Curve = li; + } + } + }); + + } +} diff --git a/RvAddinTest/FluentWindow.xaml b/RvAddinTest/FluentWindow.xaml new file mode 100644 index 0000000..934d29d --- /dev/null +++ b/RvAddinTest/FluentWindow.xaml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + +