In diesem LineLetter erfahren Sie, wie Sie mit Hilfe des Arbeitsablauf-Designers wiederkehrende Aufgaben der Layerorganisation in der Darstellungsverwaltung von AutoCAD Map 3D und Civil 3D realisieren.
Selbstverständlich können Sie auch weiterhin manuell einzelne Objektklassen aus der Datenverbindung zur Karte hinzufügen, Layer speichern und laden. Aber gerade wenn Sie als Civil 3D-Anwender keine Möglichkeit haben, ein Darstellungsmodell wie bei der Arbeit mit datenbankbasierten Fachschalen unter AutoCAD Map 3D zu nutzen und so per Mausklick am Bildschirm aufzubauen, werden Sie die Vorteile dieser etwas unbekannten Funktion zu schätzen lernen.
Der Arbeitsablauf-Designer
Sie finden den Arbeitsablauf-Designer im Arbeitsbereich Planung und Analyse in der Registerkarte Extras.
Dabei öffnet sich eine Palette, die im wesentlichen aus 4 Bereichen besteht:
- der Werkzeugleiste oben
- der Aktionspalette rechts (wenn
in der Werkzeugleiste eingeschalten)
- der Einstellungspalette unten (wenn in der Werkzeugleiste eingeschalten)
- dem Arbeitsbereich im Zentrum
Die Arbeit besteht im Wesentlichen darin sich darüber Gedanken zu machen, aus welchen sequentiellen Schritten sich ein Arbeitsablauf zusammensetzt und diesen mit Hilfe der zur Verfügung stehenden Aktionen zu beschreiben. Genauer gesagt, erfüllt der Arbeitsablauf-Designer die Aufgabe eines Makrorekorders auf dem Wege der visuellen Programmieren: Sie erstellen ein Programm ohne auch nur eine einzige Zeile Code geschrieben zu haben. Und später können Sie dieses Programm immer wieder anwenden oder modifizieren.
Sie können jetzt sofort loslegen und eine Datenverbindung erstellen oder aber Sie fügen zunächst eine neue Karte hinzu, indem Sie die Aktion Karte hinzufügen mit gedrückter linker Maustaste in den Arbeitsablauf ziehen und dort loslassen. Wenn Sie erkennen, dass an den Fangpunkten das Symbol der Aktion erscheint, können Sie die linke Maustaste loslassen.
Die neue Karte erwartet noch ein paar Parameter, was Sie an dem gelben Dreieck erkennen.
Klicken Sie die Aktion doppelt, um die Parameter zu bearbeiten. Zunächst sehen Sie die Pflichtparameter, welche unbedingt definiert werden müssen, um ausgeführt werden zu können. Daneben gibt es noch optionale Parameter wie den Anzeigenamen, der dazu dient, die einzelnen Aktionen voneinander zu unterscheiden. Sie müssen nicht zwingend angepasst werden. Sehr oft aber verbergen sich nicht unwesentliche Parameter darunter, weshalb anzuraten ist, sich diese dennoch näher anzusehen.
Geben Sie den neuen Kartennamen ein und aktivieren Sie den Zustandsschalter Zu neuer Karte wechseln, damit die neue Karte die aktive Karte wird. Wir empfehlen dringend bei den meisten Aktionen, die Sie hinzufügen, den Anzeigenamen möglichst eindeutig zu benennen. Sie werden zu einem späteren Zeitpunkt auf vorhandene Aktionen zugreifen müssen und dann wäre es fatal, wenn mehrere Aktionen in der Liste den selben Anzeigenamen tragen.
Bewegen Sie die Maus über die erste Aktion, erscheinen am rechten Rand ein paar Schaltflächen:
Von oben nach unten können Sie ...
- die Aktionseigenschaften öffnen
- die Aktion löschen
- die Parameter wahlweise zum Zeitpunkt der Ausführung eingeben lassen und damit variabel gestalten
- die Aktion inaktiv stellen (wenn dieser Schritt in dieser Zeichnung nicht zur Anwendung kommen soll, Sie aber die Aktion nicht löschen wollen).
In der neuen Karte fügen Sie eine Layergruppe hinzu, indem Sie die Aktion Gruppe hinzufügen aus der Aktionspalette unter die vorhandene Aktion der neuen Karte schieben. Auch diese Aktion klicken Sie doppelt, um den Gruppennamen und den Anzeigenamen zu bestimmen.
Die Aufgabe
In den folgenden
Schritten wollen Sie die Layer von Flurstücken, Gebäuden und den Linien
der Topographie aus einer ALKIS-Fachschale laden, ohne ein
Unternehmensprojekt öffnen zu müssen. Diese Schritte sollen als
Arbeitsablauf gespeichert werden, um sie beispielsweise im Civil
automatisch ausführen zu lassen. Dazu müssen die Layerdefinitionen
gespeichert und in einer neuen leeren Zeichnung geladen werden können.
Zu diesem Zweck fügen Sie zunächst eine Aktion Mit Datenspeicher verbinden hinzu. In den Parametern benennen Sie die Aktion um und wählen den Provider. Dieser entscheidet, welche Eingabeparameter auszufüllen sind. Bei den datenbankbasierten Datenquelle geben Sie die Zugangsdaten an, wie Sie die auch in der Datenverbindungspalette mit eingeben würden. Beim Topobase-Provider kommt erschwerend hinzu, dass Sie den notwendigen Namen der Fachschale nicht eingeben können (Auswahlfeld bleibt inaktiv).
Das ist sehr unglücklich, weshalb Sie den Arbeitsablauf durch Drücken der Speichern-Schaltfläche in der Werkzeugleiste speichern und die dadurch entstehende XOML-Datei in einem geeigneten Texteditor öffnen. Suchen Sie darin den XML-Tag ConnectToFdoDataStore und ergänzen im XML-Attribut DynamicConnectionParameters hinter DataStore: den Namen der Fachschale in Großbuchstaben. Speichern Sie die XOML-Datei (und ignorieren ggf. achselzuckend Meldungen zur fehlerhaften XML-Struktur) und laden den Arbeitsablauf erneut im Arbeitsablauf-Designer.
Klicken Sie oben in der Werkzeugleiste auf die Schaltfläche zum Ausführen des bisherigen Arbeitsablaufs
.
Ab dieser Stelle haben Sie Zugriff auf die einzelnen Objektklassen. Klicken Sie mit der rechten Maustaste auf die Aktion und starten im Kontextmenü den Befehl Objektlayer hinzufügen. Das hat den Vorteil, dass die Aktion sofort weiß, aus welcher Datenverbindung Sie einen neuen Layer ergänzen wollen.
Anschließend klicken Sie die neue Aktion doppelt, um den Namen zu ändern und die gewünschte Objektklasse auszuwählen.
Außerdem können Sie gezielt den Namen der Geometriespalte angeben (nur erforderlich, wenn es pro Tabelle mehrere Geometrien gibt) und die Ziel-Gruppe bestimmen. Vorgabemäßig wird bekanntermaßen der Namen der Objektklasse als Layername verwendet. An dieser Stelle können Sie aber auch einen lesbaren Namen verwenden. Achten Sie jedoch darauf, wenn Sie einen Namen explizit vorgeben, darf dieser nicht bereits in der Zeichnung in dieser aktiven Karte enthalten sein, sonst bricht der Arbeitsablauf ab! Bei Bedarf aktivieren Sie den Zustandsschalter Zoom Grenzen, um auf die Grenzen des Layers zu zoomen.
Nach dem Klick auf OK klicken Sie auf die zuletzt ergänzte Aktion mit der rechten Maustaste, um den Befehl Objektlayereigenschaften ändern im Kontextmenü zu starten.
Hier können Sie bei Bedarf den Namen eines Layers
ändern oder die Gruppe zuweisen, zu der der Layer gehören soll. Lassen Sie beides leer, bleibt die Eigenschaft durch die Aktion unberührt. Stellen Sie den Layer sichtbar und auswählbar und benennen Sie die Aktion um.
Bitte beachten Sie: den Layerstil können Sie mit den neuen Versionen von AutoCAD Map 3D nicht mehr automatisiert ändern.
Abschließend wollen Sie die Layerdefinition speichern. Klicken Sie dazu mit der rechten Maustaste auf die letzte Aktion und starten im Kontextmenü den Befehl Layerdatei speichern. Klicken Sie doppelt auf die neue Aktion, benennen die Aktion um und geben ein Zielverzeichnis an. Der Name der Layerdatei wird dem Layernamen entsprechen.
Speichern Sie den Arbeitsablauf und führen ihn in einer neuen, leeren Zeichnung erneut aus. Wenn Sie keinen Fehler gemacht haben, wird eine neue Karte angelegt, die Verbindung zur Datenbank hergestellt, ein Layer ergänzt , in der Karte herausgezoomt und am Ende im Zielverzeichnis eine Layerdatei abgespeichert.
Parallele Aktionen
Sie haben nun einen Layer ergänzt und wollen das für zwei weitere Layer wiederholen. Jetzt könnten Sie die drei letzten Aktionen erneut einfügen oder aber sie kopieren die vorhandenen und ändern lediglich einzelne Parameter. Welcher der beiden Wege schneller und einfacher ist, hängt maßgeblich von der Menge der abweichenden Parameter ab.
Das Erstellen des weiteren Layers kann nacheinander aber auch parallel erfolgen. Wechseln Sie in den Reiter Dienstprogramm der Aktionspalette und schieben von dort mit gedrückter linker Maustaste die Aktion Parallel in das Segment zwischen der Datenverbindungs-Aktion und der Aktion zum Erstellen eines neuen Layers.
Schieben Sie nun die Aktionen zum Erstellen, Bearbeiten und Speichern des Layers in die linke Sequenz.
Markieren Sie mit gedrückter Strg-Taste die drei Aktionen und klicken Sie auf einer Aktion die rechte Maustaste, um im Kontextmenü den Befehl Kopieren zu starten.
Klicken Sie in die rechte Sequenz und drücken Sie die Tastenkombination Strg+V, um die Auswahl dorthin zu kopieren. Korrigieren Sie ggf. die Reihenfolge der Aktionen innerhalb der Sequenz (je nachdem, in welcher Reihenfolge die Aktionen in der linken Sequenz gewählt wurden). Ändern Sie via Doppelklick auf die eingefügten Aktionen die Parameter, um die Anzeigenamen und Objektklassen und Layernamen (!!!) zu ändern. Ein erneutes Zoomen auf die Grenzen wird nicht erforderlich sein.
In den Parametern der Objektlayereigenschaften müssen Sie dringend darauf achten, den Gebäudelayer auszuwählen. Dieser verweist nach dem Kopieren noch auf den Flurstückslayer. Das gleiche gilt für das Speichern der Layerdefinition.
Um einen dritten Layer einzuladen, klicken Sie mit der rechten Maustaste auf den Hintergrund der parallelen Aktion und starten im Kontextmenü den Befehl Verzweigung hinzufügen.
Dann können Sie erneut einen Layer hinzufügen, ändern und speichern. Achten Sie in allen Parametereigenschaften peinlich genau darauf, auf welche vorangegangene Aktion sich der Parameter bezieht. Spätestens jetzt rächt sich, wenn man zuvor nicht jede Aktion hinreichend unterschiedlich benannt hat.
Vergessen Sie unterwegs nicht, den Arbeitsablauf hin und wieder zu speichern.
Schleifen
In jeder der drei Sequenzen befindet sich nun am Ende eine Aktion zum Einschalten und Speichern des jeweiligen Layers. Wir wollen die Sequenz derart vereinfachen, dass das Einschalten und Exportieren nur durch eine gemeinsame Aktion realisiert wird. Dazu fügen Sie aus dem Register Dienstleistung der Aktionspalette die Aktion Für jedes nach der Sequenz hinzu.
Damit das System weiß, aus welcher Objektsammlung Sie die Elemente iterieren möchten, klicken Sie einmal auf den Hintergrund der forEach-Aktion und blenden das Eigenschaftsraster ein
. Klicken Sie in die Zelle der Zeile Collection und wählen aus dem untergeordneten Dialog Layer aus. In diesem Dialog finden Sie neben allen Sammlungen der aktuellen Karte auch die etwaig zuvor platzierten Aktionen zur Ausgabe von Listen (z.B. Liste von Objektklassen, Verbindungen usw.).
Schieben Sie die Layer-Einschalten-Aktion der Flurstücke in die Sequenz der forEach-Schleife und die Layer-Speichern-Aktion der Flurstücke darunter. Aus den anderen beiden Sequenzen entfernen Sie die entsprechenden Aktionen, so dass in jeder Sequenz nur die Erstellen-Aktion verbleibt. Ändern Sie die Layer-Einschalten-Aktion derart, dass Sie als Quelle die Wiederholungszeichenfolge wählen. In der Speichern-Aktion verweisen Sie auf den Layer aus der Einschalten-Aktion.
Speichern Sie Ihre Arbeit und testen Sie den Arbeitsablauf in einer leeren Zeichnung. Im Ausgabeordner sollten jetzt 3 Layerdateien enthalten sein.
Zwischen Arbeitsabläufen wechseln
Sehr wahrscheinlich sind Sie mit den Darstellungen der Layer nicht zufrieden. Ändern Sie die Layerstile nach Ihren Wünschen. Entfernen Sie beispielsweise die Füllung aus den Flurstücken, ändern die Füllfarbe in den Gebäuden und die Linienfarbe der linearen topographischen Darstellungen. Wie können Sie nun alle Layer erneut speichern? Ein erneutes Ausführen des Arbeitsablaufs würde ja nur neue Layer ergänzen.
Genau genommen würde es genügen lediglich die forEach-Schleife auszuführen. In diesem Fall speichern Sie einfach den aktuellen Arbeitsablauf unter einem neuen Namen
, z.B. Layer speichern. Löschen Sie bis auf die forEach-Schleife alle Aktionen aus dem Arbeitsablauf. Löschen Sie auch das Layer einschalten aus der Sequenz der forEach-Schleife. Korrigieren Sie in den Parametern der Layer speichern-Aktion die Quelle auf die Wiederholungszeichenfolge der forEach-Schleife. Führen Sie den Arbeitsablauf erneut aus und sie erhalten neue Layerdateien.
Layerdateien laden
Nachdem Sie nun eine Reihe von Layerdateien haben, wollen Sie diese auch in einer neuen Zeichnung laden. In der Regel würde es genügen, lediglich die Layerdateien zu laden, bei WMS-Diensten und dateibasierten Quellen zum Beispiel. Hier macht der Topobase-Provider leider wieder eine Ausnahme: vor dem Laden der Layerdateien muss eine Datenverbindung hergestellt werden. Diese kopieren wir uns einfach aus dem vorhandenen Arbeitsablauf. Öffnen Sie noch einmal den ersten Arbeitsablauf in den Arbeitsablauf-Designer. Markieren Sie die Aktion zum Herstellen der Datenverbindung zum ALKIS und kopieren Sie in die Zwischenablage. Erzeugen Sie einen neuen, leeren Arbeitsablauf und fügen Sie den Inhalt der Zwischenablage wieder ein. Speichern Sie den Arbeitsablauf, z.B. unter dem Namen Layer laden.
Fügen Sie nun aus dem Register Dienstprogramm die Aktion Verzeichnisinhalt beschreiben unter die Datenverbindungs-Aktion und klicken die neue Aktion doppelt. Benennen Sie die Aktion um, bestimmen den Quellpfad und ändern den Filter auf *.layer.
Fügen Sie nun die Aktion Für jeden hinzu und ändern in den Einstellungen am unteren Rand die Collection auf Files der Dateiaktion.
Fügen Sie in die Sequenz der forEach-Aktion eine neue Aktion Layerdatei laden aus dem AutoCAD Map 3D-Register der Aktionspalette hinzu. Klicken Sie die neue Aktion doppelt und verwenden Sie die Wiederholungszeichenfolge als Dateiname.
Führen Sie den neuen Arbeitsablauf in einer leeren Zeichnung aus. Die neu erstellten Layer sollten nun auf Anhieb geladen werden.
Schnellzugriff auf Arbeitsabläufe
Sie können nun die Palette des Arbeitsablauf-Designers schließen. In der Multifunktionsleiste werden nun alle einmal geladenen Arbeitsabläufe in der Auswahlliste angezeigt. Sie können jederzeit einen geeigneten Arbeitsablauf aktivieren und mit der nebenstehenden Schaltfläche Arbeitsablauf ausführen starten.
Weitere Aktionen
Neben den Aktionen zum Laden, Speichern und Entfernen von Layern gibt es noch weitere interessante Aktionen:
- automatisiert Geodaten verschiedener Quellen miteinander zu verschneiden
- die Ergebnisse abzuspeichern
- AutoCAD-Befehle auszuführen und dabei Parameter wie den Objektklassennamen zu übergeben.
Viel Spaß beim Ausprobieren!
© 07/2023 Mensch und Maschine acadGraph GmbH. Alle Rechte vorbehalten