/// <summary> /// Erzeugt Site in Project /// </summary> /// <param name="model"> Projct </param> /// <param name="name"> Bezeichnung der Site </param> /// <param name="placement"> Ursprung </param> /// <param name="refLatitude"> Breitengrad </param> /// <param name="refLongitude"> Längengrad </param> /// <param name="refElevation"> Höhe </param> /// <param name="compositionType"> Bei einer Site nicht ändern </param> /// <returns> </returns> private static IfcSite createSite(IfcStore model, string name, Axis2Placement3D placement = null, double?refLatitude = null, double?refLongitude = null, double?refElevation = null, IfcElementCompositionEnum compositionType = IfcElementCompositionEnum.ELEMENT) { using (var txn = model.BeginTransaction("Create Site")) { var site = model.Instances.New <IfcSite>(s => { s.Name = name; s.CompositionType = compositionType; if (refLatitude.HasValue) { s.RefLatitude = IfcCompoundPlaneAngleMeasure.FromDouble(refLatitude.Value); } if (refLongitude.HasValue) { s.RefLongitude = IfcCompoundPlaneAngleMeasure.FromDouble(refLongitude.Value); } s.RefElevation = refElevation; placement = placement ?? Axis2Placement3D.Standard; s.ObjectPlacement = createLocalPlacement(model, placement); }); txn.Commit(); return(site); } }
/// <summary> /// Erzeugt Site in Project /// </summary> /// <param name="model"> Projct </param> /// <param name="name"> Bezeichnung der Site </param> /// <param name="placement"> Ursprung </param> /// <param name="refLatitude"> Breitengrad </param> /// <param name="refLongitude"> Längengrad </param> /// <param name="refElevation"> Höhe </param> /// <param name="compositionType"> Bei einer Site nicht ändern </param> /// <returns> </returns> private static IfcSite createSite(IfcStore model, string name, Axis2Placement3D placement = null, double?refLatitude = null, double?refLongitude = null, double?refElevation = null, IfcElementCompositionEnum compositionType = IfcElementCompositionEnum.ELEMENT) { //Serilog.Log.Logger = new LoggerConfiguration() // .MinimumLevel.Debug() // .WriteTo.File(System.Configuration.ConfigurationManager.AppSettings["LogFilePath"]) // .CreateLogger(); using (var txn = model.BeginTransaction("Create Site")) { var site = model.Instances.New <IfcSite>(s => { s.Name = name; s.CompositionType = compositionType; if (refLatitude.HasValue) { s.RefLatitude = IfcCompoundPlaneAngleMeasure.FromDouble(refLatitude.Value); } if (refLongitude.HasValue) { s.RefLongitude = IfcCompoundPlaneAngleMeasure.FromDouble(refLongitude.Value); } s.RefElevation = refElevation; placement = placement ?? Axis2Placement3D.Standard; s.ObjectPlacement = createLocalPlacement(model, placement); }); txn.Commit(); //Log.Information("IfcSite created"); return(site); } }