[Question] Layer Smartpart [Solved]


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

Show solution Hide solution

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-

Attachments (1)

Type: image/jpeg
Downloaded 36 times
Size: 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.
08.01.2024 - Gegen Bauernsperren! -> Boykott der direktverkaufenden Bauern - kauft nicht mehr direkt bei Bauern!

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


https://campus.allplan.com/ uses cookies  -  More information

Accept