Automatisierung ordentlich betreiben

AutoLISP, Dynamo und Python im Team verteilen und über Fassungswechsel hinweg pflegen

Der Unterschied zwischen einer Sammlung, die das Büro trägt, und einem Ordner, den nach dem zweiten Fehlschlag niemand mehr öffnet, sind vier Festlegungen und ein Termin im Kalender.

KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt
Seit 1997 am Markt Kleine Gruppen Präsenz und Live-Online Zertifizierte Trainer
Worum es geht

Aus Hilfsmitteln wird ein Bestand, um den sich niemand kümmert

Am Anfang steht immer dasselbe: Jemand hat eine Routine geschrieben, die eine lästige Arbeit abkürzt, und schickt sie per Mail an zwei Kollegen. Die kopieren sie in ihr eigenes Verzeichnis, einer davon ändert eine Zahl darin, weil es bei ihm anders sein muss, und ein halbes Jahr später existieren vier Fassungen mit demselben Namen. Wenn dann jemand fragt, warum das Ergebnis auf zwei Rechnern verschieden aussieht, kann niemand sagen, welche Fassung eigentlich die richtige ist.

Die zweite Stufe ist der Ablageort. Weil ein Netzlaufwerk praktisch ist, landen die Dateien in einem Ordner, in den alle schreiben dürfen. Damit die Routinen von dort geladen werden, trägt jemand diesen Ordner in die vertrauenswürdigen Pfade ein. Genau davon rät Autodesk ausdrücklich ab: Vertrauenswürdige Pfade sollen auf eindeutige, schreibgeschützte Ordner zeigen, in denen die freigegebenen Anwendungen liegen, mit möglichst geringen Rechten für alle, die dort nichts zu ändern haben. Ein Ordner, in den jeder schreiben darf und aus dem jedes Programm ausführbaren Code lädt, ist ein Einfallstor und keine Ablage.

Die dritte Stufe kommt mit dem Fassungswechsel. Die neue Fassung des CAD-Programms wird ausgerollt, und plötzlich läuft ein Drittel der Sammlung nicht mehr: Ein Dynamo-Package fehlt, ein Node heißt anders, eine .NET-Erweiterung ist gegen die alte Programmschnittstelle gebaut, ein Menüeintrag zeigt ins Leere. Weil niemand weiß, welche Routinen überhaupt noch benutzt werden, wird nichts geprüft, sondern reagiert, sobald sich jemand beschwert. Der Autor der wichtigsten Routine arbeitet inzwischen woanders, und damit ist aus einem Hilfsmittel ein Risiko geworden.

KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt
Wer entscheidet was

Wer im Haus was entscheidet

Automatisierung im Konstruktionsbüro scheitert fast nie an der Technik, sondern daran, dass Entscheidungen zwischen Konstruktion, CAD-Verantwortung und IT hin und her wandern. Die folgenden sechs Themen sind die, die immer wieder auflaufen, jeweils mit einer Zuordnung und der Stelle, an der es in der Praxis hakt.

Ob eine selbstgebaute Routine offiziell wird oder ein privates Hilfsmittel bleibt

Wer entscheidet
Die Konstruktions- oder Planungsleitung, weil sie beurteilen kann, ob die Aufgabe wiederkehrt und ob das Ergebnis in Zeichnungen wandert, für die das Büro geradesteht
Wer setzt um
Die CAD-Verantwortung, indem sie die Datei in die freigegebene Ablage übernimmt und den Eintrag in der Liste anlegt
Stolperfalle
Die Entscheidung wird nie getroffen. Die Routine ist einfach da, wird per Mail weitergereicht und gilt irgendwann als gesetzt, ohne dass jemand sie je angesehen hat.

Wo der Code liegt und aus welchen Ordnern das Programm ihn laden darf

