BIM Show Live 2015 - Collaboration and IFC in the Netherlands
Factsheet/FAQ open source BIMserver
1. Factsheet open source BIMserver
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
Lees de actuele versie op: www.bimserver.org/factsheet/
2. 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 veel gebruikt.
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.
Wat betekent die open source licentie?
De BIMserver software is gepubliceerd onder de zogenaamde GNU GPL versie 3 licentie. Dit
betekent (kort door de bocht) dat je volledige vrijheid hebt om te doen met de software wat je zelf
wil, onder de voorwaarde dat deze vrijheid op de software blijft bestaan. De broncode van de
BIMserver blijft dus overal en altijd open source.
Overigens maakt de BIMserver software ook gebruik van externe bibliotheken zoals de IFC Engine
DLL. Deze is niet open source maar wel gratis beschikbaar in combinatie met de BIMserver
software. Zie ook de uitleg over de systeemarchitectuur hierover.
Van wie is de BIMserver?
Er wordt vaak gesproken over ‘de BIMserver van TNO’. Dit is niet correct. Bij een 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 individuele 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 deel van de broncode wat deze elementen op elkaar aansluit
(en nog wat extra cod) 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
Lees de actuele versie op: www.bimserver.org/factsheet/
3. toenmalige (bim)servers voldeden echter niet aan de eisen en wensen van de bouwsector. TNO
heeft besloten om een klein 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 gebeuren ad-hoc en door
bedrijven/instellingen die voor hun eigen behoeften iets erbij programmeren. Er is daarom ook
geen roadmap of planning, maar wel beelden over een mogelijke ontwikkelrichting. 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, CityGML (mét de officiële GeoBIM/IFC extensie), Collada
(Sketchup), KMZ (Google Earth) en O3D/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 en nee. Wat veel mensen niet weten: BIM modellen die zijn opgebouwd met behulp van een IFD
library (of compatible) zijn gewoon ‘propertysets’ in IFC modellen. De BIMserver kan deze
modellen dus probleemloos verwerken.
Is er een link met COINS?
Ja en Nee. Als COINS Containers IFC bestanden bevatten kunnen deze in de BIMserver worden
ingelezen. Ook kan vanuit een CBIM model ‘gelinkt’ worden naar de URL van een specifiek IFC
object in de BIMserver. Daarmee hoeft het IFC model dus niet meer in een COINS Container te
Lees de actuele versie op: www.bimserver.org/factsheet/
4. worden verstuurd, maar wordt gebruik gemaakt van de REST interface van de BIMserver.
Met de ‘advanced query’ functie van de BIMserver kunnen CBIM modellen worden verkregen uit
een BIMserver model.
Het CBIS systeem wat uitgedacht is door COINS kan dus integraal samenwerken met de BIMserver.
De BIMserver zelf is echter (nog) geen CBIS systeem. Omdat de BIMserver software open source is
kan deze wel dienen als basis voor een CBIS systeem. Op dit moment zijn er echter geen financiele
middelen om dit te verwezenlijken.
Is er een link met VISI?
Nee. Om VISI te implementeren in software moeten licentiegelden betaald worden. Dit druist in
tegen de uitgangspunten van de open source BIMserver.
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?
Dit is redelijk standaard vraag bij elk open source project. Ook het antwoord is daarom hetzelfde
als bij de meeste open source projecten. Je kan een e-mail sturen naar de mailinglijst. 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 soms 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 wat je ziet als je
inlogt op je 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,
Lees de actuele versie op: www.bimserver.org/factsheet/
5. 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 op Windows, Linux, Unix en Apple. Beiden
op zowel 32 als 64 bits.
Hoe zit de systeemarchitectuur in elkaar (voor de nerds)?
Best 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.
Voor meer informatie is er een wetenschappelijke paper beschikbaar (te downloaden via de
bimserver.org website).
Wie zijn er allemaal mee bezig?
Een paar honderd gebruikers (mei 2010) 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ë, Duitsland, Canada en Zweden zijn onderzoeksinstellingen met de broncode aan het
spelen. Ook zijn de TU Eindhoven en TNO erg actief omdat ze de software inzetten in Europese
onderzoeksprojecten.
Verder zijn diverse softwareleveranciers erg geïnteresseerd in het aanhaken van hun eigen
software op de (SOAP) BIMserver interface.
Waarom zou ik niet gewoon NavisWorks gebruiken?
Navisworks en de BIMserver hebben een aantal features die gedeeld worden. De achtergrond en
doelstelling van beide softwaretools is echter heel verschillend. Het mooie is dat Navisworks in
combinatie met de BIMserver veel extra’s geeft voor uw project. Navisworks 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
Lees de actuele versie op: www.bimserver.org/factsheet/
6. verschillende applicaties), alternatieven analyses, live link naar Google Earth, query
mogelijkheden, enz… De doelstelling van Navisworks is dus heel anders dan die van de open
source BIMserver. Navisworks wordt steeds vaker gebruikt als ‘een’ softwarepakket wat data haalt
uit de BIMserver om analyses mee te doen.
Jullie hebben een O3D viewer, maar Google heeft aangekondigd daarmee te
stoppen. En nu?
Google heeft inderdaad te kennen gegeven te stoppen met O3D en zich verder aan te sluiten bij
WebGL. Voor de standaardisatie van en op het web vinden we dit een zeer goed initiatief. Op de
lange termijn zal door het stoppen van O3D standaardisatie van 3D viewers op het web een
versnelling doormaken. Ook voor de BIMserver geldt dat we op termijn over moeten stappen naar
WebGL. Op korte termijn heeft dit geen grote gevolgen. De O3D viewer zal nog steeds te
gebruiken zijn. Om de overgang van O3D naar WebGL te implementeren is (een beetje)
financiering nodig.
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). In 2009 is zo’n extensie ontwikkeld om IFC data in CityGML te krijgen. Dit
noemt men de GeoBIM extensie. Deze GeoBIM extensie maakt het mogelijk om IFC data toe te
voegen aan de gebouwdata in CityGML. De BIMserver software heeft een export naar CityGML en
voegt daarbij de IFC informatie toe volgens deze officiële GeoBIM extensie. Er wordt ook gewerkt
aan een translatie van CityGML naar IFC (bijv. handig bij de start van een nieuw project), maar ook
hiervoor is financiering noodzakelijk.
Ik wil nog meer info!!
Kijk op www.bimserver.org
Lees de actuele versie op: www.bimserver.org/factsheet/