diff --git a/doc/testFile/HVACSystemWorkflow.gh b/doc/testFile/HVACSystemWorkflow.gh index 383f6fed..8a6d35a3 100644 Binary files a/doc/testFile/HVACSystemWorkflow.gh and b/doc/testFile/HVACSystemWorkflow.gh differ diff --git a/src/Ironbug.Grasshopper/Component/Ironbug/Ironbug_AirLoopHVAC.cs b/src/Ironbug.Grasshopper/Component/Ironbug/Ironbug_AirLoopHVAC.cs index 2f57ac56..a02a2249 100644 --- a/src/Ironbug.Grasshopper/Component/Ironbug/Ironbug_AirLoopHVAC.cs +++ b/src/Ironbug.Grasshopper/Component/Ironbug/Ironbug_AirLoopHVAC.cs @@ -48,7 +48,7 @@ protected override void SolveInstance(IGH_DataAccess DA) var supplyPathCount = this.Params.Input[0].VolatileData.PathCount; var demandPathCount = this.Params.Input[1].VolatileData.PathCount; var dualLoopObjs = supplyComs.Where(_ => _ is HVAC.IIB_DualLoopObj); - if (supplyPathCount != demandPathCount & dualLoopObjs.Any()) + if (supplyPathCount < demandPathCount & dualLoopObjs.Any()) { AddRuntimeMessage(GH_RuntimeMessageLevel.Error, $"Dual loop object [{dualLoopObjs.First().GetType().Name}] in supply side cannot be auto-duplicated. \nIt is because the data structure of supply side doesn't match demand side's. \nPlease use Ironbug_duplicate to duplicate {demandPathCount} objects, and match demand input's data structure."); return; diff --git a/src/Ironbug.Grasshopper/Component/Ironbug/Ironbug_PlantLoop.cs b/src/Ironbug.Grasshopper/Component/Ironbug/Ironbug_PlantLoop.cs index 12168a95..e14c7ae0 100644 --- a/src/Ironbug.Grasshopper/Component/Ironbug/Ironbug_PlantLoop.cs +++ b/src/Ironbug.Grasshopper/Component/Ironbug/Ironbug_PlantLoop.cs @@ -44,15 +44,6 @@ protected override void SolveInstance(IGH_DataAccess DA) DA.GetDataList(1, demandComs); DA.GetData(2, ref sizing); - //check if there is a dual loop object that cannot be duplicated. - var supplyPathCount = this.Params.Input[0].VolatileData.PathCount; - var demandPathCount = this.Params.Input[1].VolatileData.PathCount; - var dualLoopObjs = supplyComs.Where(_ => _ is HVAC.IIB_DualLoopObj); - if (supplyPathCount != demandPathCount & dualLoopObjs.Any()) - { - AddRuntimeMessage(GH_RuntimeMessageLevel.Error, $"Dual loop object [{dualLoopObjs.First().GetType().Name}] in supply side cannot be auto-duplicated. \nIt is because the data structure of supply side doesn't match demand side's. \nPlease use Ironbug_duplicate to duplicate {demandPathCount} objects, and match demand input's data structure."); - return; - } var plant = new HVAC.IB_PlantLoop(); foreach (var item in supplyComs) diff --git a/src/Ironbug.Grasshopper/Component/Ironbug/Ironbug_PlantLoop_CW.cs b/src/Ironbug.Grasshopper/Component/Ironbug/Ironbug_PlantLoop_CW.cs index fcbf4edf..8e3bb6f1 100644 --- a/src/Ironbug.Grasshopper/Component/Ironbug/Ironbug_PlantLoop_CW.cs +++ b/src/Ironbug.Grasshopper/Component/Ironbug/Ironbug_PlantLoop_CW.cs @@ -47,15 +47,6 @@ protected override void SolveInstance(IGH_DataAccess DA) DA.GetDataList(1, demandComs); DA.GetData(2, ref sizing); - //check if there is a dual loop object that cannot be duplicated. - var supplyPathCount = this.Params.Input[0].VolatileData.PathCount; - var demandPathCount = this.Params.Input[1].VolatileData.PathCount; - var dualLoopObjs = supplyComs.Where(_ => _ is HVAC.IIB_DualLoopObj); - if (supplyPathCount != demandPathCount & dualLoopObjs.Any()) - { - AddRuntimeMessage(GH_RuntimeMessageLevel.Error, $"Dual loop object [{dualLoopObjs.First().GetType().Name}] in supply side cannot be auto-duplicated. \nIt is because the data structure of supply side doesn't match demand side's. \nPlease use Ironbug_duplicate to duplicate {demandPathCount} objects, and match demand input's data structure."); - return; - } var plant = new HVAC.IB_PlantLoop(); var plantFields = HVAC.IB_PlantLoop_FieldSet.Value; diff --git a/src/Ironbug.Grasshopper/Component/Ironbug/Ironbug_PlantLoop_DW.cs b/src/Ironbug.Grasshopper/Component/Ironbug/Ironbug_PlantLoop_DW.cs index a134909f..c912cb8a 100644 --- a/src/Ironbug.Grasshopper/Component/Ironbug/Ironbug_PlantLoop_DW.cs +++ b/src/Ironbug.Grasshopper/Component/Ironbug/Ironbug_PlantLoop_DW.cs @@ -45,15 +45,6 @@ protected override void SolveInstance(IGH_DataAccess DA) DA.GetDataList(1, demandComs); DA.GetData(2, ref sizing); - //check if there is a dual loop object that cannot be duplicated. - var supplyPathCount = this.Params.Input[0].VolatileData.PathCount; - var demandPathCount = this.Params.Input[1].VolatileData.PathCount; - var dualLoopObjs = supplyComs.Where(_ => _ is HVAC.IIB_DualLoopObj); - if (supplyPathCount != demandPathCount & dualLoopObjs.Any()) - { - AddRuntimeMessage(GH_RuntimeMessageLevel.Error, $"Dual loop object [{dualLoopObjs.First().GetType().Name}] in supply side cannot be auto-duplicated. \nIt is because the data structure of supply side doesn't match demand side's. \nPlease use Ironbug_duplicate to duplicate {demandPathCount} objects, and match demand input's data structure."); - return; - } var plant = new HVAC.IB_PlantLoop(); var plantFields = HVAC.IB_PlantLoop_FieldSet.Value; diff --git a/src/Ironbug.Grasshopper/Component/Ironbug/Ironbug_PlantLoop_HW.cs b/src/Ironbug.Grasshopper/Component/Ironbug/Ironbug_PlantLoop_HW.cs index 1a7f596d..4b18c96c 100644 --- a/src/Ironbug.Grasshopper/Component/Ironbug/Ironbug_PlantLoop_HW.cs +++ b/src/Ironbug.Grasshopper/Component/Ironbug/Ironbug_PlantLoop_HW.cs @@ -46,15 +46,6 @@ protected override void SolveInstance(IGH_DataAccess DA) DA.GetDataList(1, demandComs); DA.GetData(2, ref sizing); - //check if there is a dual loop object that cannot be duplicated. - var supplyPathCount = this.Params.Input[0].VolatileData.PathCount; - var demandPathCount = this.Params.Input[1].VolatileData.PathCount; - var dualLoopObjs = supplyComs.Where(_ => _ is HVAC.IIB_DualLoopObj); - if (supplyPathCount != demandPathCount & dualLoopObjs.Any()) - { - AddRuntimeMessage(GH_RuntimeMessageLevel.Error, $"Dual loop object [{dualLoopObjs.First().GetType().Name}] in supply side cannot be auto-duplicated. \nIt is because the data structure of supply side doesn't match demand side's. \nPlease use Ironbug_duplicate to duplicate {demandPathCount} objects, and match demand input's data structure."); - return; - } var plant = new HVAC.IB_PlantLoop(); var plantFields = HVAC.IB_PlantLoop_FieldSet.Value;