Wer entscheidet
Die IT gemeinsam mit der CAD-Verantwortung, entlang der Vorgabe des Herstellers und nicht nach dem, was gerade praktisch ist
Wer setzt um
Die IT, indem sie den Ordner schreibgeschützt bereitstellt und ihn in die vertrauenswürdigen Pfade einträgt, notfalls über die Verteilung der Installation
Stolperfalle
Ein Ordner, in den alle schreiben dürfen, wird als vertrauenswürdig eingetragen. Autodesk rät ausdrücklich zu eindeutigen, schreibgeschützten Ordnern und zu möglichst geringen Rechten, denn aus einem beschreibbaren vertrauenswürdigen Ordner lädt das Programm ausführbaren Code ohne Nachfrage.

Ob die Sicherheitseinstellung des CAD-Programms gelockert wird

Wer entscheidet
Die IT-Sicherheit, mit einer schriftlichen Begründung und einem Datum, an dem die Ausnahme erneut geprüft wird
Wer setzt um
Die CAD-Verantwortung, indem sie die betroffene Einstellung dokumentiert und den ursprünglichen Zustand wiederherstellt, sobald die Ausnahme entfällt
Stolperfalle
Statt den Ablageort in Ordnung zu bringen, wird die Prüfung abgeschaltet. In AutoCAD steuert eine Systemvariable, ob ausführbare Dateien nur aus vertrauenswürdigen Ordnern geladen werden dürfen; sie steht ab Werk auf der mittleren Stufe mit Warnung und lässt sich vom Administrator festsetzen. Wer sie auf die unterste Stufe stellt, hat die Warnung weg und das Problem behalten.

Welche fremden Packages, Erweiterungen und Bibliotheken benutzt werden dürfen

Wer entscheidet
Die CAD-Verantwortung, mit einer Liste zugelassener Bestandteile statt einer Prüfung im Einzelfall
Wer setzt um
Wer die Routine schreibt, indem er sich ausschließlich aus dieser Liste bedient und jede neue Abhängigkeit vorher anmeldet
Stolperfalle
Ein Package wird eingebunden, weil es genau den einen Node mitbringt. Beim nächsten Fassungswechsel steht der Graph still, und niemand weiß mehr, welche Fassung des Packages die richtige war.

Wer den Fassungswechsel des CAD-Programms für die Automatisierung vorbereitet

Wer entscheidet
Die IT setzt den Termin, die CAD-Verantwortung entscheidet über den Umfang der Prüfung anhand der Liste der tatsächlich benutzten Routinen
Wer setzt um
Ein benanntes Zweierteam, das jede Routine einmal an einem Testmodell ausführt und das Ergebnis in die Liste einträgt
Stolperfalle
Geprüft wird die ganze Sammlung oder gar nichts. Beides ist falsch: Die Sammlung enthält Karteileichen, deren Prüfung Zeit frisst, und ohne Prüfung fällt der Ausfall erst mitten im Projekt auf.

Was passiert, wenn der Autor einer Routine das Haus verlässt

Wer entscheidet
Die Konstruktionsleitung, indem sie je Routine entscheidet: weiterpflegen, einfrieren oder abschalten
Wer setzt um
Die neue verantwortliche Person, die den Eintrag in der Liste übernimmt und die Routine einmal vollständig nachvollzieht, bevor sie sie erbt
Stolperfalle
Niemand übernimmt, und niemand schaltet ab. Die Routine läuft weiter, bis sie eines Tages nicht mehr läuft, und dann fehlt sowohl das Wissen als auch die Zeit. Ein bewusstes Abschalten mit Ankündigung ist an dieser Stelle die ehrlichere Entscheidung.

Der Weg einer Routine von der Idee bis zur Ablösung

  1. 01 Jemand baut etwas im eigenen Versuchsordner und probiert es an eigenen Zeichnungen aus.
  2. 02 Eine zweite Person sieht darüber und probiert es an einer fremden Zeichnung aus.
  3. 03 Die Routine wandert in die schreibgeschützte, vertrauenswürdige Ablage und bekommt einen Verantwortlichen.
  4. 04 Vor jedem Fassungswechsel wird sie an einem Testmodell ausgeführt und abgehakt.
  5. 05 Wird sie nicht mehr gebraucht oder nicht mehr gepflegt, wird sie sichtbar abgeschaltet statt vergessen.
