Jump to content

Empfohlene Beiträge

Geschrieben

Gibt es eine Möglichkeit in der EV auf eine änderbare Beschriftung eines Modells zuzugreifen. Diese auszulesen und weiter zu bearbeiten?

 

Mir fällt aktuell leider nur umgehrt eine Möglichkeit ein.

Geschrieben (bearbeitet)

In Lua:

$("Objekt_Bezeichner").name = "neuer_Name"  ,

 

... aber das meintest du wohl gar nicht.

Bearbeitet von Eggu
Geschrieben (bearbeitet)

Hallo @Anlagendesigner,

vor 29 Minuten schrieb Anlagendesigner:

Gibt es eine Möglichkeit in der EV auf eine änderbare Beschriftung eines Modells zuzugreifen

Ja

Screenshot2024-06-07125440.thumb.jpg.1da7003a406fe64ba1a35b817b383c99.jpg

bzw. mit Lua

$("Objekt").labels["Labelname"].text = ""

Nachtrag: Auslesen und Bearbeiten nur mit Lua.

-- auslesen - aber wozu?
txt = $("Objekt").labels["Labelname"].text
-- neuen Text zuweisen
txt = "Neue Beschriftung"
-- und reinschreiben
$("Objekt").labels["Labelname"].text = txt

Beste Grüße

Phrontistes

Bearbeitet von Phrontistes
Nachtrag
Geschrieben (bearbeitet)

Hallo @Anlagendesigner,

Mit Phrontistes Vorschlag bist du fast am Ziel.
Du musst nur noch das, was er vor das = Zeichen gesetzt hat, stattdessen dahinter setzen um den Text wie gewünscht auszulesen.

Beschriftungauslesen.thumb.jpg.162ad8e2b2a3466b929b4614fede0c37.jpg

Der folgende Code übertrug die Fahrzeugnummer des Triebwagens auf das Textfeld daneben

$("Textfeld").text = $("BR 628.4").labels["Fahrzeugnummer"].text     

Viele Grüße
Götz

Bearbeitet von Goetz
Ergänzungen
Geschrieben

Ok, danke.

Wie schon mal an anderer Stelle geschrieben, habe ich mich bisher nie mit LUA beschäftigt.

Wie sähe denn der Code aus, wenn das Objekt nicht feststeht, sondern durch einen Auslöser angesprochen wird.

 

Hintergrund:

Ich möchte beispielsweise gerne bei der Bahnhofseinfahrt die Zugnummer auslesen und diese in einem GBS anzeigen lassen.

Das ginge natürlich mit einer Objektvariablen, doch wenn der Text eh schon in einer Beschriftung vorhanden ist, ist es ja wenig sinnig das mit einer Objektvariablen zu doppeln.

Geschrieben (bearbeitet)

Hallo @Anlagendesigner,

der Name des Modells kann selbstverständlich auch mit der grafischen EV ausgelesen werden.

Modellname.thumb.jpg.b850f550bb7693656a9e906ef83301ef.jpg

Bild durch Anklicken vergrößern

Jedes Objekt (unabhängig vom Typ) besitzt insbesondere die Eigenschaft "Name". Im obigen Beispiel ist das Objekt, dessen Name als Eigenschaft ausgelesen wird, das Fahrzeug, welches das Ereignis beim Betreten des Gleiskontakts ausgelöst hat.

GBS.thumb.JPG.0582d9a61efb45cba3a6d6320cd9f2c3.JPG

Das Beispiel stammt aus meiner Anlage "Bahnhofsmodul-Anlage 20211026" mit der Content-ID 8DE83A85-E844-482C-AD3C-E2C18633EFCA, in der ich die Zugnummer genauso wie Du es haben möchtest in das Gleisbildstellput übertrage,

Viele Grüße
BahnLand

Bearbeitet von BahnLand
Geschrieben
vor 15 Minuten schrieb Anlagendesigner:

Wie sähe denn der Code aus, wenn das Objekt nicht feststeht, sondern durch einen Auslöser angesprochen wird.

das kommt auf den Auslöser an.
Wenn es sich um ein Fahrzeug handelt, dann benutzt du anstelle des Objektbezeichners vehicle

$("Textfeld").text = vehicle.labels["Fahrzeugnummer"].text   

Du kannst solche Schreibweisen ganz leicht herausfinden, indem du Befehle aus der grafischen EV in Lua wandelst.

inLuaumwandeln.jpg.0743038cd41403f5ee65b9f8ad8fd128.jpg

Die Sprache Lua schreibt man übrigens bitte nicht in Versalien, weil die Buchstaben keine Abkürzung sind.
siehe hier "What's in the name?"

 

Geschrieben
vor 1 Minute schrieb BahnLand:

der Name des Modells kann selbstverständlich auch mit de grafischen EV ausgelesen werden.

Der Name, ja.
Aber nicht die Beschriftungen. Und um die geht es hier.

Geschrieben
vor 4 Minuten schrieb Phrontistes:

Wo steht die bei Dir?

Dort, wo in meinem Beispielbild das Wort "Beispiel" steht   9_9
Also auf einem beschriftbaren Texturfeld:

vor 30 Minuten schrieb Anlagendesigner:

... doch wenn der Text eh schon in einer Beschriftung vorhanden ist ...

 

Geschrieben

Hallo @Anlagendesigner und @Goetz,

vor einer Stunde schrieb Anlagendesigner:

Gibt es eine Möglichkeit in der EV auf eine änderbare Beschriftung eines Modells zuzugreifen.

vor 11 Minuten schrieb Goetz:

