2025-04-24 20:56:44 +08:00
|
|
|
|
using System.ComponentModel.DataAnnotations;
|
2024-10-27 00:19:48 +08:00
|
|
|
|
using Autodesk.Revit.DB.Mechanical;
|
|
|
|
|
|
using Autodesk.Revit.DB.Plumbing;
|
|
|
|
|
|
using CommunityToolkit.Mvvm.ComponentModel;
|
2025-04-24 20:56:10 +08:00
|
|
|
|
using ShrlAlgoToolkit.Mvvm.Attributes;
|
2024-10-27 00:19:48 +08:00
|
|
|
|
|
2025-04-24 20:56:44 +08:00
|
|
|
|
namespace ShrlAlgoToolkit.RevitAddins.RvMEP;
|
2024-10-27 00:19:48 +08:00
|
|
|
|
public partial class InsulationItem : ObservableValidator
|
|
|
|
|
|
{
|
|
|
|
|
|
[GreaterThan(nameof(MinDiameter))]
|
|
|
|
|
|
[Range(15, 1000)]
|
|
|
|
|
|
public double MaxDiameter
|
|
|
|
|
|
{
|
|
|
|
|
|
get => maxDiameter;
|
|
|
|
|
|
set
|
|
|
|
|
|
{
|
|
|
|
|
|
SetProperty(ref maxDiameter, value, true);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private double maxDiameter;
|
|
|
|
|
|
|
|
|
|
|
|
[Range(0, 1000)]
|
|
|
|
|
|
public double MinDiameter
|
|
|
|
|
|
{
|
|
|
|
|
|
get => minDiameter;
|
|
|
|
|
|
set
|
|
|
|
|
|
{
|
|
|
|
|
|
SetProperty(ref minDiameter, value, true);
|
|
|
|
|
|
ValidateProperty(MaxDiameter, nameof(MaxDiameter));
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
private double minDiameter;
|
|
|
|
|
|
|
|
|
|
|
|
[Required]
|
|
|
|
|
|
[Range(10, 1000)]
|
2024-12-22 10:26:12 +08:00
|
|
|
|
[NotifyDataErrorInfo]
|
|
|
|
|
|
[ObservableProperty]
|
2024-10-27 00:19:48 +08:00
|
|
|
|
private double thickness;
|
2024-12-22 10:26:12 +08:00
|
|
|
|
//{
|
|
|
|
|
|
// get => thickness;
|
|
|
|
|
|
// set => SetProperty(ref thickness, value, true);
|
|
|
|
|
|
//}
|
|
|
|
|
|
//private double thickness;
|
2024-10-27 00:19:48 +08:00
|
|
|
|
|
|
|
|
|
|
[ObservableProperty]
|
|
|
|
|
|
private PipeInsulationType pipeInsulationType;
|
|
|
|
|
|
[ObservableProperty]
|
|
|
|
|
|
private DuctInsulationType ductInsulationType;
|
|
|
|
|
|
}
|