Was du mitnimmst

Was ihr an einem Vormittag festlegt

Sechs Punkte, die zusammen die Grundordnung ergeben. Sie kosten einmalig einen Vormittag und danach eine halbe Stunde im Monat, und sie sind unabhängig davon, ob ihr mit AutoLISP, mit Dynamo, mit Python oder mit allem dreien arbeitet.

Trennt Werkzeug und Versuch

Es gibt zwei Ablagen und nur zwei. In der einen liegt, was freigegeben ist und im Team benutzt werden darf. In der anderen probiert jeder aus, was er will. Was aus der zweiten in die erste wandert, hat jemand angesehen. Ohne diese Trennung ist jede weitere Regel wirkungslos, weil sich nie sagen lässt, worauf sie sich bezieht.

Richtet den freigegebenen Ort so ein, wie es der Hersteller vorsieht

Für AutoCAD heißt das: Der Ordner steht in den vertrauenswürdigen Pfaden, ist für alle außer den Verantwortlichen schreibgeschützt, und die Startsammlung lädt nur von dort. Autodesk verlangt seit den Fassungen ab 2014 ausdrücklich, dass Anwendungen in der Startsammlung an einem vertrauenswürdigen Ort liegen. Für Dynamo gilt sinngemäß dasselbe für die Pfade zu Graphen und Packages.

Gebt jeder Routine einen Namen, eine Beschreibung und einen Verantwortlichen

Drei Zeilen im Kopf der Datei und eine Zeile in einer gemeinsamen Liste reichen: Was tut sie, wer hat sie geschrieben, wer pflegt sie jetzt, wann wurde sie zuletzt mit welcher Programmfassung geprüft. Diese vier Angaben entscheiden später darüber, ob eine Routine beim Fassungswechsel mitgenommen oder stillschweigend fallengelassen wird.

Legt fest, wie eine Änderung freigegeben wird

Für ein kleines Büro genügt: Zweite Person sieht darüber, probiert sie an einer Testzeichnung aus, danach wandert die Datei in die freigegebene Ablage, und ein kurzer Eintrag hält fest, was geändert wurde. Wer bereits mit Git arbeitet, nimmt Git. Wer nicht, nimmt einen Ordner mit datierten Ständen. Wichtig ist nicht das Werkzeug, sondern dass Änderungen nicht unbemerkt passieren.

Führt Buch über die fremden Bestandteile

Jedes Dynamo-Package, jede Erweiterung eines Dritten und jede Bibliothek, die eure Routinen benutzen, gehört mit Name und Fassung in dieselbe Liste. Das ist die Angabe, die beim Fassungswechsel den Unterschied zwischen einer halben Stunde und zwei Tagen macht, und sie ist gleichzeitig die Grundlage dafür, überhaupt beurteilen zu können, was in eurem Programm alles mitläuft.

Setzt den Prüftermin vor das Update, nicht danach

Sobald die neue Programmfassung bekannt ist, nehmt ihr die Liste, führt jede benutzte Routine an einem Testmodell aus und hakt sie ab. Was nicht mehr läuft, wird entweder repariert oder ausdrücklich abgeschaltet. Ein ausdrücklich abgeschaltetes Werkzeug ist kein Verlust, ein stillschweigend kaputtes ist einer, weil sich jemand darauf verlässt.

KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt

Der Ablageort ist die halbe Miete, und der Hersteller sagt euch, wie er aussehen soll

AutoCAD entscheidet über zwei Einstellungen, ob ausführbare Dateien geladen werden. Die eine ist eine Liste vertrauenswürdiger Ordner, die andere eine Systemvariable, die festlegt, wie streng damit umgegangen wird. Ab Werk steht die strenge Variante mit Warnung: Dateien aus vertrauenswürdigen Ordnern werden geladen, bei allen anderen erscheint eine Warnung. Der Administrator kann diese Einstellung festsetzen, und es gibt eine Stufe, bei der Dateien außerhalb der vertrauenswürdigen Ordner gar nicht mehr geladen werden.

