Das Wissen aller Anwender nutzen

Im Allplan Connect Forum tauschen sich Anwender aus, geben wertvolle Tipps oder beraten sich bei ganz konkreten Aufgabenstellungen − auch international.
Und damit wirklich keine Frage unbeantwortet bleibt, unterstützen die Mitarbeiter des Technischen Supports ebenfalls aktiv das Forum.

Es erwarten Sie:

  • Foren-Vielfalt aus CAD Architektur, CAD Ingenieurbau uvm.
  • Tipps von User für User
  • international: Deutsch, Englisch, Italienisch, Französisch und Tschechisch

Melden Sie sich jetzt an und diskutieren Sie mit!

Zur Registrierung

[Frage] Layer Smartpart [Gelöst]

Schlagworte:
  • Layer
  • SmartPart

Hallo zusammen,

Wie lautet der der korrekte Befehl um zum Beispiel eine Linie auf einem bestimmten Layer zu erzeugen? Oder wird immer automatisch der aktuelle Layer ausgewählt? Angenommen mein Wunschlayer heißt V-Anker, dann steht doch in meinem Skript im SmartPart-Editor entweder LAYER „V-Anker“ und dann der Linienbefehl oder LAYER 32773 und dann der Linienbefehl (Wenn der Layer die Nummer 32773 hat). Bei mir wird jedoch immer der aktuell ausgewählte Layer ausgewählt, unabhängig von dem was im Editor steht. Muss der Layer noch zuerst als Parameter definiert werden oder wo liegt mein Denkfehler?

Viele Grüße
Niklas

Lösung anzeigen Lösung verbergen

Den Layer aus einem Parameter zu holen, und damit änderbar zu machen, ist sicher nicht verkehrt.
Nicht in allen Projekten ist der Layer mit der Nummer 32773 und dem Namen „V-Anker“ vorhanden,
und möglicherweise möchte man auch einen anderen Layer zuweisen.

Also definiert amn einen Parameter "lyr" mit dem Typ Layer, und läßt sich den Parameter auch him Dialog/Palette anzeigen.
Das control besteht dann aus einer Combobox zur Auswahl des Layers/Layernamens. Intern hält der Parameter "lyr" eine Ganzzahl, die ID des Layers.

Die Definition des Layers im Script erfolgt per Direktive. D.h. Man definiert einen Layer, den alle folgenden Elemente erhalten.
Diese Direktvie gilt solange, bis man etwas anderes definiert, z.B.:

LAYER lyr
LINE2 0,0,1,0 !Linie auf Layer des Parameters lyr
LAYER 3700
LINE2 1,1,2,0 !Linien auf Layer KO_ALL01

Hi Nyglas,

ich bin zwar nicht sattelfest bzgl. der Definition von Makros, aber so wie ich es verstehe erhalten Makros beim Absetzen entweder immer den aktuell eingestellten Layer oder den Standard-Layer. Vielleicht hilft Dir das weiter?!

Mit besten Grüßen, Kai

| Ingenieurbau&Allplan seit V15 | aktuell: V2024-1-3 |

Anhänge (1)

Typ: image/jpeg
40-mal heruntergeladen
Größe: 687,31 KiB

Definition des SmartParts/Makro liegt auf einem Layer und die Inhalte können auf unterschiedlichsten Layern gelegt werden.
im Tooltip sieht man immer "nur" den Layer der Definition und nicht der der Inhalte (es wird aber auch nciht Linie angezeigt).

Namenlos gezeichnet in vollem Bewusstsein - ignorant, in eigen Augen vermutlich höflich, dennoch unhöflichst, unfreundlichst wer einen/viele vermutete - sich von alters erschließende Namen nennt.
[b]

Den Layer aus einem Parameter zu holen, und damit änderbar zu machen, ist sicher nicht verkehrt.
Nicht in allen Projekten ist der Layer mit der Nummer 32773 und dem Namen „V-Anker“ vorhanden,
und möglicherweise möchte man auch einen anderen Layer zuweisen.

Also definiert amn einen Parameter "lyr" mit dem Typ Layer, und läßt sich den Parameter auch him Dialog/Palette anzeigen.
Das control besteht dann aus einer Combobox zur Auswahl des Layers/Layernamens. Intern hält der Parameter "lyr" eine Ganzzahl, die ID des Layers.

Die Definition des Layers im Script erfolgt per Direktive. D.h. Man definiert einen Layer, den alle folgenden Elemente erhalten.
Diese Direktvie gilt solange, bis man etwas anderes definiert, z.B.:

LAYER lyr
LINE2 0,0,1,0 !Linie auf Layer des Parameters lyr
LAYER 3700
LINE2 1,1,2,0 !Linien auf Layer KO_ALL01