From 96e0f13f2ab51d8b4b641eaa8d7d41aa5108d2d7 Mon Sep 17 00:00:00 2001 From: KozlovPS Date: Mon, 8 Jun 2026 10:49:58 +0300 Subject: [PATCH 1/2] =?UTF-8?q?RevitRoundingOfAreas:=20=D0=98=D1=81=D0=BF?= =?UTF-8?q?=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BE=D1=88?= =?UTF-8?q?=D0=B8=D0=B1=D0=BA=D0=B8=20=D0=BF=D0=BE=D0=BB=D1=83=D1=87=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=20=D0=B4=D0=BB=D1=8F=20=D0=B7=D0=B0=D0=BF?= =?UTF-8?q?=D0=B8=D1=81=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ViewModels/MainViewModel.cs | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/RevitRoundingOfAreas/ViewModels/MainViewModel.cs b/src/RevitRoundingOfAreas/ViewModels/MainViewModel.cs index 12c9c8d05..1a80fe82f 100644 --- a/src/RevitRoundingOfAreas/ViewModels/MainViewModel.cs +++ b/src/RevitRoundingOfAreas/ViewModels/MainViewModel.cs @@ -133,15 +133,17 @@ private IEnumerable GetSourceParamViewModels() { // Метод получения коллекции ParamViewModel для TargetParams private IEnumerable GetTargetParamViewModels() { + var spatialElements = _revitRepository.GetAllSpatialElements().ToList(); + return _paramService.AllRevitParams .Where(revitParam => { - var spatialElements = _revitRepository.GetAllSpatialElements(); - var randomSpatialElement = spatialElements.FirstOrDefault(); - if(randomSpatialElement is null) { - return false; - } - var param = revitParam.GetParam(randomSpatialElement); - return !param.IsReadOnly; + if (!spatialElements.Any()) + return true; + + return spatialElements.All(spatialElement => { + var param = revitParam.GetParam(spatialElement); + return param != null && !param.IsReadOnly; + }); }) .Select(param => new ParamViewModel { Name = param.Name, From e992822f556017cbf540da7e3f62601e8a1f368d Mon Sep 17 00:00:00 2001 From: KozlovPS Date: Tue, 9 Jun 2026 12:39:49 +0300 Subject: [PATCH 2/2] =?UTF-8?q?RevitRoundingOfAreas:=20=D0=98=D1=81=D0=BF?= =?UTF-8?q?=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=20=D0=BC=D0=B5=D1=82=D0=BE?= =?UTF-8?q?=D0=B4=20=D0=B1=D0=B5=D0=B7=D0=BE=D0=BF=D0=B0=D1=81=D0=BD=D0=BE?= =?UTF-8?q?=D0=B3=D0=BE=20=D0=BF=D0=BE=D0=BB=D1=83=D1=87=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ViewModels/MainViewModel.cs | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/RevitRoundingOfAreas/ViewModels/MainViewModel.cs b/src/RevitRoundingOfAreas/ViewModels/MainViewModel.cs index 1a80fe82f..94d52db38 100644 --- a/src/RevitRoundingOfAreas/ViewModels/MainViewModel.cs +++ b/src/RevitRoundingOfAreas/ViewModels/MainViewModel.cs @@ -6,6 +6,7 @@ using Autodesk.Revit.DB; +using dosymep.Bim4Everyone; using dosymep.Revit; using dosymep.SimpleServices; using dosymep.WPF.Commands; @@ -140,16 +141,25 @@ private IEnumerable GetTargetParamViewModels() { if (!spatialElements.Any()) return true; - return spatialElements.All(spatialElement => { - var param = revitParam.GetParam(spatialElement); - return param != null && !param.IsReadOnly; - }); + return spatialElements.All(spatialElement => + TryGetParam(revitParam, spatialElement, out var param) && !param.IsReadOnly); }) .Select(param => new ParamViewModel { Name = param.Name, RevitParam = param }); } + + // Метод получения параметра по RevitParam и Element + private static bool TryGetParam(RevitParam revitParam, Element element, out Parameter param) { + try { + param = revitParam.GetParam(element); + return param != null; + } catch { + param = null; + return false; + } + } // Метод получения коллекции PhaseViewModel для Phases private IEnumerable GetPhaseViewModels() {