Jump to content

EV Blöcke nicht als Skript sondern als visuelle Blöcke kopieren zwischen Anlagen


Elluminatus

Empfohlene Beiträge

Hi,

wie wäre es, wenn man zwischen Modellbahnen die EVs nicht nur per Skript exportieren könnte und wieder einfügen, sondern sogar die visuellen Blöcke. Damit könnten viele Skript unerfahrene Menschen viel mehr anfangen. Ähnlich wie bei Blockly, wo man ja auch als Skript exportieren kann, dies aber beim import wieder in die visuelle Blockstruktur zurückkonvertiert , wird?

Lieben Gruß
Elluminatus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @Elluminatus,

hallo @Neo,

das ist zwar etwas (leicht) anderes, ich hänge aber noch einen Wunsch zum Thema "visuelle Blöcke" an: Es wäre schön, wenn man auch in der graphischen EV einen oder mehrere Einträge auskommentieren könnte. Damit könnte man dann z.B. schneller auch mal eine Alternative austesten ohne etwas ganz löschen zu müssen. Die Kopie des ganzen Ereignisses hilft hier nur bedingt, denn ich darf ja nicht rückabwickeln, indem ich die Kopie nur in der Benennung (vermeintlich) wieder zum Original mache, wenn es sich um ein benutzerdefiniertes Ereignis handelt, denn dann stimmen die Aufrufe ja nicht mehr. Und Blöcke (zurück-) verschieben geht ja auch nicht, womit wir wieder beim Wunsch von @Elluminatus wären.

Beste Grüße

Phrontistes

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 42 Minuten schrieb Elluminatus:

wenn man zwischen Modellbahnen die EVs nicht nur per Skript exportieren könnte und wieder einfügen, sondern sogar die visuellen Blöcke.

Wie exportierst du ein Skript? Ist dir die Möglichkeit bekannt, Anlagen (und somit ihre EV samt Blöcken), in eine bestehende Anlage einzufügen?

Viele Grüße,

Neo

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @Neo,

es kann natürlich gut sein, dass er mit "Modellbahnen" ganze Anlagen gemeint hat und fertige Lösungen zwischen Anlagen transportieren will, was natürlich geht. Ich hatte die Programmierung der EV innerhalb einer Anlage im Blick, also eher diese Situation:

Beste Grüße

Phrontistes

Bearbeitet von Phrontistes
typo
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @Phrontistes,

verstehe ich dies richtig, ich müsste dann von einer bestehenden Anlage, wo ich die EV kopieren möchte alles auf der Anlage löschen, bis auf die EV?
Sorry hab es wohl noch nicht ganz verstanden.

Nehmen wir ein Besipiel, ich baue gerade meine Modellbahn "Rangieren" und erstelle mir dort ein GBS. In einer anderen Anlage im Katalog habe ich viele gute EV Skripte gefunden. Diese würde ich gerne importieren, aber natürlich nbicht die dortige Anlage und das dortige GBS, halt nur die EV. Geht dies?

Gruß Elluminatus

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 18 Minuten schrieb Elluminatus:

alles auf der Anlage löschen, bis auf die EV

Ja, wobei es noch einen Feature-Wunsch von mir gibt, dass Neo es ermöglicht, dass man beim Import angeben kann, ob man 1. die Objekte, 2. die EV und 3. die Fahrstraßen überhaupt haben will. Die Fahrstraßen sind besonders blöd, weil man nicht alle auf einmal löschen kann, nur alle, die zu einer Kategorie gehören.

Objekte löschen ist in der Strukturansicht ja eigentlich kein Problem.

Beste Grüße

Phrontistes

Bearbeitet von Phrontistes
Link zu meinem Feature-Wunsch eingefügt
Link zu diesem Kommentar
Auf anderen Seiten teilen

Indem man sie als neue, leere Anlage speichert?
Der Aufwand ist doch nur wenig größer als ein echter Export.

