Jump to content

EASY

Mitglieder
  • Gesamte Inhalte

    3386
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von EASY

  1. Hallo @wkh, noch ein kleiner Nachtrag zu deiner Methode mit "string.sub". Die Funktion berücksichtigt nicht die utf-8 Codierung. Manche Zeichen (z.B. Umlaute) belegen 2 (oder mehr) Byte. Beispiel... local a="abcdef7ghi" local b="äbcdef7ghi" print(a,"a,7,7",string.sub(a,7,7)) print(b,"b,7,7",string.sub(b,7,7)) ...liefert als Ergebnis... [20:42:28] Ereignisprotokollierung gestartet [20:43:02] abcdef7ghi a,7,7 7 -- -> gewünschtes Ergebnis [20:43:02] äbcdef7ghi b,7,7 f -- -> falsches Ergebnis ...damit würde dein System der Extraktion von Parametern über den Namen nicht immer zuverlässig funktionieren. Gruß EASY
  2. Hallo @wkh, ich kenne deinen Anwendungsfall nicht, deshalb mal nur als Idee... Wenn du anstatt einer Funktion ein benutzerdefiniertes Ereignis definierst, dann kannst du als Übergabeparameter (Variable) direkt diese Variable als Typ "Objekt" definieren und mußt nicht eine "Rückumwandlung" über getEntityByName machen... Gruß EASY
  3. Hallo, nach deiner Beschreibung... ... mußt du diesen Weg gehen... Vielleicht möchtest du auch die Anlage exportieren und hier die .mbp Datei mit einstellen. Probleme mit der EV sind nach nur Beschreibungen meistens schwer nachzuvollziehen Gruß EASY
  4. Hallo @Klartexter, ich weiß nicht ob Dir das weiter hilft... ... als die Kontaktpunkte im MBS eingeführt wurden, habe ich mir folgendes für das Merken der Funktionsweise angelegt... Gruß EASY
  5. Hallo, Irdendwo ist in der wiki "Modellbau" -> "Grundbegriffe" -> "Aktionen"... Gruß EASY
  6. Hallo, nachdem es immer wieder Thema war, wie der Inhalt von einem Depot angezeigt werden kann, habe ich ein älteres Projekt wieder aufgegriffen und eine Vorlage hierfür geschaffen, die nur aus EV besteht. Ausgangspunkt ist eine Testanlage mit 4 Depots... ... die Vorlage über "Einfügen aus..." in die Anlage importieren (bei mir ist es im Katalog gespeichert) ... für eigene Versuche ... "aus Datei"... ... wie man sieht besteht es nur aus EV... ... diese Ereignisse werden importiert... Als Vorbereitung: Zuerst einen Schalter hinzufügen ("Variablen ins Depot") oder frei wählbarer Name... ... dann zu jedem Depot ein Textfeld hinzufügen... (wichtig ist die Textausrichtung Mitte (zentriert) und die Auswahl einer Schrift mit konstanter Breite)! Im ersten Ereignis muß der Schalter "Variable ins Depot" manuell ausgewählt werden... Zum Auslesen von z.B. "Depot 1a" dieses Ereignis auswählen... ... und die Variablenliste ausfüllen... ... das Ergebnis (betätigen von "Variable ins Depot") ist eine einfache Liste vom Depotinhalt... Für das Auslesen von "Depot 1c"... (Die Fahrzeuge in diesem Depot haben noch die Objektvariable "Zugtyp" für weitere Informationen) ...Anlegen eines weiteren Ereignisses (das erste kann einfach kopiert werden) und ausfüllen der Variablenliste... ... das Ergebnis (betätigen von "Variable ins Depot"). Der Liste für das Auslesen von "Depot 1b" sollen Taster hinzugefügt werden, mit denen das Fahrzeug aus dem Depot entlassen werden können. Hierfür sind folgende Vorbereitungen zu treffen... ... zuerst eine genügende Anzahl von Tastern ("Taster klein" 5AE0823B-8C93-4D03-A559-3E022486CB89) zur Verfügung stellen. Es müssen mindestens so viele Taster sein, wie das Textfeld an Zeilen maximal anzeigen kann (Richtwert 35 Stück)... ... im Textfeld die Objektvariable "Taster" (Liste) anlegen (wichtig ist der Name "Taster"!)... ... und die Taster in die Liste übernehmen... ... dann wieder ein neues Ereignis anlegen und die Variablenliste ausfüllen... (diesmal soll als Zusatzinformation die Geschwindigkeit der Fahrzeuge im Depot angezeigt werden)... ... das Ergebnis (betätigen von "Variable ins Depot")... ... P.S. den Tastern wurden eindeutige Namen vergeben Für das Auslesen von Depot "Depot GW" (das Depot enthält Güterwagons, diese sollen mit Tastern aus dem Depot entlassen werden können ->Taster und Variable "Taster" im Textfeld nicht vergessen)... ... noch ein Ereignis anlegen und die Variablenliste ausfüllen... ... das Ergebnis (betätigen von "Variable ins Depot") So sieht dann das Gesamtergebnis aus... Vordefinierte Ereignisse: 1) Entlassen eines Fahrzeugs mit einem Taster auf der Liste... 2+3) Aktualisierung der Liste wenn ein Fahrzeug ein Depot betritt oder verlässt... 4) um z.B. das Depot "Depot 1a" manuell auszulesen, muß ein Taster mit diesen Objektvariablen angelegt werden... (Schlagwort "DepotAuslesen" und in "Depot" das entsprechende Depot eintragen) 5) Besitzt ein Gleiskontakt diese Objektvariablen... (Schlagwort "InDepot" und in "Depot" das entsprechende Depot eintragen)... ... dann wird das Fahrzeug beim Betreten zum entsprechenden Depot gesendet... Hier noch die Testanlage für Versuche... 2025-06-14-Depotliste Test.mbp ... und die Vorlage für den EV Import... 2025-06-14-Vorlage Depotliste.mbp P.S. Das ausschlaggebende erste Ereignis ist extra in der grafischen EV gehalten, was das Ausfüllen der Variablenliste erleichtert. Der Rest ist in lua... aber da schon vorgegeben nicht gleich erschrecken... Wie immer Anregungen und Anmerkungen... gerne! Gruß EASY
      • 9
      • Gefällt mir
  7. Hallo, persönlich würde ich die Kontaktpunkte für alle Modelle auf die x-Achse (an das linke und rechte Ende des Modells) legen und das mittlere Modell in y-Richtung verschieben. So kann man am einfachsten die Modelle kombinieren, wie man möchte... Gruß EASY
  8. Hallo @Thomas_103, es gab in der Vergangenheit schon ein paar (private) Download-Bereiche in denen Modelle ausgetauscht werden konnten. Leider zeigte die Erfahrung, daß dies immer wieder für größeren Ärger gesorgt hat. Nicht prinzipiell, aber teilweise wurde so auch (leider) versucht sich der (vermeidlichen) "Gängelei" durch die Vorgaben für den Modellbau zu entziehen, was natürlich bei den "anderen" Modellbauern, die sich daran gehalten haben, zur Fragestellung geführt hat, warum man den Aufwand betreibt... Gruß EASY
  9. Hallo, function DepotInhalt(Depot) local Anzahl = Depot.count if Anzahl > 0 then -- local Textmuster_Zeile = "%2d %-16s %-20s" local Textmuster_Zeile = "%2d %-16s %-16s %-15s" -- Formatierung für Ziel erweitern local Textmuster_Zusatz = " und %d weitere Züge" local Zugname = Depot.entries[0].name local Zuggattung = Depot.entries[0].variables["Zugtyp"] or " " local Ziel = Depot.entries[0].variables["Ziel"] or " " --Ziel Variable auslesen hinzufügen -- local Liste = {Textmuster_Zeile:format(1, Zugname, Zuggattung)} local Liste = {Textmuster_Zeile:format(1, Zugname, Ziel, Zuggattung)} -- Eintrag um "Ziel" erweitern local Leerzeile =" " local lfdNr = 1 for k, v in ipairs(Depot.entries) do if Anzahl > 10 and k >= 9 then Liste[10] = Textmuster_Zusatz:format(Anzahl-9) break else Zugname = v.name Zuggattung = v.variables["Zugtyp"] or " " Ziel = v.variables["Ziel"] or " " --Ziel Variable auslesen hinzufügen -- table.insert(Liste, Textmuster_Zeile:format(k+1, Zugname, Zuggattung)) table.insert(Liste, Textmuster_Zeile:format(k+1, Zugname, Ziel, Zuggattung)) -- Eintrag um "Ziel" erweitern lfdNr = k+1 end end if Anzahl <= 10 then for i = lfdNr+1, 10, 1 do Liste[i] = string.format("%2d",i) end end return table.concat(Liste, "\n") else return " Depot ist leer" end end Hinweis: Damit eine "saubere" Formatierung vorgenommen wird, sollte... ... für das Textfeld eine Monospace-Schrift verwendet werden (Schrift mit konstanter Breite für alle Zeichen) z.B: Consolas, Liberation Mono, Lucia Sans Typewriter, MS Gothic ... nach dieser Definition local Textmuster_Zeile = "%2d %-16s %-16s %-15s" der Zugname nicht mehr als 16 Zeichen, das Ziel nicht mehr als 16 Zeichen und der Zugtyp nicht mehr als 15 Zeichen lang sein. P.S. nicht erprobt... müßte aber so funktionieren. Gruß EASY
  10. Hallo, noch ein allgemeiner Hinweis: Das Textfeld ist in seiner max. Breite beschränkt. Wenn eine Zeile zu lang ist, findet ein Übertrag in eine weitere Zeile statt. Das Textfeld ist in seiner max. Höhe beschränkt. Wenn zu viele Zeilen vorhanden sind, werden diese nicht mehr angezeigt. Die max. Größe des Textfeldes ist 640x640 mm in H0 (1:87) -> 55,68x55.68 m (1:1) somit ist die max. Anzahl von Zeichen je Zeile und von Zeilen begrenzt. z.B. Schrift Consolas -> max. 58 Zeichen je Zeile (-1 Zeichen für Zeilenumbruch -> 57 Zeichen) -> max. 27 Zeilen z.B. Schrift MS-Gothic -> max. 64 Zeichen je Zeile (-1 Zeichen für Zeilenumbruch -> 63 Zeichen) -> max. 31 Zeilen P.S. Damit kann man schon einmal überschlägig "berechnen" wie viel Textfelder und Flächenverbrauch nötig wären um 1000 Einträge darzustellen... ... und ob man da wirklich noch einen Überblick hat... sei dahingestellt Gruß EASY
  11. Hi, Track contacts are available for this application. You can position them anywhere and work with them... Or what do you want to do with the (new) contact point you want? EASY
  12. Hi, Although a water surface follows the curvature of the earth, it aligns itself horizontally on the scale on which model systems are built. So what sense would it make to change this property? Your layout with the cube is a fun experiment to explore the possibilities of the program, but it has nothing to do with layout construction, which is what it was designed for. EASY
  13. Hi, No!!! publish the layout in which it happens. So someone can (maybe) find out why... EASY
  14. Hallo, es ist weniger die Lösung eines Problems. In einer Versuchsphase wäre es allerdings praktisch, wenn man optisch (auf die Schnelle) sehen könnte, ob ein Depot leer ist oder nicht. Gruß EASY
  15. Hi, Theoretically, a track contact could be added to the directional arrow (A0D68992-8AD4-4D02-B4AA-C4093540D631) in the model. Information about the direction is not possible. This information would have to be processed via the event management. EASY
  16. Hi, ... why this???? ... vehicle.couplers[1].connectedCoupler is always nil when vehicles not coupled! EASY
  17. Hi, How do you want to detect that a collision has taken place? EASY
  18. EASY

    EASY's kleiner Modellbau

    Hallo @Neo, das Modell "Loklift" (A608699F-3D38-4B05-BB1C-AD29E168F2C0) ist final hochgeladen und wartet auf Freigebe. Ich habe es im Katalog unter "Verkehrswege", "Gleise", "Zusätzlich" untergebracht. Solltest Du einen besseren Ort befinden... gerne. Gruß EASY
  19. Hallo, prinzipiell kennt das MBS keinen Taster. Von der Definition her ist ein Taster ein Element dessen (Schalt-)funktion zeitlich auf die Betätigungszeit begrenzt ist. Im MBS kann man nicht z.B. 5 Sekunde lang auf einen Taster drücken und er ist in dieser Zeitspanne aktiv. Ein Taster im MBS ist eigentlich nur eine optische Illusion... Gruß EASY
  20. EASY

    EASY's kleiner Modellbau

    Hallo, ich habe die Vitrine nach Euren Anregungen etwas überarbeitet... ... die Textfelder können ein- und aus-geblendet werden und der äußere Kasten hat eine Tauschtextur bekommen, so daß er gestalterisch angepasst werden kann. Noch einmal als Entwurf hochgeladen A608699F-3D38-4B05-BB1C-AD29E168F2C0 und zum Ausprobieren... Loklift.mbp Gruß EASY
  21. Hallo, ... nicht in jeden Fall... siehe wiki oder Kapitel 6 in Deiner .pdf 6. Stablicht (Leuchtröhre) als gerichtetes Licht (_TubeLight-Objekt mit Nullpunkt am Anfang des Leuchtstabs) Gruß EASY
  22. Hallo, ... da ich es mir momentan noch nicht so richtig vorstellen kann, könntest Du mal ein Beispiel Snipsel/Baustein machen das sich auf ein Modell bezieht? (für eine bestimmte Art von Modellen z.B. Kräne könnte ich es mir vorstellen, aber zu einem bestimmten Modell nicht so richtig...) Gruß EASY
  23. EASY

    EASY's kleiner Modellbau

    Hallo, ... verstehe ich nicht so ganz, was du damit meinst Gruß EASY
  24. Hallo @Fifof, ... das neue Modell (ID A608699F-3D38-4B05-BB1C-AD29E168F2C0) hat sich deinen Wünschen entsprechend farblich angepasst Gruß EASY
  25. Hallo, Es gibt derzeit 2 Modelle. Wenn du das Modell mit der ID 4AEDA530-740C-43F0-8A79-485E99974E3C auf der Anlage hast, dann läuft es bei dir noch. Aus den im anderen Beitrag genannten Gründen, kann ich dieses Modell aber so nicht final in den Katalog bringen (Problem mit der Erzeugung von LOD Stufen). Das Modell wäre also nach dem Ablauf der Entwurfszeit (30 Tage) nicht mehr verfügbar. Das neue Modell hat die ID A608699F-3D38-4B05-BB1C-AD29E168F2C0. Mit dem geht zwar Deine Steuerung prinzipiell immer noch, aber es kann durch "ersetzen" nicht einfach ausgetauscht werden, sondern nur durch manuellen Austausch. Somit müssen evtl. vorhandene Objektvariable und objektbezogene Einträge in der EV neu gesetzt werden. Solltest du dazu noch Fragen haben... gerne! ... kann ich gerne noch berücksichtigen Gruß EASY
×
×
  • Neu erstellen...