icon-arrow-left blog

Een programma uit de jaren ’70 koppelen aan Civil3D en Navisworks.

Wegontwerpers hebben een probleem. De ontwerptools van nu kunnen niet alle aspecten van een wegontwerp goed modelleren. Daarom werken veel engineers nog met MX Roads. Een programma dat stamt uit de jaren ’70. Hoe laat je zo’n oud stukje software communiceren met geavanceerde pakketten zoals Civil3D? Die uitdaging ging programmeur Maarten gretig aan.

Designfout in Civil3D

Civil3D is de meest voor de hand liggende keuze voor wegontwerp. Dit pakket communiceert tenslotte soepel met de BIM-software Navisworks. En bij civiele projecten wil je ontwerpen en informatie altijd samenbrengen in een BIM-model (Building Information Model). Zo kun je overzicht houden en beschikken alle betrokkenen over dezelfde informatie.

Maar ontwerpers lopen wel tegen beperkingen aan in Civil3D. Wegen zijn namelijk niet horizontaal, zelfs niet in ons platte landje. Een weg loopt zijwaarts altijd enigszins schuin af in een verkanting. In een bocht verandert de richting van die dwarshelling. Die verkantingsovergangen zijn in Civil3D niet goed te ontwerpen.

“Dit programma stamt uit een tijd dat computers alleen kleine bestanden aankonden.”

50 jaar oud programma

Hoe lossen wegontwerpers dat op? Ze gebruiken nog steeds MX Roads in plaats van Civil3D. Een programma dat in de jaren ’70 is ontwikkeld en sindsdien in de kern nauwelijks meer is veranderd.

En dat is een probleem. “Dit programma stamt uit een tijd dat computers vergeleken met nu trage donders waren en alleen kleine bestanden aankonden,” vertelt Maarten ’t Hart (37), programmeur en 3D-specialist bij koen. Tussen mei 2018 en december 2020 zat hij bij opdrachtgever Van Oord.

MX werkt met kleine txt-bestanden. Zo spuugt het een 3D-model uit met lijnen die weinig geheugen vragen. Ter vergelijking: de 3D-modellen van nu zijn opgebouwd met vlakken, solids en volumineuze objecten die een bulk aan data bevatten. Je kunt de lijnen van MX wel naar Civil3D en andere tools halen, maar dan zie je alleen draadjes. Wat te doen?

Goed en slechts nieuws

Het goede nieuws is dat het draadmodel van MX voldoende informatie bevat om er een hedendaags 3D-model van te kunnen maken. MX lijnen hebben bijvoorbeeld data waaruit te herleiden is wat de lijn betekent. Denk aan randverharding en bovenkant talud.

Het slechte nieuws? Deze beperkte data moet vertaald worden in leesbare data als je het 3D-model inleest in een ander pakket. “Handmatig en helaas ook met dataverlies,” weet Maarten. Slimme wegontwerpers bij Van Oord kunnen hun tijd wel beter besteden. Daarom heeft Maarten dit proces geautomatiseerd door een plug-in te schrijven voor AutoCAD (waar Civil3D op draait).

Het verhaal gaat hieronder verder.

Tijdelijke oplapmethode

Met deze plug-in wordt het MX draadmodel overgezet met een paar muisklikken. En ook met behoud van de oorspronkelijke informatie. Zo kan het MX ontwerp eenvoudig worden meegenomen in het BIM-proces.

Wel is dit een tijdelijke oplapmethode volgens Maarten. “Deze oplossing is niet toekomstbestendig. MX gaat er op den duur uit. Ik zie veel waarde in het verbeteren van Civil3D. Of nog beter, eigen software creëren zodat de organisatie geen licentiekosten heeft en precies het programma krijgt dat ontwerpers nodig hebben.”

Zelf leren programmeren

Het leukste aan dit project? Dat was toch wel het snijvlak van geometrie, wiskunde en programmeren. Ook sloot deze opdracht helemaal aan bij Maartens opleiding Civiele Techniek met specialisatie Wegontwerp, die hij afrondde aan de Haagse Hogeschool. Daarna volgde een twaalfjarig dienstverband bij Witteveen+Bos.

Daar leerde Maarten programmeren en 3D-visualiseren als de beste. Zijn introductie in de wereld van programmeren begon met macro’s in Excel en Microstation. Het doel: handmatig werk automatiseren. Daardoor won hij tijd om weer nieuwe macro’s te maken en uiteindelijk ook andere programmeertalen onder de knie te krijgen.

Al snel liep Maarten namelijk tegen de grenzen van macro’s aan. Dat moet beter kunnen, dacht hij. In zijn broer, ook programmeur, vond Maarten een goede sparringpartner. Hij bleef leren door het gewoon te doen. “Als je eenmaal een programmeertaal beheerst, dan snap je andere talen ook sneller. Uiteindelijk leer je hoe deze talen met elkaar kunnen communiceren.”

“Ik wil niet roekeloos beginnen en maar zien waar het schip strandt.”

Te veel mogelijke oplossingen

Inmiddels werkt hij sneller dan het licht. Maarten heeft maar twee weken nodig gehad om de plug-in te programmeren. Een kleine tijdsinvestering om weer maanden of misschien wel jaren vooruit te kunnen met wegontwerp. De uitdaging zat ‘m vooral in de behoeften en oplossingsmogelijkheden boven tafel krijgen.

“Soms sta ik te popelen om te gaan programmeren, maar krijg ik er toch geen letter uitgetypt omdat er te veel keuzes zijn, te veel mogelijke oplossingen. Ik wil niet roekeloos beginnen en maar zien waar het schip strandt. Dat kost uiteindelijk meer tijd dan eerst goed nadenken.”

De doorbraak kwam toen Maarten een wegontwerper vond die de problemen en wensen heel duidelijk kon uitleggen. Op basis daarvan kon Maarten de juiste afweging maken en begon hij nieuwe knoppen te programmeren. Na oplevering van de eerste demo bleek dat precies te zijn wat de gebruikers wilden. Weer gelukt!

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? Check snel de vacatures of laat ons je helpen.

Jouw verhaal hier?

koen gelooft in ervaringen delen. Elkaar inspireren en vooruit helpen. Daarom zoeken we altijd mensen die hun verhaal willen delen. Over een gaaf project. Een innovatie. Een persoonlijke ontwikkeling of een mooi inzicht.

Misschien vind jij je verhaal niet bijzonder. Maar geloof ons: dat is het wel. En wij vertellen dat verhaal graag. We durven er alles om te verwedden dat er verrijkende inzichten schuilen in jouw ervaringen. Zullen we die samen achterhalen? Mail ons!