Das ist nicht die perfekte Lösung.
Aber mich interessiert, ob überhaupt genutzt wird was schon jetzt geht?
Oder ist es am Ende doch gar nicht sooo wichtig und die Mühe nicht wert?

Link zu diesem Kommentar
Auf anderen Seiten teilen

@Goetz Also ich würde mal als Anfänger gestehen, dass ich nicht genau verstanden habe, was ich genau machen muss um aus einer bestehenden Anlage (bspw 12FBFA21-6D56-444E-A59B-E7A4655EFE2D) die EV herauszufiltern...
Als Anfänger habe ich das Tutorial gesehen und mit gedacht super, diese EV brauche ich für mein GBS. Jetzt aber laufend von einer Anlage zur nächsten zu wechseln um zu schauen wie das jeweilige Modul heisst und was genau angeklickt werden muss ist schwierig, habe mir teilweise schon damit beholfen, die EV vom Bildschirm abzufotografieren, aber selbst da weiss ich teilweise nicht, wie die genau erstellt wurden...

Ich bin noch überfragt.

Gruß Elluminatus

@HaNNoveraNer Oh ein Hannoveraner (y) Gruß aus Altwarmbüchen

Bearbeitet von Elluminatus
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 30 Minuten schrieb Elluminatus:

was ich genau machen muss um aus einer bestehenden Anlage (...) die EV herauszufiltern.

Du

  1. öffnest die Anlage mit der gewünschten EV
  2. entfernst alles auf der Anlage, mit Ausnahme der EV.
  3. speicherst das Ergebnis als neue Anlage ab.
  4. öffnest die Anlage, in der du die EV verwenden willst.
  5. klickst auf das kleine Dreieck neben dem "Einfügen" Icon in der oberen Menüleiste
    Anlageimportieren.jpg.2ca5277b419c623d49f3ba84f0ea6f73.jpg
  6. wählst aus dem Auswahlmenü die Option Einfügen aus Anlage

Aber sei gewahr, dass eine EV mit jeder individuellen Anlage Anpassungen erfordert.
Und um die richtigen Anpassungen vorzunehmen, musst du verstehen was in der EV passiert.

Erst einmal benutzen und dann später irgendwann verstehen geht leider nicht.

Viele Grüße
Götz

Bearbeitet von Goetz
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi @Goetz,

super das hat geklappt. Und Du hast natürlich recht, erlernen muss man es.
Also nehme ich die Codeschnipsel bzw visuellen Blöcke und versuche nachzuvollziehen, wie dies gemeint ist.

Ich denke das ist ein guter Mittelweg?
Also von Anfang mit nem leeren Blatt hätte ich das nicht hinbekommen... muss ich ehrlich zugeben.
Da kenne ich noch nicht mal alle Begrifflichkeiten innerhalb des EV...

Beste Grüße Elluminatus

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 4 Minuten schrieb Elluminatus:

Ich denke das ist ein guter Mittelweg?

Meine Erfahrung bisher ist, dass dieser Weg nicht funktioniert.
Und wenn du mit der EV noch ganz am Anfang stehst, dann ist das Thema GBS für den Einstieg zu komplex.

Such dir ganz einfache Beispiele. Brummis Minianlagen sind dazu gut geeignet.
Studiere die, bis dir alle Vorgänge klar sind.

Dann überprüfe mit einer eigenen Minianlage, inwieweit du alles verstanden hast. Bau eine eigene Anlage und steuere sie mit einer eigenen EV.
Wenn es da hakt, dann such nach den Verständnislücken. Komm gerne hier ins Forum und frag, wenn dir Dinge unklar sind.
So kannst du Schritt für Schritt dein Wissen erweitern. Und deine Fehler nutzen, um daraus zu lernen. Unsere Fehler sind der beste Lehrmeister, den wir haben!

Viele Grüße
Götz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Halo @Elluminatus und alle anderen,

