Factsheet open source BIMserver.org
Datum: Januari 2012
Wat is de/een BIMserver?
De BIMserver is geen hardware computer die ergens staat waar je gebruik van kan maken. De open source BIMserver is software. Deze software kan je gratis downloaden en installeren op een willekeurige computer. Na installatie is die computer (laptop, PC, rackserver) dan een BIMserver. ‘De’ BIMserver bestaat dus eigenlijk niet. Wel ‘de’ software waarmee je ‘een’ BIMserver kan maken.
Ok, maar wat is die software dan?
Met de software beschik je over een server die met IFC data kan omgaan. Je kan IFC data, meestal in de vorm van IFC bestanden, uploaden naar de server. De software analyseert de data in de bestanden en zet deze data in een onderliggende database. De kern van de BIMserver software ‘snapt’ de IFC structuur en daardoor ontstaat een softwaretool die gebruikers kan ondersteunen bij het werken met BIM modellen in IFC.
Waarom IFC?
IFC is op dit moment de meest gebruikte en meest volwassen open standaard voor BIM modellen. Er zijn andere gesloten standaarden die wellicht meer gebruikt worden, maar deze worden niet ondersteund om afhankelijkheid van commerciele softwareverkopers te minimaliseren. Naast IFC kent de BIMserver software ook andere open standaarden voor BIM, maar daarover later meer.
Wat kan die software / mijn BIMserver dan?
Er zijn veel mogelijkheden met de BIMserver software. Het is afhankelijk van de gebruiker welke het meest aanspreken. Om een paar voorbeelden te noemen…..De BIMserver heeft de mogelijkheid om een project in te richten met subprojecten. Elke discipline of onderdeel van het gebouw heeft dan een eigen project met eigen gebruikers en rechtenbeheer. Maar omdat de BIMserver snapt hoe IFC data in elkaar zit worden alle onderliggende subprojecten altijd netjes samengevoegd in de hoger gelegen projecten. Het samenvoegen van IFC data van verschillende disciplines gebeurt direct na elke wijziging. Na wijzigingen kan de software verschillen opsporen in IFC data; heeft revisiebeheer; en versiemanagement. De ‘checkout’ functie houdt bij wie er in welk gedeelte van het model aan het werken is. Als iemand anders ondertussen een wijziging upload naar de server gaan automatisch de alarmbellen rinkelen. Dit ondersteunt een concurrent engineering proces.
Is dat alles?
Ook een populaire feature is clashdetectie op de (samengevoegde) IFC data en de mogelijkheid om je te ‘abonneren’ op wijzigingen van (een deel van) het model.
Andere gebruikers hechten juist weer veel waarde aan de automatische up-to-date KML link. Hiermee kunnen klanten de voortgang van het project volgens in Google Earth. Ook de exports naar CityGML, ifcXML, Collada (voor Sketchup) zijn geliefd. De O3D/WebGL functie maakt het mogelijk om BIM modellen in je webbrowser te bekijken zonder speciale IFC software op je PC geïnstalleerd te hebben.
Meer technische gebruikers zweren bij de Query en filter mogelijkheden van de IFC data. Eenvoudig voorgeprogrammeerde queries zoals ‘geef me alleen de 2e verdieping’ of ‘geef me alleen alle ramen’ worden veelgebruikt.
Maar ook meer complexe queries als ‘geef me alle deuren op de 3e verdieping die breder zijn dan 900mm’ zijn zelf te programmeren met de advanced query-functie.
De nerds onder ons vinden de verschillende interfaces (webuser interface, REST interface en SOAP) en het werken met een EMF framework geweldig.
Van wie is de BIMserver?
Bij elk open source project is en blijft de leverancier van de broncode (de programmeur, of zijn baas) eigenaar van zijn eigen code. De BIMserver software bevat grote stukken code van TNO, maar ook van de TU Eindhoven, van Oracle en van kleinere programmeurs die bugs hebben opgelost. Iedereen die code aanlevert blijft eigenaar van zijn/haar eigen code.
De broncode die de kern vormt van de BIMserver is geprogrammeerd door Jakob Beetz en eigendom van de TU Eindhoven. De onderliggende database die gebruikt wordt is een BerkeleyDB welke eigendom is van Oracle. Het overgrote deel van de broncode van de BIMserver is door TNO geprogrammeerd. De BIMserver werkt niet zonder de broncode van TNO, maar ook niet zonder die van de TU Eindhoven.
De vraag van wie de BIMserver is valt dus niet zomaar te beantwoorden. Het formele antwoord luidt: van iedereen die er een bijdrage aan heeft geleverd.
Is de BIMserver.org software echt gratis?
Ja. Zolang een gebruiker zich aan de voorwaarden van de open source licentie houdt (bijv. dat je de broncode niet mag inbouwen in gesloten software) zijn de broncode en gecompileerde code (software) is echt gratis. Ook de bijgeleverde componenten waar de BIMserver gebruik van maakt zijn gratis bij gebruik in de BIMserver.
Hoe (en waarom) is dit project ooit begonnen?
Er bleek een enorme behoefte bij bedrijven in de bouw voor gebruik van BIM modelservers. De toenmalige (bim)servers voldeden echter niet aan de eisen en wensen van de bouwsector. TNO heeft besloten om een intern kennisopbouw project te starten naar de meest geschikte technologie voor bimservers. De hierbij ontwikkelde software kan gezien worden als ‘bijproduct’ van de opgebouwde kennis. Dit ‘bijproduct’ is open source beschikbaar gesteld in de hoop de innovatie in de sector te versnellen.
Wie betaalt de (door)ontwikkeling van de BIMserver?
Op dit moment is er geen structurele financiering. Ontwikkelingen gaan ad-hoc en in de marge van andere projecten. Er is daarom ook geen roadmap of planning. Om echt grote vooruitgang te kunnen maken is structurele financiering nodig.
Voldoet de BIMserver.org software aan alle standaarden?
De BIMserver software conformeert volledig aan IFC en IFC gerelateerde standaarden. Hieronder verstaan we ook de Nederlandse uitbreidingen en standaarden en de IFC data die met IFD is opgebouwd.
Daarnaast is er een export naar ifcXML, COBie, CityGML (mét de officiële GeoBIM/IFC extensie), Collada (Sketchup), KMZ (Google Earth) en WebGL (webbrowser).
Daarmee voldoet de BIMserver aan alle meest volwassen open standaarden die voor BIM toepassingen worden gebruikt.
Waarom heeft de BIMserver software geen IFC certificering?
De certificeringprocedure van IFC is vooral gericht op het correct interpreteren en creëren van de geometrie. Andere BIM software moet een interpretatie maken van de IFC geometrie naar hun eigen interne structuur. Er moet gecontroleerd worden of dit correct gebeurd. De BIMserver slaat alle data op als IFC zonder interpretatie of omvorming naar een andere, eigen, interne structuur. De huidige certificeringprocedure is daarom niet geschikt voor de bimserver.
De input en output van de BIMserver is wel 100% valide IFC. Het ontwikkelteam is hier trots op en gemotiveerd om dit zo te houden. De gebruikersgroep (waaronder belangrijke IFC beheerders) houdt dit scherp in de gaten. Dit geldt overigens ook voor de output naar de andere standaarden zoals ifcXML, CityGML, enz…
Kan hij ook IFD aan?
Ja. Wat veel mensen niet weten: BIM modellen die naast IFC mede opgebouwd zijn met objecten uit IFD bibliotheken (zoals bijvoorbeeld “IFD Library”) resulteren “gewoon” in IFC modellen met property sets. De BIMserver kan deze modellen dus probleemloos verwerken. De BIMserver is zelf geen IFD library en heeft dus geen kennis van deze meta-data.
Kunnen partners en opdrachtgevers op mijn BIMserver?
JA! Of Nee (wat jij wil). Als u partners en/of opdrachtgevers toegang wil geven tot uw BIMserver, hoeft u alleen maar een nieuwe gebruiker aan te maken (en die gebruiker rechten te geven op een project). Daarna heeft de gebruiker genoeg aan een webbrowser (Internet Explorer, Safari, Firefox, Chrome, enz..) om modellen te uploaden, downloaden, querien, bekijken, enz…. Door slim rechtenbeheer kunnen gebruikers alleen hun eigen data aanpassen en alleen de data van anderen alleen downloaden/bekijken/enz.. uit hetzelfde project.
Wie kan ik bellen als er iets mis gaat of als ik iets niet snap?
Je kan terecht op http://support.bimserver.org. Hierop zitten veel gebruikers en ontwikkelaars die elkaar helpen. Meestal heb je dezelfde dag nog een antwoord op je vraag (probeer dat maar eens bij gesloten software leveranciers).
Er zijn ook steeds meer bedrijven (en bedrijfjes) die services aanbieden rond de software. Ze bieden bijvoorbeeld hosting aan van een BIMserver, inclusief backups, updates, enz… Dit alles met de zekerheid van een snelle verbinding, genoeg geheugen en vaak zelfs met de garantie voor het oplossen van bugs. Dit soort bedrijven kun je inhuren en dus ook bellen als er iets is. Je bent hierbij niet gebonden aan één softwareleverancier maar kan kiezen voor de partij die het beste bij jou past.
Werkt het ook op een Apple?
De BIMserver software is geschreven in JAVA en is platform onafhankelijk. Dit betekent dat de BIMserver software op alle systemen geïnstalleerd kan worden waar java op draait (in de praktijk dus: alle systemen).
Voor gemiddelde eindgebruikers is dit echter wat minder interessant. Dit willen verbinding maken met een BIMserver via een webbrowser. De ingebouwde webuserinterface (dat gene wat je ziet als je inlogt op de BIMserver via een webbrowser) is volledig volgens de W3C standaarden. Daardoor kunnen alle reguliere webbrowsers er mee werken. Om de vraag te beantwoorden: Ja, het werkt op Windows, Apple, Unix, Linux, enz… en de webuserinterface is getest op Internet Explorer, Safari, Firefox, Chrome, K-Meleon, enz…
Omdat de BIMserver ook gebruik maakt van de IFC Engine DLL kan het voorkomen dat op sommige systemen een paar exportfuncties niet werken. Deze systemen hebben we echter nog niet gevonden. De IFC Engine DLL functies zijn getest en werken op Windows, Linux, Unix en Apple. Beiden op zowel 32 als 64 bits.
Hoe zit de systeemarchitectuur in elkaar (voor de nerds)?
Heel slim. Door gebruik te maken van een ‘Model driven architecture’ aanpak. De software leest het IFC schema (.exp file) in. Daaruit worden alle objectklassen en eigenschappen van IFC gelezen. De structuur hiervan wordt in een EMF (e-core) model gezet. Dit EMF model is de kern van de BIMserver software. Hiermee worden Java objecten en de SOAP interface gegenereerd. Door deze aanpak heeft de BIMserver broncode zogenaamde ‘application logic’ waar elke programmeur blij van wordt.
Deze application logic wordt ook gebruikt om een database aan te maken. Omdat IFC een netwerkstructuur heeft, is gekozen voor een key-value-store database. Hiervoor is de BerkeleyDB database (van Oracle) gebruikt. Deze is zeer snel met transacties en dat is precies wat de BIMserver nodig heeft. Tussen het EMF model en de Berkeley database zitten nog wat generieke interfaces waardoor het mogelijk is om ook andere databases te gebruiken als opslagmedium.
Aan de bovenkant van het EMF model worden verschillende internet-interfaces gegenereerd. De SOAP interface, maar ook de webuserinterface en een REST(-achtige) interface.
Aan de zijkant van het EMF model is de IFC Engine DLL gehangen. Deze is niet open source en wordt gebruikt voor interpretatie van de geometrie. Communicatie tussen de IFC Engine DLL en het EMF model gebeurt streaming en is dus lekker snel.
Wie zijn er allemaal mee bezig?
Een paar duizend gebruikers (januari 2012) over de hele wereld die de software, om wat voor reden dan ook, gebruiken. Verder heel veel ‘kortstondige’ gebruikers die het even uitproberen. In Australië, Canada en Zweden zijn onderzoeksinstellingen met de broncode aan het spelen. Uiteraard zijn de TU Eindhoven en TNO erg actief.
Verder hebben diverse softwareleveranciers een link met hun eigen software via de (SOAP) BIMserver interface.
Er zijn ook vele plug-ins in ontwikkeling. Kijk hiervoor op http://extend.bimserver.org
Waarom zou ik niet gewoon NavisWorks of Solibir gebruiken?
Navisworks en BIMserver zijn niet te vergeliken. De achtergrond en doelstelling van beide softwaretools is volledig verschillend. Het mooie is dat Navisworks/Solibri in combinatie met de BIMserver veel extra’s geeft voor uw project. Navisworks/Solibri is primair een softwarepakket voor model-analyse. De BIMserver is vooral voor model-beheer. Denk hierbij aan samenvoegen van submodellen, maar vooral ook gebruikersbeheer, revisie-management, versiebeheer, waarschuwingen bij gelijktijdige wijzigingen (concurrent engineering bij gebruik van verschillende applicaties), alternatieven analyses, live link naar Google Earth, query mogelijkheden, enz… De doelstelling van Navisworks/Solibri is dus heel anders dan die van de open source BIMserver. Navisworks/Solibri wordt steeds vaker gebruikt als ‘een’ softwarepakket wat data haalt uit de BIMserver om analyses te doen.
Jullie hadden een WebGL viewer, maar die zit niet meer in 1.1. En nu?
De BIMserver is een server. Viewers zijn geen onderdeel (meer) van dit project. Andere mensen zijn bezig met WebGL viewers. Kijk bijvoorbeeld eens op www.bimsurfer.org. Deze viewer wordt in de toekomst gecombineerd met BIMserver.
Wat is CityGML en hoe zit dat met de extensie voor GeoBIM?
CityGML is een relatief jonge open standaard om steden te modelleren. Deze standaard komt uit de Geografische (GIS) wereld. De GISwereld is bekend met en van de 2D kaarten, maar begint nu ook de 3D objecten te vinden. In CityGML zijn afspraken vastgelegd hoe wegen, gebouwen, water, vegetatie, groen, enz…worden beschreven. Omdat dit gebeurd voor complete steden is het detailniveau van een gebouw in CityGML zeer beperkt (lang niet zo gedetailleerd als in IFC). CityGML bezit echter de mogelijkheid om uitbreidingsets te definiëren. Op die manier kan specifieke informatie worden toegevoegd aan een CityGML model (voor de nerds: vergelijkbaar met Psets in IFC). De open source BIMserver is initiatiefnemer van de GeoBIM extensie. Deze CityGML extensie voor GeoBIM informatie maakt het mogelijk om IFC data toe te voegen aan de gebouwen in CityGML. De BIMserver software heeft een export naar CityGML en voegt daarbij de IFC informatie toe volgens deze officiële GeoBIM extensie.
