/// <summary> /// Creates and opens a new Xbim Database /// </summary> /// <param name="dbFileName">Name of the Xbim file</param> /// <param name="access"></param> /// <returns></returns> public static XbimModel CreateModel(string dbFileName, XbimDBAccess access = XbimDBAccess.ReadWrite) { try { if (string.IsNullOrWhiteSpace(Path.GetExtension(dbFileName))) { dbFileName += ".xBIM"; } var model = new XbimModel(); model.CreateDatabase(dbFileName); model.Open(dbFileName, access); model.Header = new StepFileHeader(StepFileHeader.HeaderCreationMode.InitWithXbimDefaults) { FileName = { Name = dbFileName } }; foreach (var schemasId in model.Factory.SchemasIds) { model.Header.FileSchema.Schemas.Add(schemasId); } return(model); } catch (Exception e) { throw new XbimException("Failed to create and open xBIM file \'" + dbFileName + "\'\n" + e.Message, e); } }
public static XbimModel CreateTemporaryModel() { var tmpFileName = Path.GetTempFileName(); try { var model = new XbimModel(); model.CreateDatabase(tmpFileName); model.Open(tmpFileName, XbimDBAccess.ReadWrite, true); model.Header = new StepFileHeader(StepFileHeader.HeaderCreationMode.InitWithXbimDefaults); foreach (var schemasId in model.Factory.SchemasIds) { model.Header.FileSchema.Schemas.Add(schemasId); } return(model); } catch (Exception e) { throw new XbimException("Failed to create and open temporary xBIM file \'" + tmpFileName + "\'\n" + e.Message, e); } }