wenn man die Ereignissteuerung (oder Teile davon) aus einer bestehenden Anlage "isoliert" (d.h. ohne die Anlagen-Objekte) in eine andere Anlage übernehmen möchte, muss man folgendes beachten:

  1. Wie in den obigen Beiträgen bereits erwähnt, lassen sich einzelne EV-Einträge oder eine komplette EV nicht einfach mittels Copy&Paste in eine andere Anlage übertragen. Deshalb muss die EV immer zusammen mit ihrer (sie umgebenden) Anlage in die Ziel-Anlage importiert werden.
  2. Wenn man in der Ausgangs-Anlage alle Objekte löscht, um dadurch die EV zu "isolieren", verliert die EV alle in ihr enthaltenen Bezüge zu den Objekten der Anlage. Die Referenzen in der EV zeigen dann alle "[Leer]" und müssen deshalb in der neuen Anlage alle wieder korrekt "versorgt" werden, damit die EV in der neuen Anlage funktioniert.
  3. Da man mit dem Begriff "[Leer]" normalerweise wenig anfangen kann, empfiehlt es sich, die referenzierten Objekte in der alten Anlage beizubehalten und zusammen mit der EV in die neue Anlage zu importieren. Auf der neuen Anlage stellt man dann die Referenzen in der EV von den mit importierten Objekten auf die eigentlich zu referenzierenden Objekte um - und kann dann die Objekte aus der Ausgangsanlage löschen.
  4. Am geeignetsten für eine Übernahme auf andere Anlagen sind Ereignisdefinitionen, die keine absoluten, sondern nur relative Referenzen besitzen, die - zum Teil über Referenz-Ketten hinweg (verkettete Objektvariablen) - immer von sogenannten "Auslösern" ausgehen. Die "Auslöser"-Variable bezieht sich nämlich immer auf das ein Ereignis auslösende Objekt und ist damit eine relative (auf genau dieses Objekt bezogene) Referenz und muss damit nicht wie eine absolute Referenz explizit ausgetauscht werden.

Ein Beispiel für eine solche importierbare Ereignissteuerung ist in der "Bahnhofsmodul-Anlage 20211026" (Content-ID 8DE83A85-E844-482C-AD3C-E2C18633EFCA) enthalten, die in diesem Beitrag ausführlich beschrieben wird.

Viele Grüße
BahnLand

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @BahnLand,

vor 50 Minuten schrieb BahnLand:

Am geeignetsten für eine Übernahme auf andere Anlagen sind Ereignisdefinitionen, die keine absoluten, sondern nur relative Referenzen besitzen, die ... immer von sogenannten "Auslösern" ausgehen. Die "Auslöser"-Variable bezieht sich nämlich immer auf das ein Ereignis auslösende Objekt und ist damit eine relative (auf genau dieses Objekt bezogene) Referenz und muss damit nicht wie eine absolute Referenz explizit ausgetauscht werden.

So ist ist es. Und wenn man das beachtet, kann man sich eine Bibliothek bauen und (Feature-Wunsch) mit

vor 5 Stunden schrieb HaNNoveraNer:

sowas wie ein #include

in jede beliebige Anlage einhängen. So wie es jetzt ist, ist es ein mühsames und fehleranfälliges Hin und Her. Deshalb meine Bemerkung

vor 5 Stunden schrieb Phrontistes:

Da wäre die Freude groß, wenn Neo das auf die eine oder andere Weise implementieren würde.

Beste Grüße

Phrontistes

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

ich kann so viel sagen, dass das Thema bereits auf der Agenda steht. Mir geht es dabei aber nicht einfach nur um eine Sammlung von EV-Einträgen oder "includes", sondern ich möchte das Thema Module/Blöcke generell mehr ausbauen, sodass es noch einfacher wird, Anlagen aus verschiedenen Einzelteilen zusammenzustückeln. Es wird hier also Verbesserungen geben.

Viele Grüße,

Neo

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen.

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...