Het kan voorkomen als je alle Viewports op alle Layouts wilt benaderen, dat je in Dynamo erachter komt dat dit niet altijd goed gaat.
Soms krijg je lege lijsten. Dat wil niet zeggen dat de Layout geen Viewports bevat, in dit geval wordt het veroorzaakt door het feit dat een Layout nog nooit geactiveerd is geweest in Civil 3D. Het lijkt haast onmogelijk, want als je een Layout aanmaakt dan ga je daarna dingen plaatsen toch? Legenda, Viewport, tekenhoofd, noem maar op. Maar het kan wel, als je een Layout dupliceert. Als je een goed ingerichte Layout hebt met alles erop en eraan, compleet met plotinstellingen, dan kun je deze net zo vaak dupliceren als je nodig hebt, zonder dat ze ooit zijn geactiveerd. Soms moet je dingen weten, en soms moet je er even op gewezen worden.
Hoe kun je dit voorkomen? Of omzeilen in je Dynamo script? Want ondanks dat het niet vaak voorkomt, kan het dus toch. Dan werkt je script niet meer die iets lolligs wil doen met al die Viewports.
The Civil Nodes
In de package The Civil Nodes is een node te vinden die alle Viewports in een document teruggeeft. Ook op de Layouts die nog niet zijn geactiveerd. En je kunt terugvinden op welke Layout deze Viewport zich bevindt.
Het kan zijn dat je bepaalde eigenschappen niet kunt uitlezen of kunt toepassen, maar dat heb ik nog niet kunnen ervaren. Maar er is ook een andere oplossing die je kunt proberen.
Layouts activeren
Een slimme oplossing is door vooraan je script, eerst alle Layouts een keer te activeren. Hoewel er niet direct een node voor aanwezig lijkt, kun je dit prima oplossen door de variabele CTAB te gebruiken. Hiermee kun je een specifiek tabblad actief maken. Ook hier kun je een node voor vinden in The Civil Nodes.
In Civil 3D zul je zien dat alle tabbladen even kort na elkaar geactiveerd worden. Eventueel schakel je met Dynamo terug naar ModelSpace, of het tabblad wat actief was. Daarna kun je met het resultaat (de lijst met Layout namen) de Layouts weer ophalen en met die Layouts de Viewports, die nu wel allemaal benaderbaar zijn.
Weer een probleem opgelost, ook al komt het niet vaak voor. Maar met deze constructie ben je voorbereid!
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.