1. 30 May, 2017 1 commit
  2. 12 May, 2017 1 commit
  3. 23 Sep, 2016 1 commit
  4. 20 Sep, 2016 1 commit
  5. 07 Sep, 2016 1 commit
    • Sebastian Ebertshäuser's avatar
      optimized code · ed723d43
      Sebastian Ebertshäuser authored
      NOTE: added support to generate element in controller with reference to connected component (boiler etc.) with following mapping entry (sample for boiler):
      AssignedToFlowElement;"";"1:1";"IfcBoiler.PSim_Controller";"SimController.simcore:AssignedToFlowElement“;
      ed723d43
  6. 02 Sep, 2016 1 commit
    • Sebastian Ebertshäuser's avatar
      Release KIT EnEff-BIM Converter v.0.9 · deaac9c7
      Sebastian Ebertshäuser authored
      finalized implementation of IfcComplexProperty convertion (as used for the curve object transformation)
      NOTE following issues have to be straightened out in ReqCap in order to have a correct CSV for the further developed convertion logic:
      
      1) FEHLER IN CSV GEFUNDEN (valve trigger muss folgendes prefix in der SimModel Spalte haben):
      KindOfController;"";"";"IfcValve.PSim_Controller.GlobalId";"SimFlowPlant.simmep:SimController_SupplyWater_Temperature“;
      
      2) Trigger für Boiler Curve ( CurveTricker;"";"";"IfcBoiler.Pset_BoilerTypeCommon.GlobalId";"SimFlowPlant_NrmlizedBoilerEffCurveName“;) scheint falsch, sollte heissen (?):
      KindOfCurve;"";"1:1";"IfcBoiler.Pset_BoilerTypeCommon.PartialLoadEfficiencyCurves.GlobalId";"SimFlowPlant.simgeom:SimPerformanceCurve_Mathematical_Quadratic";
      
      3) KORRIGIERTE CURVE MAPPINGS DES BOILERS
      (Struktur der SimModel Spalte : " <Objektname> . <Namesnsraum> : <ElementName> ", bitte auch Element Namen überprüfen, m.E. müsste gleich Objekt „simgeom:SimPerformanceCurve_Mathematical_Quadratic“ sein ?!)
      
          WaterBoiler;"";"1:1,IfcBoiler.PredefinedType.WATER";"IfcBoiler";"SimFlowPlant_Boiler_BoilerHotWater";
              Properties for Boiler;"";"";"-";“";
                  Curve A0;"";"1:1";"IfcBoiler.Pset_BoilerTypeCommon.PartialLoadEfficiencyCurves.Coeff_A0";"SimPerformanceCurve_Mathematical_Quadratic.simgeom:SimPerfCurve_Coef1Constant";
                  Curve A1;"";"1:1";"IfcBoiler.Pset_BoilerTypeCommon.PartialLoadEfficiencyCurves.Coeff_A1";"SimPerformanceCurve_Mathematical_Quadratic.simgeom:SimPerfCurve_Coef_2_X";
                  Curve A2;"";"1:1";"IfcBoiler.Pset_BoilerTypeCommon.PartialLoadEfficiencyCurves.Coeff_A2";"SimPerformanceCurve_Mathematical_Quadratic.simgeom:SimPerfCurve_Coef_3_X_2";
                  Curve A3;"";"1:1";"IfcBoiler.Pset_BoilerTypeCommon.PartialLoadEfficiencyCurves.Coeff_A3";"SimPerformanceCurve_Mathematical_Quadratic.simgeom:SimPerfCurve_Coef_4_Y";
                  Curve A4;"";"1:1";"IfcBoiler.Pset_BoilerTypeCommon.PartialLoadEfficiencyCurves.Coeff_A4";"SimPerformanceCurve_Mathematical_Quadratic.simgeom:SimPerfCurve_Coeff5_Y_2";
                  Curve A5;"";"1:1";"IfcBoiler.Pset_BoilerTypeCommon.PartialLoadEfficiencyCurves.Coeff_A5";"SimPerformanceCurve_Mathematical_Quadratic.simgeom:SimPerfCurve_Coeff6_X_y";
                  Curve A6;"";"1:1";"IfcBoiler.Pset_BoilerTypeCommon.PartialLoadEfficiencyCurves.Coeff_A6";"SimPerformanceCurve_Mathematical_Quadratic.simgeom:SimPerfCurve_Coeff7_X_3";
                  Curve A7;"";"1:1";"IfcBoiler.Pset_BoilerTypeCommon.PartialLoadEfficiencyCurves.Coeff_A7";"SimPerformanceCurve_Mathematical_Quadratic.simgeom:SimPerfCurve_Coeff8_Y_3";
                  Curve A8;"";"1:1";"IfcBoiler.Pset_BoilerTypeCommon.PartialLoadEfficiencyCurves.Coeff_A8";"SimPerformanceCurve_Mathematical_Quadratic.simgeom:SimPerfCurve_Coeff9_X_2_Y";
                  Curve A9;"";"1:1";"IfcBoiler.Pset_BoilerTypeCommon.PartialLoadEfficiencyCurves.Coeff_A9";"SimPerformanceCurve_Mathematical_Quadratic.simgeom:SimPerfCurve_Coeff10_X_y_2";
                  Curve Maximum Output;"";"1:1";"IfcBoiler.Pset_BoilerTypeCommon.PartialLoadEfficiencyCurves.MaximumOutput";"SimFlowPlant_NrmlizedBoilerEffCurveName.simgeom:SimPerfCurve_MaxCurveOutput";
                  Curve Maximum X;"";"1:1";"IfcBoiler.Pset_BoilerTypeCommon.PartialLoadEfficiencyCurves.MaximumX";"SimPerformanceCurve_Mathematical_Quadratic.simgeom:SimPerfCurve_MaxValX";
                  Curve Maximum Y;"";"1:1";"IfcBoiler.Pset_BoilerTypeCommon.PartialLoadEfficiencyCurves.MaximumY";"SimPerformanceCurve_Mathematical_Quadratic.simgeom:SimPerfCurve_MaxValY";
                  Curve Miminum Output;"";"1:1";"IfcBoiler.Pset_BoilerTypeCommon.PartialLoadEfficiencyCurves.MinimumOutput";"SimPerformanceCurve_Mathematical_Quadratic.simgeom:SimPerfCurve_MinCurveOutput";
                  Curve Minimum X;"";"1:1";"IfcBoiler.Pset_BoilerTypeCommon.PartialLoadEfficiencyCurves.MinimumX";"SimPerformanceCurve_Mathematical_Quadratic.simgeom:SimPerfCurve_MinValX";
                  Curve Minimum Y;"";"1:1";"IfcBoiler.Pset_BoilerTypeCommon.PartialLoadEfficiencyCurves.MinimumY";"SimPerformanceCurve_Mathematical_Quadratic.simgeom:SimPerfCurve_MinValY";
      
      4) Referenz auf Sim Curve Objekt muss heissen:
                 Boiler Curve Reference;"Note: this element to the boiler object is generated if a curve property (Ifc_ComplexProperty ) is present in ifc model.";"1:1";"IfcBoiler.Pset_BoilerTypeCommon.PartialLoadEfficiencyCurves";"SimFlowPlant.simmep:SimFlowPlant_NrmlizedBoilerEffCurveName“;
      deaac9c7
  7. 17 Aug, 2016 1 commit
  8. 15 Aug, 2016 1 commit
  9. 11 Aug, 2016 2 commits
  10. 09 Aug, 2016 1 commit
    • Sebastian Ebertshäuser's avatar
      further developed converter. Note: manually added sample values to CSV (ReqCap output). · 7ef30bca
      Sebastian Ebertshäuser authored
      1) added support for static generation of simmodel elements (from entry in mapping table), see sample manually added to CSV:
      	SimModelType;"";"Value:Boiler";"IfcBoiler.###.###.Boiler";"SimFlowPlant.simcore:SimModelType";
      
      2) in order to generate a controller connected to a hvac component following entry has ro be added to the components mapping entries (sample for controller of boiler):
      	KindOfController;"";"";"IfcBoiler.PSim_Controller.GlobalId";"SimFlowPlant.simmep:SimController_SupplyWater_Temperature";
      7ef30bca
  11. 01 Aug, 2016 3 commits
  12. 25 Jul, 2016 1 commit
    • Sebastian Ebertshäuser's avatar
      EnEff-BIM converter release 0.5 · ecc281b3
      Sebastian Ebertshäuser authored
      now supports nested time series in IfcPropertyReference.
      Note: only implementation ready, the mapping entries need to be specified:
      
      INLINE COMMENTS ON NEEDED ENTRIES (AND IMPLEMENTED „CODE BEHIND“ – CB) – EACH INLINE ADDED HYPHEN CORRESPONDS TO ONE NEEDED ENTRY
      WITH THESE TO BE ADDED TO REQCAP SPECIFICATIONS (FOR ONE OF TWO POSSIBLE CASES - YEAR or DAY) THREE SIMMODEL ELEMENTS ARE GENERATED.
      
      NOTE: in order to distinguish the two following generally supported time series mapping cases we evaluate the „TimeStep“ field value of the IFC object.
      need to this for all following mapping table entries by adding one of the two possible terms in the „MappingType“ CSV column:
      - case of year (code behind: value >= 31536000): IfcRegularTimeSeries.###.###.TimeStep.31536000
      - case of day (code behind: value <= 3600): IfcRegularTimeSeries.###.###.TimeStep. 3600
      
      1 - SimXML)
      
      <SimTimeSeriesSchedule_Year_Default RefId="ID26351“>
      
      -
      RegularTimeSeries_1;"";"IfcRegularTimeSeries.###.###.TimeStep.31536000";"IfcRegularTimeSeries";"SimTimeSeriesSchedule_Year_Default";
      
            <simcore:SimUniqueID>4c2ca483-7fd1-4a09-be78-025ebe317d4e</simcore:SimUniqueID>
      
      - CB_1 (due to missing GlobalId on IFC time series object): use "IfcRegularTimeSeries.###.###.CB“ in the IFC column, it returns the unique id of the current element. then in order to add further specification, e.g. the reference id of the week element add the targets specific prefix („_prv02_“) separated by a dot at the end of the term: "IfcRegularTimeSeries.###.###.CB_1.ID_prv02_“. NOTE: returns static prefixed GlobalId value from the IFC component that is connected to the time series object, in order to distinguish multiple occurrences.
      <simcore:SimModelType>Year</simcore:SimModelType>
      
      - CB2: for all the static values you can add the exact value behind the last item in the IFC column, e.g. (…);"IfcRegularTimeSeries.###.###.Year“; "SimTimeSeriesSchedule_Year_Default .simcore:SimModelSubtype“
              Type;"";"IfcRegularTimeSeries.###.###.TimeStep.31536000";"IfcRegularTimeSeries.###.###.Year";"SimTimeSeriesSchedule_Year_Default.simcore:SimModelType";
                    <simcore:SimModelSubtype>Default</simcore:SimModelSubtype>
      
      - same as CB2
              <simcore:SimModelName>RotationSpeed</simcore:SimModelName>
      
      -
       Name;"";"IfcRegularTimeSeries.###.###.TimeStep.31536000";"IfcRegularTimeSeries.###.###.Name";"SimTimeSeriesSchedule_Year_Default.simres:SimTimeSeriesSched_Name";
      
              <simres:SimTimeSeriesSched_Sched_WeekName_1_53>ID26353</simres:SimTimeSeriesSched_Sched_WeekName_1_53>
      
      - NEW: ADD static value (prefix to common id see CB1):
       LinkToWeek;"";"IfcRegularTimeSeries.###.###.TimeStep.31536000";"IfcRegularTimeSeries.###.###.CB_1.ID_prv02_";"SimTimeSeriesSchedule_Year_Default.simres:SimTimeSeriesSched_Sched_WeekName_1_53";
      
              <simres:SimTimeSeriesSched_StartMonth_1_53>1</simres:SimTimeSeriesSched_StartMonth_1_53>
      
      CB_3: (provide xslt function for string operation; substring(<nameOfField>,<startIndex>,<howmanyCharacters>), sample entry:  StartMonth;"";"IfcRegularTimeSeries.###.###.TimeStep.31536000";"IfcRegularTimeSeries.###.###.substring(StartTime,6,2)";"SimTimeSeriesSchedule_Year_Default.simres:SimTimeSeriesSched_StartMonth_1_53";
      
              <simres:SimTimeSeriesSched_StartDay_1_53>1</simres:SimTimeSeriesSched_StartDay_1_53>
      
      	- CB_3: StartDay;"";"IfcRegularTimeSeries.###.###.TimeStep.31536000";"IfcRegularTimeSeries.###.###.substring(StartTime,9,2)";"SimTimeSeriesSchedule_Year_Default.simres:SimTimeSeriesSched_StartDay_1_53";
      
              <simres:SimTimeSeriesSched_EndMonth_1_53>12</simres:SimTimeSeriesSched_EndMonth_1_53>
      
      	- CB_3: EndMonth;"";"IfcRegularTimeSeries.###.###.TimeStep.31536000";"IfcRegularTimeSeries.###.###.substring(EndTime,6,2)";"SimTimeSeriesSchedule_Year_Default.simres:SimTimeSeriesSched_EndMonth_1_53"
      
                      <simres:SimTimeSeriesSched_EndDay_1_53>31</simres:SimTimeSeriesSched_EndDay_1_53>
      
      	- CB_3: EndDay;"";"IfcRegularTimeSeries.###.###.TimeStep.31536000";"IfcRegularTimeSeries.###.###.substring(EndTime,9,2)";"SimTimeSeriesSchedule_Year_Default.simres:SimTimeSeriesSched_EndDay_1_53";
      
          </SimTimeSeriesSchedule_Year_Default>
      <SimTimeSeriesSchedule_Week_Daily RefId="ID26353“>
      
      - RegularTimeSeries_2;"";"IfcRegularTimeSeries.###.###.TimeStep.31536000";"IfcRegularTimeSeries";"SimTimeSeriesSchedule_Week_Daily";
      
              <simcore:SimUniqueID>a4794b2b-c660-4e8d-9ff6-bb9b18500366</simcore:SimUniqueID>
      
      	- same as CB1
              <simcore:SimModelType>Week</simcore:SimModelType>
      
      - same as CB2
              <simcore:SimModelSubtype>Daily</simcore:SimModelSubtype>
      
      - same as CB2
              <simcore:SimModelName>RotationSpeed</simcore:SimModelName>
      
      - copy the equivalent SimTimeSeriesSchedule_Year_Default entry and adjust it to SimTimeSeriesSchedule_Week_Daily
              <simres:SimTimeSeriesSched_SundaySched_DayName>ID26357</simres:SimTimeSeriesSched_SundaySched_DayName>
      
      - do we need ALL these fields pointing to the same „generic“ day instance? needs specification.
              <simres:SimTimeSeriesSched_MondaySched_DayName>ID26357</simres:SimTimeSeriesSched_MondaySched_DayName>
      
      - as previous
                     <simres:SimTimeSeriesSched_TuesdaySched_DayName>ID26357</simres:SimTimeSeriesSched_TuesdaySched_DayName>
      
      - as previous
              <simres:SimTimeSeriesSched_WedSched_DayName>ID26357</simres:SimTimeSeriesSched_WedSched_DayName>
      
      - as previous
              <simres:SimTimeSeriesSched_ThursdaySched_DayName>ID26357</simres:SimTimeSeriesSched_ThursdaySched_DayName>
      
      - as previous
              <simres:SimTimeSeriesSched_FridaySched_DayName>ID26357</simres:SimTimeSeriesSched_FridaySched_DayName>
      
      - as previous
              <simres:SimTimeSeriesSched_SaturdaySched_DayName>ID26357</simres:SimTimeSeriesSched_SaturdaySched_DayName>
      
      - as previous
              <simres:SimTimeSeriesSched_HolidaySched_DayName>ID26357</simres:SimTimeSeriesSched_HolidaySched_DayName>
      
      - as previous
              <simres:SimTimeSeriesSched_SummerDesignDaySched_DayName>ID26357</simres:SimTimeSeriesSched_SummerDesignDaySched_DayName>
      
      - as previous
              <simres:SimTimeSeriesSched_WinterDesignDaySched_DayName>ID26357</simres:SimTimeSeriesSched_WinterDesignDaySched_DayName>
      
      - as previous
              <simres:SimTimeSeriesSched_CustomDay_1_2_SchedDayName>ID26357 ID26357</simres:SimTimeSeriesSched_CustomDay_1_2_SchedDayName>
      
      - CB_1: LinkToDay"";"IfcRegularTimeSeries.###.###.TimeStep.31536000";"IfcRegularTimeSeries.###.###.CB_1.ID_prv03_";"SimTimeSeriesSchedule_Week_Daily.simres:SimTimeSeriesSched_CustomDay_1_2_SchedDayName";
      
                 </SimTimeSeriesSchedule_Week_Daily>
      
      <SimTimeSeriesSchedule_Day_Interval RefId="ID26357“>
      
      -  RegularTimeSeries_3;"";"IfcRegularTimeSeries.###.###.TimeStep.31536000";"IfcRegularTimeSeries";"SimTimeSeriesSchedule_Day_Interval";
      
                     <simcore:SimUniqueID>3be5c98c-2f4f-4b4a-a6cc-171a582ffd90</simcore:SimUniqueID>
      
      - same as above
              <simcore:SimModelType>Day</simcore:SimModelType>
      
      - same as above
              <simcore:SimModelSubtype>Interval</simcore:SimModelSubtype>
      
      - same as above
              <simcore:SimModelName>v</simcore:SimModelName>
      
      - same as above
              <simres:SimTimeSeriesSched_Time_1_144>
      
      - same as above
                  <simcore:stringItem>Until: 24:00</simcore:stringItem>
      
      - same as above
              </simres:SimTimeSeriesSched_Time_1_144>
      
              <simres:SimTimeSeriesSched_ValUntilTime_1_144>1</simres:SimTimeSeriesSched_ValUntilTime_1_144>
      
      - Values;"";"IfcRegularTimeSeries.###.###.TimeStep.31536000";"IfcRegularTimeSeries.###.###.Values";"SimTimeSeriesSchedule_Day_Interval.simres:SimTimeSeriesSched_ValUntilTime_1_144";
          </SimTimeSeriesSchedule_Day_Interval>
      
      2 - SimXML)
      
      <SimTimeSeriesSchedule_Year_Default> same as above
      
      >> same as above with ModelType column: IfcRegularTimeSeries.###.###.Interval.3600
      <SimTimeSeriesSchedule_Week_Daily> same as above
      
      >> same as above with ModelType column: IfcRegularTimeSeries.###.###.Interval.3600
      <SimTimeSeriesSchedule_Day_Interval RefId="ID26357“>
      - RegularTimeSeries_3;"";"IfcRegularTimeSeries.###.###.TimeStep.3600";"IfcRegularTimeSeries";"SimTimeSeriesSchedule_Day_Interval";
      
                   <simcore:SimUniqueID>3be5c98c-2f4f-4b4a-a6cc-171a582ffd90</simcore:SimUniqueID>
      - same as above
              <simcore:SimModelType>Day</simcore:SimModelType>
      - same as above
              <simcore:SimModelSubtype>Interval</simcore:SimModelSubtype>
      - same as above
              <simcore:SimModelName>RotationSpeed</simcore:SimModelName>
      - same as above
              <simres:SimTimeSeriesSched_Time_1_144>
      
      - CB_1 (the only „BLACKBOX“ string operation hard code, due to count integrer derived from position function of xslt1.0):
      Values;"";"IfcRegularTimeSeries.###.###.TimeStep.3600";"IfcRegularTimeSeries.###.###.Values__Until_24_00";"SimTimeSeriesSchedule_Day_Interval.simres:SimTimeSeriesSched_Time_1_144";
      
                  <simcore:stringItem>Until: 1:00</simcore:stringItem>
      - DONE GENERICALLY
                  <simcore:stringItem>Until: 2:00</simcore:stringItem>
      - ...
                  <simcore:stringItem>Until: 3:00</simcore:stringItem>
      -
                  <simcore:stringItem>Until: 4:00</simcore:stringItem>
      -
                  <simcore:stringItem>Until: 5:00</simcore:stringItem>
      -
                  <simcore:stringItem>Until: 6:00</simcore:stringItem>
      -
                  <simcore:stringItem>Until: 7:00</simcore:stringItem>
      -
                  <simcore:stringItem>Until: 8:00</simcore:stringItem>
      -
                  <simcore:stringItem>Until: 9:00</simcore:stringItem>
      -
                  <simcore:stringItem>Until: 10:00</simcore:stringItem>
      -
                  <simcore:stringItem>Until: 11:00</simcore:stringItem>
      -
                  <simcore:stringItem>Until: 12:00</simcore:stringItem>
      -
                  <simcore:stringItem>Until: 13:00</simcore:stringItem>
      -
                  <simcore:stringItem>Until: 14:00</simcore:stringItem>
      -
                  <simcore:stringItem>Until: 15:00</simcore:stringItem>
      -
                  <simcore:stringItem>Until: 16:00</simcore:stringItem>
      -
                  <simcore:stringItem>Until: 17:00</simcore:stringItem>
      -
                  <simcore:stringItem>Until: 18:00</simcore:stringItem>
      -
                  <simcore:stringItem>Until: 19:00</simcore:stringItem>
      -
                  <simcore:stringItem>Until: 20:00</simcore:stringItem>
      -
                  <simcore:stringItem>Until: 21:00</simcore:stringItem>
      -
                  <simcore:stringItem>Until: 22:00</simcore:stringItem>
      -
                  <simcore:stringItem>Until: 23:00</simcore:stringItem>
      -
                  <simcore:stringItem>Until: 24:00</simcore:stringItem>
             </simres:SimTimeSeriesSched_Time_1_144>
              <simres:SimTimeSeriesSched_ValUntilTime_1_144>0.1 0.1 0.1 0.1 0.1 0.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0.1 0.1 0.1 0.1</simres:SimTimeSeriesSched_ValUntilTime_1_144>
      - Values;"";"IfcRegularTimeSeries.###.###.TimeStep.3600";"IfcRegularTimeSeries.###.###.Values";"SimTimeSeriesSchedule_Day_Interval.simres:SimTimeSeriesSched_ValUntilTime_1_144";
      
               </SimTimeSeriesSchedule_Day_Interval>
      ecc281b3
  13. 12 Jul, 2016 1 commit
    • Sebastian Ebertshäuser's avatar
      intermediate release: now supporting the latest specification of mapping... · 40907822
      Sebastian Ebertshäuser authored
      intermediate release: now supporting the latest specification of mapping facilities for IfcSystem and ReferenceProperty (with nested time series instance) and further code optimizations. NOTE: due to incorrect mapping terms we still get faulty controller and time series objects in output. In order to make the outputted file valid against SimModel XSD, remove all SimController instances (5 are currently generated from use case 1 model) and SimTimeSeriesSchedule_Year_Default (last instance at end of file)
      40907822
  14. 28 Jun, 2016 1 commit
  15. 03 May, 2016 1 commit
  16. 17 Mar, 2016 2 commits
  17. 29 Feb, 2016 2 commits
  18. 25 Feb, 2016 1 commit
  19. 27 Jan, 2016 2 commits
  20. 25 Jan, 2016 1 commit
  21. 24 Dec, 2015 2 commits