Ik dacht dat ik best wel wat wist van Dynamo, maar soms kom je ineens iets tegen waarvan je denkt: hoezo kende ik deze node nog niet? Een hoogte vinden op een Surface gebruik ik echt wel vaak, dus ik weet dat er een Surface.ElevationAtXY bestaat. Maar Surface.FindTargetPoint? Wel logisch dat deze er is maar gek genoeg nooit eerder opgevallen. Terwijl je er hele leuke dingen mee kunt doen!

Grading simuleren

Een Grading simuleren is natuurlijk een leuke. Met Dynamo kun je nog geen echte Gradings maken, en soms heb je voldoende aan even een paar lijntjes om een bepaald beeld te krijgen. Dan is Dynamo een uitstekend hulpmiddel. Om te beginnen heb je een TIN Surface nodig. En een omtreklijn van een vlak wat je naar de Surface wilt laten vloeien. Dit hoeft geen plat vlak te zijn, een 3D Polyline is ook prima. Of een Feature Line.

Met een paar nodes heb je de omtreklijn al van je vlak. Als je een Feature Line hebt, dan heb je ook mogelijkheden om deze als PolyCurve te converteren, of om Coordinate Systems te verzamelen langs die lijn. Want de Coordinate Systems heb je uiteindelijk nodig om naar de Surface te kunnen richten.

Met weer een handjevol nodes heb je de PolyCurve verdeeld. De Curve.CoordinateSystemAtParameter verwacht een waarde tussen 0 (beginpunt) en 1 (eindpunt) van de Curve. Wil je een exacte tussenafstand, dan zul je die eerst moeten berekenen en naar verhouding terugbrengen naar een parameter-afstand.

De node Surface.FindTargetPoint zal vanuit de opgegeven CoordinateSystems en een helling, een punt vinden op het maaiveld. Wat een beetje lastig is als je vlak de Surface doorsnijdt, is dat de node slechts één richting op gaat. Of naar beneden, of naar omhoog. Het beste vraag je in dat geval twee keer een punt op. Je krijgt dan twee lijsten, waarvan alle null-waarden niet zijn gevonden.

Met een Code Block (het handigst, want slechts één regel code) kun je beide lijsten combineren. Feitelijk doet het niks anders dan: is de waarde van het eerste lijstje null? Zo nee dan geef die waarde door en anders de waarde uit lijstje twee. In het voorbeeld is te zien dat de punt op het vlak is verbonden met het gevonden punt op de Surface. Ook zijn alle Surface punten met elkaar verbonden, voor een visuele controle.

En zo heb je snel inzichtelijk waar de punten langs het maaiveld komen. Met de gevonden waarden kun je weer verder werken. Een Surface maken bijvoorbeeld, of een Solid. Een uitzetbestand. Of wat je maar wilt doen.

Wat kun je nog meer

Je hoeft niet persé een Grading te maken, je kunt dit ook gebruiken om bijvoorbeeld een zichtlijn te genereren vanuit een bepaald punt. Of wat te denken van een schaduwlijn? Oké, dan moet je wel de stand van de zon weten op een bepaalde datum en tijdstip, maar het is te doen. Zo zie je, mogelijkheden te over. Je hoeft ze alleen maar te bedenken!

Wil je complexe of repetitieve taken automatiseren in Civil 3D? Dit boek helpt je alles te leren over de design automating tool Dynamo voor Civil 3D. Je wordt een professional in visueel programmeren, en binnenkort zijn al je saaie of complexe taken geautomatiseerd!

This book is only available in English.