Published: Dec 18, 2015 by Maarten Vroegindeweij
Sondering importeren in Revit
Deze week begonnen met Dynamo: Wat een ongekende fantastische mogelijkheden. Van harte aanbevolen voor iedereen.
We maken een stukje dynamoscript om een GEF-bestand in te lezen. Deze is hier te downloaden.(beta)
GEF staat voor Geotechnical Exchange Format en is een bestandsformaat waarin een sondering of grondboring beschreven wordt.
Voor meer informatie over GEF klik hier. Als je sonderingen laat maken kan de grondmechanisch adviseur ook een GEF-bestand opsturen. Deze kun je weer bekijken met de GEFPlotTool. Deze is te downloaden op de website van Deltabrain. Klik hier.
Hierboven een voorbeeld van een sondering met kleefmeting en waterspanningsmeting bekeken in GEFPlotTool. Links de conusweerstand in MPA met in blauw de waterspanning. Rechts het wrijvingsgetal en er tussenin de plaatselijke wrijving.
Hierboven is een GEF-bestand te zien geopend in Notepad++. Vanaf #EOH= beginnen eigenlijk een aantal kolommen waar de diepte, sondeerweerstand, plaatselijke wrijving en het wrijvingsgetal weergegeven zijn.
Hierboven de dynamocode om het GEF-bestand naar 3D-grondlagen te vertalen.
Deel 1. Hier wordt het GEF-bestand gekozen, vervolgens bekeken, daar gesplitst vanaf #EOH=. Het laatste deel(List.LastItem) wordt gebruikt om verder te gaan.
Deel 2: Eerst wordt de lijst getransponeerd naar 9 lijsten met alle waarden. We hebben 2 kolommen nodig uit deze lijst: Diepte en Wrijvingsgetal. Dit is kolom 0 en 7. Met List.GetItemAtIndex haal je een kolom uit de getransponeerde list.
Om de ‘string’ naar een number te converteren moet eerst de ‘e’ opgelost worden. Dynamo lijkt niet te snappen dat dat een wetenschappelijke weergave is. De string wordt in 2 delen gesplitst met separater0=’e’. Om vervolgens dit om te zetten naar een number in mm.
We hebben nu een lijst met de wrijvingsgetallen per 2 cm diepte. In de bovenstaande code zit een geneste IF statement waarbij per wrijvingsgetal een grondsoort toegewezen wordt. De gebruikte ‘String’ wordt tevens de materiaalnaam. Deze moet dus wel aanwezig zijn in het project.
Eigenlijk zou dit deel nog wat uitgebreider moeten: De relatie met de conusweerstand zou ook meegenomen moeten worden. Dit is voor de volgende versie. Het eindresultaat is een lijst met grondsoorten per 2 cm diepte.
We herhalen het hele verhaal voor de diepte(kolom 0).
Vervolgens hebben we een family gemaakt(zie hieronder). Deze family heeft een afmeting, dikte en materiaal. Met behulp van ‘FamilyTypes’ en FamilyInstance.ByCoordinates worden ca 1200 families geplaatst met waarvan de coordinaten, dikten en materiaal uit de lijsten komen. Er zitten nog een paar errors in omdat sommige wrijvingsgetallen buiten het bereik vallen.
ovenstaand een overzicht van de kleuren en arceringen van de grondsoorten.
Bovenstaand de family die gebruikt is als laag.
En het resultaat in Revit met een funderingspaal erin!
Er zijn diverse verbeterpunten:
-1 nieuwe family aanmaken met dynamo in plaats van 1200 families plaatsen in je project.
-Meerdere grondsoorten toevoegen.
-Het script om de sondering in te lezen kan nog beter. Er zijn meerdere mogelijkheden om kolommen te gebruiken. Dit gaat nu nog niet goed met alle soorten GEF-bestanden.
-Grondwaterstand en conusweerstand toevoegen.
-Het geheel in 1 node stoppen en vervolgens een nieuw script maken waar je meerdere sonderingen met RD-coordinaten kan toevoegen. Vervolgens hier met adaptive components een family maken waarin de grondlagen ook echt in diepte verlopen.
Er komt dus nog wel een keer een update. Zijn er mensen die het leuk vinden om mee te doen? Dan kan ik het script posten en met meerdere mensen aan werken.
Het dynamobestand is hier te downloaden.(beta)