Betroffen ist deutlich mehr, als die meisten vermuten. Autodesk nennt dazu ausdrücklich die Dateitypen der ObjectARX-Familie, die AutoLISP-Formate einschließlich der übersetzten und der Menüdateien, Skriptdateien von Netzwerkpfaden, .NET-Erweiterungen, VBA-Makros, JavaScript und DLL-Dateien. Wer also glaubt, das Thema betreffe nur zugekaufte Zusatzmodule, übersieht, dass die eigene kleine Routine unter dieselbe Regel fällt.

Die Empfehlung des Herstellers zum Zuschnitt der Ordner ist deutlich: eindeutige, schreibgeschützte Ordner, in denen die freigegebenen Anwendungen liegen, und möglichst geringe Rechte für alle übrigen Rollen. Ein Eintrag darf mit einer besonderen Endung auch alle Unterordner einschließen, was praktisch ist und den Kreis gleichzeitig weit macht. Die Programmverzeichnisse selbst gelten ohnehin als vertrauenswürdig. Für die Startsammlung gilt seit den Fassungen ab 2014 zusätzlich, dass dort eingetragene Anwendungen an einem vertrauenswürdigen Ort liegen müssen.

Für Dynamo läuft es auf dieselbe Frage hinaus, nur mit anderen Begriffen. Auch dort gibt es Pfade für Graphen und für Packages, und auch dort ist die Frage, ob diese Pfade in einem Bereich liegen, den das Team gemeinsam benutzt und der nicht von jedem beschreibbar ist. Dynamo Player greift auf einen Ordner zu, in dem die Graphen liegen; genau dieser Ordner ist der Ort, den ihr einmal ordentlich einrichtet.

Was in eine gemeinsame Liste gehört und wie kurz sie sein darf

Eine Tabelle mit sechs Spalten reicht für die meisten Büros vollständig aus: Name der Routine, was sie tut in einem Satz, wer sie verantwortet, welche fremden Bestandteile sie braucht, mit welcher Programmfassung sie zuletzt geprüft wurde und wann das war. Mehr Spalten führen dazu, dass die Liste nicht gepflegt wird, und eine ungepflegte Liste ist schlimmer als keine, weil sich jemand darauf verlässt.

Der eigentliche Wert dieser Liste zeigt sich zweimal. Beim Fassungswechsel sagt sie euch, was tatsächlich geprüft werden muss, statt dass ihr fünfzig Dateien durchgeht, von denen zwölf benutzt werden. Und beim Weggang eines Kollegen sagt sie euch, welche Routinen jetzt ohne Verantwortlichen dastehen, bevor das jemand schmerzhaft herausfindet.

Ergänzend gehört in jede Datei ein kurzer Kopf mit denselben Angaben. Das klingt doppelt, ist es aber nicht: Die Liste geht irgendwann verloren oder wird nicht mitgezogen, die Datei bleibt. Wer zwei Jahre später eine Routine öffnet und darin liest, wofür sie gedacht war und wer sie geschrieben hat, spart sich eine halbe Stunde Rätselraten.

Versionsverwaltung: sinnvoll, aber nicht um jeden Preis

Für Teams, in denen ohnehin jemand mit Git umgehen kann, ist ein Repository der beste Ort für AutoLISP-Dateien, Python-Stücke und Dynamo-Graphen. Textdateien lassen sich vergleichen, Änderungen sind nachvollziehbar, und eine versehentlich kaputte Fassung ist in einer Minute zurückgeholt. Der Weg von dort in die freigegebene Ablage ist dann ein einzelner Schritt, den man auch automatisieren kann.

