1 / 10

IFC Software - Based on BIMserver API

IFC Software - Based on BIMserver API. Kaj A. Jørgensen www.kaj.person.aau.dk kaj@m-tech.aau.dk. IFC Data Exchange – From File to Model Server. IFC Baserede Model Servere med IFC. IFC og Software Applikationer. IFC kan repræsentere øjebliksbilleder (snapshots) Modelservere

Download Presentation

IFC Software - Based on BIMserver API

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IFC Software-Based on BIMserver API Kaj A. Jørgensen www.kaj.person.aau.dk kaj@m-tech.aau.dk

  2. IFC Data Exchange – From File to Model Server IFC Software on BIMserver API

  3. IFC Baserede Model Servere med IFC IFC Software on BIMserver API

  4. IFC og Software Applikationer IFC kan repræsentere øjebliksbilleder (snapshots) Modelservere kan håndtere transaktioner og versionering Applikationer modellerer, præsenterer, visualiserer, osv. IFC Software on BIMserver API

  5. Modelserver funktionaliteter • Input/output • Oplægning/nedtagning af totale modeller • Delmodeller • Udtagning (check out) – låsning / gensidig udelukkelse • (ændringer foretages i modelleringsværktøj) • Indlægning (check in) – opdatering – ophævelse af låse • Synkronisering mellem server og værktøjer • Modelvedligeholdelse • Arbejde med flere modelversioner • Adgangskontrol, brugerroller, osv. • Registrering af ændringshistorik på objektniveau IFC Software on BIMserver API

  6. IFC Based Software Development • Software toolboxes available for multiple languages, e.g. Java • Library of Object types and handling methods • Read/write IFC files or XML files • Create internal object types in the software • Create relationships between objects • Special software components • Uses data structure and methods • Creates additional data objects, user interfaces, etc. • Application Program Interface (API) is available with BIMserver • Read/write of building model files is performed by the server • Direct access to model objects in database • Attributes of object can be changed • At save (commit), a new revision of the model is saved IFC Software on BIMserver API

  7. BIMserver – Software Development – Java Examples Get Database: Database database = ((Database) ServerInitializer.getDatabase()); Create Service Interface: ServiceInterface si = ServerInitializer.getAdminService(); Get Bimserver Projects: List<SProject> plist1 = si.getAllProjects(); Get Bimserver Projects with name: List<SProject> plist2 = si.getProjectByName("Test"); If only one project is found, get this: SProject proj = plist2.get(0); Get all revision Ids of a Bimserver project: List<Long> revs = proj.getRevisions(); Or, e.g. get Id of last revision long LastRevId = proj.getLastRevisionId(); Create Database Action for model operations: DownloadDatabaseAction databaseAction = new DownloadDatabaseAction(AccessMethod.INTERNAL, LastRevId, Uoid); IFC Software on BIMserver API

  8. BIMserver – Software Development – Java Examples Create session: BimDatabaseSession session = database.createReadOnlySession(); Initialise Model: IfcModel model = databaseAction.execute(session); Get All Model Objects Collection<IdEObject> allObjects = model.getValues(); Get model object of a specific type, e.g. IfcBuilding and get its attributes: for (IdEObject x : allObjects) if (x instanceof IfcBuilding) { IfcBuilding b = (IfcBuilding) x; String name = b.getName(); String desc = b.getDescription(); float elev = .getElevationOfTerrain(); /* etc. */} IFC Software on BIMserver API

  9. BIMserver – Software Development – Java Examples Create modelobject of type IfcSpace: IfcSpace space = Ifc2x3Factory.eINSTANCE.createIfcSpace(); Create model object of type IfcWallStandardCase: IfcWallStandardCase wall = Ifc2x3Factory.eINSTANCE.createIfcWallStandardCase(); Create model object of type IfcWindow: IfcWindow window = Ifc2x3Factory.eINSTANCE.createIfcWindow(); Add values to attributes, e.g. of IfcWindow object: window.setName("TestWindow"); Create Globally Unique Id object: IfcGloballyUniqueId guid = Ifc2x3Factory.eINSTANCE.createIfcGloballyUniqueId(); String IfcGuid = getNewIfcGloballyUniqueId(); guid.setWrappedValue(IfcGuid); Use GUID for e.g. window object: window.setGlobalId(guid); Add object, e.g. the window object, to model: model.add(model.getHighestOid() + 1, window); IFC Software on BIMserver API

  10. Slut

More Related