/// <summary> /// XBim Merge /// </summary> /// <param name="workbook">COBieWorkbook to Serialise</param> public void Merge(COBieWorkbook workbook) { XBimContext.IsMerge = true; //flag as a merge XBimContext.WorkBook = workbook; if (!MergeGeometryOnly) { COBieXBimContact xBimContact = new COBieXBimContact(XBimContext); xBimContact.SerialiseContacts((COBieSheet<COBieContactRow>)WorkBook[Constants.WORKSHEET_CONTACT]); } //Make the assumption we are merging on the same building //COBieXBimFacility xBimFacility = new COBieXBimFacility(XBimContext); //xBimFacility.SerialiseFacility((COBieSheet<COBieFacilityRow>)WorkBook[Constants.WORKSHEET_FACILITY]); COBieXBimFloor xBimFloor = new COBieXBimFloor(XBimContext); xBimFloor.SerialiseFloor((COBieSheet<COBieFloorRow>)WorkBook[Constants.WORKSHEET_FLOOR]); COBieXBimSpace xBimSpace = new COBieXBimSpace(XBimContext); xBimSpace.SerialiseSpace((COBieSheet<COBieSpaceRow>)WorkBook[Constants.WORKSHEET_SPACE]); if (!MergeGeometryOnly) { COBieXBimZone xBimZone = new COBieXBimZone(XBimContext); xBimZone.SerialiseZone((COBieSheet<COBieZoneRow>)WorkBook[Constants.WORKSHEET_ZONE]); } COBieXBimType xBimType = new COBieXBimType(XBimContext); xBimType.SerialiseType((COBieSheet<COBieTypeRow>)WorkBook[Constants.WORKSHEET_TYPE]); COBieXBimComponent xBimComponent = new COBieXBimComponent(XBimContext); xBimComponent.SerialiseComponent((COBieSheet<COBieComponentRow>)WorkBook[Constants.WORKSHEET_COMPONENT]); if (!MergeGeometryOnly) { COBieXBimSystem xBimSystem = new COBieXBimSystem(XBimContext); xBimSystem.SerialiseSystem((COBieSheet<COBieSystemRow>)WorkBook[Constants.WORKSHEET_SYSTEM]); COBieXBimAssembly xBimAssembly = new COBieXBimAssembly(XBimContext); xBimAssembly.SerialiseAssembly((COBieSheet<COBieAssemblyRow>)WorkBook[Constants.WORKSHEET_ASSEMBLY]); COBieXBimConnection xBimConnection = new COBieXBimConnection(XBimContext); xBimConnection.SerialiseConnection((COBieSheet<COBieConnectionRow>)WorkBook[Constants.WORKSHEET_CONNECTION]); COBieXBimSpare xBimSpare = new COBieXBimSpare(XBimContext); xBimSpare.SerialiseSpare((COBieSheet<COBieSpareRow>)WorkBook[Constants.WORKSHEET_SPARE]); COBieXBimResource xBimResource = new COBieXBimResource(XBimContext); xBimResource.SerialiseResource((COBieSheet<COBieResourceRow>)WorkBook[Constants.WORKSHEET_RESOURCE]); COBieXBimJob xBimJob = new COBieXBimJob(XBimContext); xBimJob.SerialiseJob((COBieSheet<COBieJobRow>)WorkBook[Constants.WORKSHEET_JOB]); COBieXBimImpact xBimImpact = new COBieXBimImpact(XBimContext); xBimImpact.SerialiseImpact((COBieSheet<COBieImpactRow>)WorkBook[Constants.WORKSHEET_IMPACT]); COBieXBimDocument xBimDocument = new COBieXBimDocument(XBimContext); xBimDocument.SerialiseDocument((COBieSheet<COBieDocumentRow>)WorkBook[Constants.WORKSHEET_DOCUMENT]); COBieXBimAttribute xBimAttribute = new COBieXBimAttribute(XBimContext); xBimAttribute.SerialiseAttribute((COBieSheet<COBieAttributeRow>)WorkBook[Constants.WORKSHEET_ATTRIBUTE]); } COBieXBimCoordinate xBimCoordinate = new COBieXBimCoordinate(XBimContext); xBimCoordinate.SerialiseCoordinate((COBieSheet<COBieCoordinateRow>)WorkBook[Constants.WORKSHEET_COORDINATE]); if (!MergeGeometryOnly) { COBieXBimIssue xBimIssue = new COBieXBimIssue(XBimContext); xBimIssue.SerialiseIssue((COBieSheet<COBieIssueRow>)WorkBook[Constants.WORKSHEET_ISSUE]); } }
/// <summary> /// XBim Serialise /// </summary> /// <param name="workbook">COBieWorkbook to Serialise</param> public void Create(COBieWorkbook workbook) { XBimContext.Reset(); //clear out the dictionaries XBimContext.WorkBook = workbook; ModelSetUp(); COBieXBimContact xBimContact = new COBieXBimContact(XBimContext); xBimContact.SerialiseContacts((COBieSheet<COBieContactRow>)WorkBook[Constants.WORKSHEET_CONTACT]); COBieXBimFacility xBimFacility = new COBieXBimFacility(XBimContext); xBimFacility.SerialiseFacility((COBieSheet<COBieFacilityRow>)WorkBook[Constants.WORKSHEET_FACILITY]); COBieXBimFloor xBimFloor = new COBieXBimFloor(XBimContext); xBimFloor.SerialiseFloor((COBieSheet<COBieFloorRow>)WorkBook[Constants.WORKSHEET_FLOOR]); COBieXBimSpace xBimSpace = new COBieXBimSpace(XBimContext); xBimSpace.SerialiseSpace((COBieSheet<COBieSpaceRow>)WorkBook[Constants.WORKSHEET_SPACE]); COBieXBimZone xBimZone = new COBieXBimZone(XBimContext); xBimZone.SerialiseZone((COBieSheet<COBieZoneRow>)WorkBook[Constants.WORKSHEET_ZONE]); COBieXBimType xBimType = new COBieXBimType(XBimContext); xBimType.SerialiseType((COBieSheet<COBieTypeRow>)WorkBook[Constants.WORKSHEET_TYPE]); COBieXBimComponent xBimComponent = new COBieXBimComponent(XBimContext); xBimComponent.SerialiseComponent((COBieSheet<COBieComponentRow>)WorkBook[Constants.WORKSHEET_COMPONENT]); COBieXBimSystem xBimSystem = new COBieXBimSystem(XBimContext); xBimSystem.SerialiseSystem((COBieSheet<COBieSystemRow>)WorkBook[Constants.WORKSHEET_SYSTEM]); COBieXBimAssembly xBimAssembly = new COBieXBimAssembly(XBimContext); xBimAssembly.SerialiseAssembly((COBieSheet<COBieAssemblyRow>)WorkBook[Constants.WORKSHEET_ASSEMBLY]); COBieXBimConnection xBimConnection = new COBieXBimConnection(XBimContext); xBimConnection.SerialiseConnection((COBieSheet<COBieConnectionRow>)WorkBook[Constants.WORKSHEET_CONNECTION]); COBieXBimSpare xBimSpare = new COBieXBimSpare(XBimContext); xBimSpare.SerialiseSpare((COBieSheet<COBieSpareRow>)WorkBook[Constants.WORKSHEET_SPARE]); COBieXBimResource xBimResource = new COBieXBimResource(XBimContext); xBimResource.SerialiseResource((COBieSheet<COBieResourceRow>)WorkBook[Constants.WORKSHEET_RESOURCE]); COBieXBimJob xBimJob = new COBieXBimJob(XBimContext); xBimJob.SerialiseJob((COBieSheet<COBieJobRow>)WorkBook[Constants.WORKSHEET_JOB]); COBieXBimImpact xBimImpact = new COBieXBimImpact(XBimContext); xBimImpact.SerialiseImpact((COBieSheet<COBieImpactRow>)WorkBook[Constants.WORKSHEET_IMPACT]); COBieXBimDocument xBimDocument = new COBieXBimDocument(XBimContext); xBimDocument.SerialiseDocument((COBieSheet<COBieDocumentRow>)WorkBook[Constants.WORKSHEET_DOCUMENT]); COBieXBimAttribute xBimAttribute = new COBieXBimAttribute(XBimContext); xBimAttribute.SerialiseAttribute((COBieSheet<COBieAttributeRow>)WorkBook[Constants.WORKSHEET_ATTRIBUTE]); COBieXBimCoordinate xBimCoordinate = new COBieXBimCoordinate(XBimContext); xBimCoordinate.SerialiseCoordinate((COBieSheet<COBieCoordinateRow>)WorkBook[Constants.WORKSHEET_COORDINATE]); COBieXBimIssue xBimIssue = new COBieXBimIssue(XBimContext); xBimIssue.SerialiseIssue((COBieSheet<COBieIssueRow>)WorkBook[Constants.WORKSHEET_ISSUE]); }