BHoM / BHoM

The Buildings and Habitats Core object Model repo
https://bhom.xyz
GNU Lesser General Public License v3.0
224 stars 46 forks source link

MEP_oM: Organisation of MEP Namespaces #1041

Closed kayleighhoude closed 3 years ago

kayleighhoude commented 3 years ago

Description:

image

The above should make room for all existing objects within the MEP oM and make room for those that we will be adding in the future

@tiagogrossi @michaelhoehn @FraserGreenroyd @TheresaBrown curious to hear your thoughts before this is actioned

This includes the removal of Node (to be replaced by Geometry oM Point)

michaelhoehn commented 3 years ago

Providing a detailed outline of the proposed namespaces for the MEP_oM below. After having gone through these a bit I think it's worth another discussion regarding the implementation of the MaterialFragments classes. Makes more sense to me to have a more generic ElementMaterial to eliminate redundancies as there are many more objects that will also need material properties in the future (e.g. fittings, dampers, valves, etc.).

Another point regarding Systems in general. We currently have a prototype MechanicalSystem object and an eventual ElectricalSystem object. Where did you envision these sitting @kayleighhoude? Seems with the proposed, there could be some confusion between the System.Duct and System.MechanicalSystem when used in the same workflow. Possibly solved with something like System.Components.Duct?

Anyway, glad to see these getting a bit more organised and happy to implement what is decided by the larger group. 😄

Equipment
BH.oM.MEP.Equipment.AirHandlingUnit
BH.oM.MEP.Equipment.VariableAirVolumeBox
BH.oM.MEP.Equipment.ElectricalPanel
BH.oM.MEP.Equipment.Generator
BH.oM.MEP.Equipment.FirePump
Equipment.Parts
BH.oM.MEP.Equipment.Parts.CoolingCoil
BH.oM.MEP.Equipment.Parts.Fan
BH.oM.MEP.Equipment.Parts.HeatingCoil
BH.oM.MEP.Equipment.Parts.EnergyWheel
BH.oM.MEP.Equipment.Parts.ElectricalConnector
System
BH.oM.MEP.System.Duct
BH.oM.MEP.System.Pipe
BH.oM.MEP.System.Wire
BH.oM.MEP.System.CableTray
System.Fittings
BH.oM.MEP.System.Fittings.Elbow
BH.oM.MEP.System.Fittings.Cross
BH.oM.MEP.System.Fittings.Tee
BH.oM.MEP.System.Fittings.Tap
System.Dampers
BH.oM.MEP.System.Dampers.FireDamper
BH.oM.MEP.System.Dampers.VolumeDamper
BH.oM.MEP.System.Dampers.BalancingDamper
System.Valves
BH.oM.MEP.System.Valves.GateValve
BH.oM.MEP.System.Valves.GlobeValve
System.SectionProperties
BH.oM.MEP.System.SectionProperties
System.MaterialFragments
BH.oM.MEP.System.MaterialFragments.ElementMaterial
BH.oM.MEP.System.MaterialFragments.InsulationMaterial
BH.oM.MEP.System.MaterialFragments.LiningMaterial
Enums
BH.oM.MEP.Enums.DuctSystemTypes
BH.oM.MEP.Enums.PipeSystemTypes
Fixtures
BH.oM.MEP.Fixtures.AirTerminal
BH.oM.MEP.Fixtures.LightFixture
BH.oM.MEP.Fixtures.PlumbingFixture
BH.oM.MEP.Fixtures.Socket
BH.oM.MEP.Fixtures.Sprinkler
BH.oM.MEP.Fixtures.Socket
BH.oM.MEP.Fixtures.Switches
tiagogrossi commented 3 years ago

Looks nice, I think I also prefer the classification of Systems like you showed there :)

FraserGreenroyd commented 3 years ago

On quick inspection (juggling a lot today, so happy to do a more detailed discussion next week) but I'm against DuctMaterial and PipeMaterial as object names, and I would like us to consider how the materials for MEP can fit within the framework developed up as part of the Physical Construction objects and align with the Environments namespace were possible, probably using interfaces to group things, etc.

Otherwise, this diagram looks good, and if we implement it I would enjoy seeing it on the wiki alongside the Environments diagram :smile:

michaelhoehn commented 3 years ago

Per conversation today, if everyone is happy we will move forward with the proposed namespaces in the drop-downs. Work will commence with the closing of https://github.com/BHoM/BHoM/pull/1045 - merged

michaelhoehn commented 3 years ago

Adding a note that this issue should also be resolved prior to Namespace changing as it's dealing with a couple of methods being migrated from other toolkits. https://github.com/BHoM/BHoM/pull/1059 - merged