Blog

3D-softwarepakketten koppelen: het project van Maarten
Terug naar overzicht
projecten techniek

3D-softwarepakketten koppelen: het project van Maarten

Maarten ‘t Hart (37) dacht dat hij kon programmeren. En dat was ook zo. Maar hij was gewend in z’n eentje te werken. Eerlijk is eerlijk, zijn code kon netter. Precies dat leerde hij op een uitdagend project bij Van Oord: eenvoudig informatie uitwisselen tussen twee verschillende programma’s.

Met één druk op de knop

De hele middag data overzetten van het ene naar het andere softwarepakket? Professionals bij baggermaatschappij Van Oord besteden hun tijd liever aan analyseren en ontwerpen. Daarom vroeg Van Oord onze programmeur en 3D-specialist Maarten om te zorgen dat de informatie met één druk op de knop uitgewisseld kon worden.

“Soms moet ik vijf oplossingen proberen voordat ik het juiste antwoord heb, soms lukt het in één keer.”
Maarten

Eigen softwarepakket

Van Oord ontwikkelde een prachtig en geavanceerd 3D-programma om hun baggerwerkzaamheden in de civiele techniek te ontwerpen en volumes te berekenen: VOSS.NET. Hun schepen scannen de zeebodem in en kunnen tijdens de werkzaamheden live bijhouden of het werk overeenkomt met het ontwerp. “Medewerkers werken graag met dit programma,” legt Maarten uit. “Maar het heeft één nadeel.”

Het programma kan niet eenvoudig data uitwisselen met andere software zoals GIS. GIS is veel algemener en kijkt in bovenaanzicht naar gebieden. Deze interactieve analysetool geeft veel informatie over gebieden binnen een contour en vooral de overlap tussen verschillende contouren.

De uitdaging

VOSS.NET en GIS samen is een ‘winning team’. Maar dan moet je wel de informatie kunnen uitwisselen. GIS kan goed overweg met onder andere geopackage. Een opensourcebestand dat VOSS.NET niet herkent. “De truc was om in VOSS.NET een module te bouwen die geopackage kan in- en uitlezen.”

Maarten heeft die module in ongeveer een half jaar gebouwd en besteedde daar de helft van zijn werkweek aan. Het was een enorm project om alle verschillende data te transporteren naar een andere programmeertaal. “Dat moest echt component voor component.”

Het verhaal gaat hieronder verder.

Opnieuw opbouwen

3D-programma’s werken met vectordata (driehoekenstelsels met punten en lijnen die coördinaten verbinden) en rasterdata (polychrome plaatjes). Maar wat in GIS een rasterafbeelding is, is in VOSS.NET een ‘surface’ die net niet een-op-een overeenkomt met een rasterplaatje.

En er waren meer uitdagingen. Plaatjes vervormen bij het importeren en exporteren en moet je dus in het andere systeem weer rechttrekken. Ook luisteren beide systemen naar een andere programmeertaal. Waar GIS en geopackage sterk georiënteerd zijn op Python, is VOSS.NET gebouwd met C#. “Daardoor moest ik veel componenten opnieuw programmeren, ook al bestond dit al in een andere taal.”

Veel efficiënter

Hoe Maarten dit aanpakt? Hij begint grof en zet eerst de gemakkelijkste elementen over. “Dan weet ik of de oplossingsrichting waaraan ik denk ook echt werkt.” Vervolgens houdt hij een handvol ingewikkelde elementen over. Die breekt hij op in stukjes en tackelt hij één voor één. Tussendoor natuurlijk testen. “Soms moet ik vijf oplossingen proberen voordat ik het juiste antwoord heb, soms lukt het in één keer.”

“Elke inefficiënte stap gaat je uiteindelijk opbreken. Het is mijn doel om zulke inefficiënties op te lossen.”
Maarten

Het kost Maarten misschien een half jaar, maar uiteindelijk bespaart het de medewerkers van Van Oord veel tijd. Zij kunnen hun denkkracht nu gebruiken voor analyses in plaats van data-uitwisseling.

Ook kozen medewerkers er regelmatig voor om de data dan maar niet over te zetten. Te tijdrovend. Nu dat is opgelost, kan de organisatie meer doen met de informatie. En betere ontwerpen maken in minder tijd. “Elke inefficiënte stap gaat je uiteindelijk opbreken,” weet Maarten. “Het is mijn doel om zulke inefficiënties op te lossen.”

Ordenen en structureren

Maarten programmeerde al jaren, maar heeft toch veel geleerd op dit project. Vier programmeurs zitten fulltime op VOSS.NET. En hoewel zijn oplossingen meer dan slim waren, konden zijn collega’s zien dat hij voorheen altijd in z’n eentje programmeerde. “Ik heb geleerd om de code te ordenen, zodat over drie jaar nog steeds duidelijk is wat er staat. Met structuur en overzicht kun je de code en dus het programma ook makkelijker onderhouden.”

Hoe leerzaam ook, het leukste was toch wel het kraken van de puzzel. Alle componenten werkend krijgen en zorgen voor een module waar medewerkers echt iets aan hebben. En een modulaire oplossing creëren die toekomstbestendig is, zodat het later ook voor andere toepassingen gebruikt kan worden.

Vertrouwen winnen

Van Oord is trots op VOSS.NET. Daarom is het vrij uitzonderlijk dat Maarten als interimprofessional mocht programmeren aan het pakket. Hij won het vertrouwen door duidelijk te maken dat hij terughoudend zou blijven waar dat gewenst was, goed te luisteren en de pijnpunten te erkennen. “Niet overrulen met tegenargumenten, maar laten zien wat ik kan om de organisatie verder te helpen.”

Het verhaal gaat hieronder verder.

Dat kan handiger

Maarten werkt inmiddels ruim 2,5 jaar bij koen. Voor Van Oord heeft hij tussen mei 2018 en december 2020 verschillende projecten opgepakt om de organisatie te digitaliseren. Na een opleiding civiele techniek met specialisatie wegontwerp kwam hij bij Witteveen+Bos terecht. Daar ontstond zijn interesse in 3D-ontwerp en visualisaties.

Veel werk moest handmatig, terwijl Maarten dacht: dit moet toch ook automatisch kunnen? Hij begon macro’s te schrijven en heeft zichzelf geleerd te programmeren. Tijdens het werk, maar ook in zijn vrije tijd. Na 12 jaar was hij toe aan een overstap. “koen had een aantrekkelijk aanbod en kijkt heel goed wat je wilt en bij je past.”

Ook aan de slag op gave projecten?

koen zoekt altijd slimmeriken in de techniek. Je bent bij koen in vaste dienst en werkt op projectbasis bij leuke opdrachtgevers. Afwisseling, maar ook zekerheid dus. Iets voor jou? Ontdek wat werken bij koen betekent voor jouw groei en bekijk de techniek vacatures.

meer ontdekken