Aber nicht die Beschriftungen. Und um die geht es hier.

Oh sorry - wer lesen kann ist ganz klar im Vorteil. :x:)

Viele Grüße
BahnLand

Geschrieben

Hallo @Anlagendesigner,

der Gedanke von @BahnLand ist naheliegend, denn einen Objektnamen hat Deine Lok immer, während eine änderbare Beschriftung nur wenige Modelle haben - und das dann womöglich auch noch unter verschiedenen Bezeichnungen. Die Erbauer sind da immer ziemlich kreativ.

Das geht sogar graphisch:

Screenshot2024-06-07165154.thumb.jpg.a45de5f99e2d14e23291a6b30a2ebc1b.jpg

Beste Grüße

Phrontistes

Geschrieben

Beim Objektnamen habe ich das Problem, das nach meinem jetzigen Stand, der nicht eindeutig genug ist.

Der Objektname ist ja zb ICE4 Triebwagen, ich brauche aber die Zugnummer, also zb ICE 12.

Im Regioverkehr ist es ja noch schlimmer, da ändert sich die Zugnummer je nach Richtung und Zeit wobei die Linienbezeichnung ja gleich bleibt und das Modell auch den selben Modellnamen hat, da ja identisch mit den anderen Zügen der Linie ist. Und mit der eindeutigen ID des Modells kann ich im GBS oder Anzeigeelementen ja wenig bis gar nichts anfangen.

Ich hoffe ich drücke mich soweit verständlich aus und man kann begreifen worum es mir geht.

 

@GoetzDas mit dem vehicle ist mir nicht klar. Bezieht sich das automatisch sobad ein Auslöser mit einem Fahrzeug interagiert oder wie genau?

@PhrontistesAktuell geht es mir um eine S-Bahn mit der Linienbezeichnung. Die kann dem Modell als Beschriftung beigefügt werden, so dass sie vorne und seitlich angezeigt wird. Diese Bezeichnung (zb S3 oder S16 wie in Köln) entspricht ja nicht dem Objektnamen, sonst käme es spätestens bei Zugverbünden mit mehreren angetriebenen Modellen zu Problemen. Bei mir entspricht aktuell der Modellname der (keine Ahnung wie man die nennt) Wagennummer der DB-Bezeichnung also im Regioverkehr der 440-3215-5 beispielsweise. Die ist einmalig.

Geschrieben
vor 4 Minuten schrieb Anlagendesigner:

bei Zugverbünden mit mehreren angetriebenen Modellen

Vermeide das, weil es zu Problemen führen kann.

vor 7 Minuten schrieb Anlagendesigner:

Beim Objektnamen habe ich das Problem, das nach meinem jetzigen Stand, der nicht eindeutig genug ist.

vor 4 Minuten schrieb Anlagendesigner:

das Modell auch den selben Modellnamen

Das ist nur ein Vorschlag. Den Namen kannst Du frei ändern.

vor 5 Minuten schrieb Anlagendesigner:

vehicle ist mir nicht klar

vehicle steht immer dann zur Verfügung, wenn das Ereignis es liefert. Das ist logischerweise bei diesen Ereignissen der Fall:

Screenshot2024-06-07211703.jpg.f94af64753b3c11093d0b288a5680f0f.jpg

vor 11 Minuten schrieb Anlagendesigner:

ändert sich die Zugnummer je nach Richtung und Zeit

Das ist wieder ein anderes Problem, weil der gleiche Zug im Laufe des Tages Richtung und Zugnummer (die wiederum mit der Wagennummer nichts zu tun hat) ändert. Wenn Du das abbilden willst, musst Du Fahrpläne programmieren und abarbeiten, was sich aber mit

vor 7 Stunden schrieb Anlagendesigner:

habe ich mich bisher nie mit LUA beschäftigt

beißt.

Beste Grüße

Phrontistes

Geschrieben (bearbeitet)
vor 2 Stunden schrieb Anlagendesigner:

Das mit dem vehicle ist mir nicht klar. Bezieht sich das automatisch sobad ein Auslöser mit einem Fahrzeug interagiert

Der Auslöser interagiert nicht mit einem Fahrzeug, sondern das Fahrzeug selbst ist bei bestimmten Ereignissen (z.B. Zug betritt Kontakt) ein Auslöser.
Wenn ein Fahrzeug einen Kontakt betritt, dann lösen diese beiden Objekte (durch ihr Zusammentreffen) das Ereignis "Zug betritt Kontakt" aus.

Ereignisse werden durch Objekte aus unterschiedlichen Kategorien ausgelöst.

  • Zug betritt Gleis -> 3 Auslöser, Fahrzeug und altes Gleisstück und neues Gleisstück,
    Lua Namen vehicle und oldTrack und track
  • Signal schaltet -> 2 Auslöser, Signal und Stellung,
    Lua Namen signal und state
  • Schalter wird betätigt -> 2 Auslöser, Schalter und Stellung,
    Lua Namen controller und state
  • Fahrstraße wird aktiviert -> 2 Auslöser, Fahrstraße und Stellung,
    Lua Namen route und state
  • Kran hat Transportgut aufgenommen -> 3 Auslöser, Kran, Transportgut, Aktion,
    Lua Namen crane, target, state

etc. (nur ein paar Beispiele zum besseren Verständnis des Prinzips.)

Wähle die Auslöser in der grafischen EV, wandle den Befehl in Lua und du siehst, welche Namen Neo den Auslösern aus verschiedenen Kategorien zugewiesen hat.

Bearbeitet von Goetz
Schreibfehler korrigiert

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...