Jump to content

EASY

Mitglieder
  • Gesamte Inhalte

    3391
  • Benutzer seit

  • Letzter Besuch

13 User folgen diesem Benutzer

Alle anzeigen

Letzte Besucher des Profils

Der "Letzte Profil-Besucher"-Block ist deaktiviert und wird anderen Benutzern nicht angezeigt.

  1. Hallo, The interiors are represented by textures of the window panes... Die Innenräume werden durch Texturen der Fensterscheiben dargestellt... EASY
  2. Hallo, ... in der .zip Datei "Blender Lichtkonfiguration" gibt es dazu auch eine .pdf (Blender MeshLight.pdf)... Gruß EASY
  3. Hallo Prinzipiell stimmt diese Aussage nicht ganz. Von der Definition her ist es eine Lichtquelle... allerdings mit zu kleinen Abmessungen und somit Reichweite ja, und du kannst jedes beliebige Objekt verwenden (da es nicht im Modell im MBS angezeigt wird und auch nicht zur Polygonzahl beiträgt) (oder das Blendereigene "Hinzufügen" -> "Licht" -> "Punkt") @Neo ... hier fehlt (vielleicht) noch der Hinweis, daß es ein Hilfsobjekt ist, das im MBS nicht angezeigt wird... Gruß EASY
  4. Hallo, Kennst du schon die .zip Datei "Blender Lichtkonfiguration" in der wiki Modellbau -> Grundbegriffe -> Lichter? Dort habe ich versucht die unterschiedlichen Konfigurationen für Lichter in Blender zu beschreiben. Das _PointLight Objekt ist ein virtuelles Objekt, das im Modell im MBS nicht angezeigt wird. Seine Abmessung in z-Richtung beschreibt den Durchmesser einer Kugel, die die Reichweite des Lichtes darstellt. Dabei ist allerdings zu beachten, daß die Lichtstärke mit dem Abstand vom Mittelpunkt abnimmt und an der Kugeloberfläche 0 ist. Ist deine Lichtquelle bei der Laterne z.B. 2,5 m über dem Boden, so muß das _PointLight Objekt in der z-Ausdehnung > 5m haben, damit der Lichtschein auf dem Boden sichtbar ist. Zu beachten ist, daß das _PointLight vom Mittelpunkt aus gesehen in alle Richtungen Licht abstrahlt. Es entspricht zwar nicht ganz deiner Konstruktion, aber vielleicht bist du für die Darstellung mit einem Spotlicht besser bedient. P.S. Für Versuche kannst du auch zuerst das Modell ohne Lichtquelle in das MBS bringen. Positioniere dann die "Lichtquelle" aus dem Katalog 40F62DD2-BC17-44C1-BF50-CC8CB7F9D5B0 an die Position der gewünschten Lichtquelle im Modell. In den Eigenschaften, kannst die dann die unterschiedliche Lichtquellen und deren Parameter auswählen und einstellen und deren Wirkung im MBS ausprobieren. Dann hast du für das Blendermodell schon einmal Anhaltspunkte für die Parameter das Lichtobjektes. Gruß EASY
  5. Hallo, Dein Beispiel ist zwar auch eine Lösung... ... die einfachere Lösung zum Merken ist allerdings diese... ... weiße Spitze nach außen. (Welche Lösung man wählt, hängt noch davon ab, ob und wie man die Objekte gegeneinander verdrehen möchte...) Gruß EASY
  6. 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
  7. 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
  8. 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
  9. 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
  10. Hallo, Irdendwo ist in der wiki "Modellbau" -> "Grundbegriffe" -> "Aktionen"... Gruß EASY
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
×
×
  • Neu erstellen...