Als je Dynamo opstart dan kun je een nieuwe Graph (zoals een script officieel wordt genoemd) maken, een bestaande openen of een Custom Node starten. Maar wat is dat laatste en wat doet het?

Als je daarvoor kiest dan moet je eerst een naam en een categorie opgeven en daarna kom je in de editor met een lichtgele achtergrond. Het lijkt een beetje op de Block Editor in AutoCAD en daarmee kun je het wel vergelijken. Een Custom Node is niets anders dan een script die je in een ander script kunt gebruiken. Sommige processen vergen een fiks aantal Nodes en door die samen te voegen tot een Custom Node, zal er nog maar één Node overblijven in je script. Bovendien zijn ze herbruikbaar, je kunt ze in elk volgend script toepassen.

Naast het starten van een nieuwe Custom Node kun je ook uit een bestaand script een Custom Node genereren. Dit doe je door een aantal Nodes te selecteren die samen een bepaalde functie uitvoeren en deze te exporteren als een Custom Node. 

Stel je eens voor, er is geen Node om alle knikpunten van een PolyCurve op te vragen. Je kunt wel een Node plaatsen die alle Curves uitleest en daarna een Node die alle startpunten uitleest, maar dan mis je nog steeds het eindpunt van de PolyCurve. Die kun je desnoods opvragen van de PolyCurve zelf en samenvoegen met de startpunten van de losse Curves. Je hebt dus al een aantal Nodes nodig om dit te bereiken terwijl je maar één ding wilt.

Wat je nu kunt doen is het volgende. Selecteer de laatste vier Nodes en klik met de rechter muisknop buiten deze selectie ergens in de witte achtergrond. Kies vervolgens in het menu voor Create Custom Node, geef een naam (zonder spaties) en een categorie, en de Nodes zijn vervangen door een Custom Node die ook nog eens links in de Library is toegevoegd.

Een Custom Node lijkt op een gewone Node maar laat aan de randen zien dat het meerdere Nodes op elkaar zijn. Daaraan kun je herkennen dat het niet een enkele Node is. 

Het voordeel is dat je maar één Node hoeft te gebruiken en dat het het bruikbaar is in volgende scripts. Maar hoe ziet het er nu uit? Daarvoor kun je met de rechter muisknop klikken op deze Custom Node en kiezen voor Edit Custom Node. De Custom Node wordt nu geopend in een soort van Block Editor met gele achtergrond. De eerder geselecteerde Nodes zijn nog steeds aanwezig maar nu zijn er Input en Output Nodes toegevoegd. Dit zijn speciale Nodes waarmee je in een Custom Node een invoer- en uitvoerparameter kunt creëren.

In de Input geef je een naam op en optioneel wat het voor type is. Je kunt volstaan met iets als ‘Lijntje’, maar beter is het aan te geven wat het voor type is door ‘Lijntje : PolyCurve’ in te voeren. Dat Dynamo er zelf ‘curve :Curve’ van gemaakt heeft, wil niet zeggen dat dit het beste is. Bovendien werkt een losse Curve niet, het moet een PolyCurve zijn.

In de Output wordt ‘list’ aangegeven, hier mag je prima ‘Knikpunten’ van maken. Je hoeft niet het type aan te geven maar mag wel, zodat je aan de Node kunt zien wat er uit komt.

Python scripts

Voor Python scripts is dit ook een mooie verbetering. Bovendien worden Python scripts vaker herhaald in andere scripts. De keuze voor een Custom Node is dan snel gemaakt. Aan een Python Node kun je niet zien wat er in moet en wat er uit komt. 

Dit stukje Python converteert nummers naar tekstwaarden met een opgegeven aantal decimalen en optioneel een suffix. Ook hier is niet standaard een Node voor beschikbaar. Maar hoe moet je nu weten wat waar in moet? Nu moet je telkens de Python code opvragen om uit te zoeken wat de invoerparameters doen. Ideaal om in een Custom Node te plaatsen. 

Je hebt hier een paar Input Nodes en een Output Node voor nodig. Je kunt zoals je ziet niet alleen het type aangeven maar ook of er een default waarde is ingesteld. Invoerparameters met een default waarde hoeven niet gevuld te worden. Nu het een Custom Node is geworden, is het veel duidelijker wat er verwacht wordt zodra je deze Node gebruikt in een script:

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.