Für alle anderen ist die ehrliche Antwort: Ein Ordner mit datierten Ständen und eine Textdatei, in der steht, was sich geändert hat, ist deutlich besser als nichts und wird tatsächlich benutzt. Eine Versionsverwaltung, die niemand bedienen kann, führt dazu, dass die Dateien wieder per Mail wandern und das Repository leer bleibt. Fangt mit dem an, was das Team wirklich pflegt, und rüstet später auf.

Ein Sonderfall sind Dynamo-Graphen: Sie sind zwar Textdateien, aber der Vergleich zweier Fassungen ist im Editor kaum lesbar. Hier hilft weniger die Werkzeugwahl als die Disziplin, im Graph selbst zu beschriften, was ein Bereich tut. Autodesk stellt für diesen Zweck eine Vorlage bereit, die eine feste Gliederung aus Eingaben, Variablen, Funktionen und Ausgaben vorgibt und dazu rät, Bereiche zu gruppieren und zu benennen.

Der Fassungswechsel: eine Liste, ein Vormittag, ein Ergebnis

Der Ablauf ist immer derselbe und lohnt sich, weil er planbar ist. Nehmt die Liste der tatsächlich benutzten Routinen, richtet einen Testarbeitsplatz mit der neuen Programmfassung ein und führt jede Routine einmal an einer echten Zeichnung oder einem echten Modell aus. Was läuft, wird abgehakt und mit der neuen Fassungsnummer versehen. Was nicht läuft, bekommt eine Zeile mit der Fehlermeldung.

Anschließend entscheidet ihr je Fall, und zwar bewusst: reparieren, ersetzen oder abschalten. Für Routinen, die nur noch eine Person benutzt, ist Abschalten oft die richtige Antwort, weil der Aufwand für die Pflege den Nutzen übersteigt. Wichtig ist, dass diese Entscheidung sichtbar getroffen und mitgeteilt wird, statt dass jemand im Projekt darauf stößt.

Rechnet dabei mit den typischen Ursachen. Bei Dynamo sind es fehlende oder geänderte Packages und umbenannte Nodes. Bei .NET-Erweiterungen ist es die Bindung an eine bestimmte Fassung der Programmschnittstelle. Bei AutoLISP sind es meist geänderte Befehlsabläufe oder Systemvariablen, seltener die Sprache selbst, was AutoLISP im Vergleich zu allen anderen Wegen bemerkenswert langlebig macht.

Und plant den Prüftermin vor das Ausrollen, nicht danach. Eine Woche vorher hat die Prüfung noch Wirkung, weil ihr entweder reparieren oder das Ausrollen für die betroffene Gruppe verschieben könnt. Eine Woche danach ist sie eine Bestandsaufnahme des Schadens.

Dazu passende Kurse

Wenn eure Sammlung überwiegend aus LISP-Dateien besteht, sind AutoCAD-Kurse für Anpassung und Programmierung der Ort, an dem aus gewachsenen Routinen wartbare werden.

Für alles, was in Dynamo entsteht und im Team laufen soll, liefern Revit-Kurse für Graphen und Modellstandards die nötige Grundordnung mit.

Wissen prüfen

Wie sicher bist du beim Thema wirklich?

Lesen fühlt sich schnell nach Können an. Ein kurzer Test zeigt dir, was davon schon sitzt und wo sich ein Kurs lohnt. Kostenlos, ohne Anmeldung, mit einer Erklärung zu jeder Antwort.

Ein sehr guter und verständlicher Überblick über die Grundlagen im Umgang mit BricsCAD.
BricsCAD 2D Schulung Grundkurs
Alle meine Erwartungen wurden erfüllt und ich habe mich sehr gut aufgenommen gefühlt, jede Frage wurden Probleme direkt beseitigt.
BricsCAD 3D Schulung - Grundlagen
Toller Coach, perfekt abgestimmte Themen. Sehr viel Freiraum für "unsere" Themen und Fragen. Alles sehr rund und perfekt.
Figma Advanced

Häufige Fragen

Reicht ein Netzlaufwerk als Ablage für unsere Routinen?
Als Ort ja, in der üblichen Einstellung nein. Ein Ordner, in den alle schreiben dürfen und aus dem das CAD-Programm ausführbaren Code lädt, ist genau die Konstellation, vor der Autodesk warnt. Die Empfehlung lautet, vertrauenswürdige Pfade auf eindeutige, schreibgeschützte Ordner zu setzen und die Rechte darauf so gering wie möglich zu halten. Praktisch heißt das: ein Ordner, in den nur die CAD-Verantwortung schreiben darf, und ein zweiter, in dem alle ausprobieren können, der aber nicht als vertrauenswürdig eingetragen ist.
Sollen wir für unsere Skripte Git benutzen?
Wenn im Team ohnehin jemand damit arbeitet, ja, denn AutoLISP-Dateien, Python-Stücke und Dynamo-Graphen sind Text und lassen sich gut verwalten. Wenn niemand damit umgehen kann, fangt mit einem Ordner mit datierten Ständen und einer Änderungsnotiz an. Der Nutzen entsteht nicht durch das Werkzeug, sondern dadurch, dass Änderungen nachvollziehbar sind und eine alte Fassung zurückholbar bleibt. Beides geht auch ohne Repository, nur weniger bequem.
Wie gehen wir mit Routinen um, die ein einzelner Kollege gebaut hat und nur er versteht?
Zuerst herausfinden, ob sie im Team gebraucht wird. Wenn nicht, bleibt sie ein persönliches Hilfsmittel und wird nicht freigegeben, und damit ist die Frage beantwortet. Wenn doch, muss eine zweite Person sie einmal vollständig nachvollziehen und als Verantwortlicher eingetragen werden, bevor sie in die freigegebene Ablage wandert. Diese Übergabe kostet ein bis zwei Stunden und ist die günstigste Versicherung, die ihr in diesem Feld kaufen könnt.
Was tun, wenn nach dem Update die Hälfte der Graphen nicht mehr läuft?
Erst sortieren, dann reparieren. Geht die Liste der tatsächlich benutzten Graphen durch und trennt drei Fälle: fehlende Packages, geänderte Nodes und echte Programmfehler. Der erste Fall ist meist in Minuten erledigt, weil Dynamo fehlende Abhängigkeiten in einem eigenen Dialog anzeigt. Der zweite braucht Handarbeit im Graph. Der dritte ist selten und rechtfertigt eine Nachfrage beim Hersteller oder in der Gemeinschaft. Was nur eine Person benutzt hat, wird bei dieser Gelegenheit abgeschaltet.
Brauchen wir dafür eine eigene Richtlinie?
Eine Seite genügt, und sie sollte vier Dinge enthalten: wo freigegebene Routinen liegen und dass dieser Ort schreibgeschützt ist, wer eine Freigabe erteilt, welche fremden Bestandteile zugelassen sind und wann geprüft wird. Alles darüber hinaus wird nicht gelesen. Der Wert dieser Seite liegt weniger im Text als darin, dass beim Schreiben zum ersten Mal alle Beteiligten am selben Tisch sitzen und dieselben Begriffe benutzen.
Persönlich für dich da

Deine Ansprechpartner

Du bist dir nicht sicher, welcher Kurs oder welches Level zu dir passt? Wir beraten dich persönlich und kostenlos.

Yves Hoppe

Yves Hoppe

Weiterbildung & Beratung

Hilft dir, aus dem CAD & Grafik-Programm den passenden Kurs für deinen Stand zu finden.

Norbert Jansen

Norbert Jansen

Beratung & Inhouse

Plant mit dir Inhouse-Trainings, die auf eure Abläufe und euren Datenbestand zugeschnitten sind.

Von der Sammlung im Benutzerverzeichnis zur gepflegten Werkzeugkiste

Bei cmt lernst du im Kurs nicht nur, wie eine Routine entsteht, sondern auch, wie sie ausgeliefert, abgesichert und über einen Fassungswechsel gebracht wird. Offen oder inhouse an eurem eigenen Bestand.