-
Gesamte Inhalte
3359 -
Benutzer seit
-
Letzter Besuch
Alle erstellten Inhalte von EASY
-
Vorhandene Gleisstrecke und mit geplanter Gleisen erweitern ( Zukunft )
EASY antwortete auf h.w.stein-infos Thema in Fragen zur Steuerung
allo Hans, Hast Du Dir das in etwa so vorgestellt? Alte Strecke... ...neue Strecke... In lua sieht das Schalten des Schalters so aus... --[[ Schalter "Alt Neu" wird betätigt Referenzgleis "Ref z" -> Gleis ohne Bettung "Gruppe alt" -> grün "Gruppe neu" -> gelb --]] local zref=$("Ref z").transformation.position.z --Referenzgleis für z Wert local posalt=$("Gruppe alt").transformation.position --Position Gruppe "Gruppe alt" local posneu=$("Gruppe neu").transformation.position --Position Gruppe "Gruppe neu" if state==0 then --Schalterstellung=0 posalt.z=zref --z Position Gruppe "Gruppe alt" auf Referenzwert setzen posneu.z=zref-1 --z Position Gruppe "Gruppe neu" 1 unter auf Referenzwert setzen $("Gruppe alt").visible=true --"Gruppe alt" einblenden $("Gruppe neu").visible=false --"Gruppe neu" ausblenden else --Schalterstellung=1 posalt.z=zref-1 --z Position Gruppe "Gruppe alt" 1 unter auf Referenzwert setzen posneu.z=zref --z Position Gruppe "Gruppe neu" auf Referenzwert setzen $("Gruppe alt").visible=false --"Gruppe alt" ausblenden $("Gruppe neu").visible=true --"Gruppe neu" einblenden end $("Gruppe alt").transformation.position=posalt --"Gruppe alt" auf (neue) Position setzen $("Gruppe neu").transformation.position=posneu --"Gruppe neu" auf (neue) Position setzen ... ich hoffe die Kommentare sind erklärend genug was da vor sich geht... ... noch die Projektdatei... Strecke alt_neu.mbp Gruß EASY -
Hallo max, super Modell zwei Sachen sind mir aufgefallen... Beim Fahrstand gibt es in der Seitenwand einen "Belüftungsschlitz"... Beide Fahrstände haben von unten betrachtet keinen Boden... Gruß EASY
-
Hallo, ... nix da mit leid tun... Du kannst ja nicht wissen was ich mir damals dabei gedacht habe... ...ständig ... mit Schlagwort "Tender" sieht die Auswertung von Ereignis "Zug betritt das Gleis 'Ablauf' jetzt so aus: --[[ Wenn kein Wagon mehr vorhanden oder "Tender" erreicht -> Lok in entgegengesetzter Richtung wegfahren --]] wl=layout:getVehicleGroup(vehicle) if #wl==1 or (#wl==2 and wl[2].variables["Tender"]==keyword) then vehicle.targetSpeedAbs=-40 end Zug neu Aufbauen01a.mbp Gruß EASY
-
Hallo, diese Methode wende ich hier an... (und man darf beim Zusammenbau nicht vergessen die Kupplungen wieder zu aktivieren). Auf das jetzige Beispiel bin ich ursprünglich gekommen als ich festgestellt habe, daß es ein funktionierendes Entkopplungsgleis gibt. Ich weiß nicht wie lange es dieses schon gibt... ist bis vor kurzem an mir vorbeigegangen... Da dieser Thread dafür gedacht ist eben solche Lösungen vorzustellen gibt es vielleicht auch noch andere Interessenten... Gruß EASY
-
Hallo, Manche Problemlösungen lassen sich mit der EV nicht direkt lösen, deshalb dachte ich ich eröffne diesen Thread und gebe einen Einblick, was in diesem Fall in meinem Kopf so vor sich geht um eine Lösung zu finden. Ich möchte einen Zug zerlegen und wieder neu mit veränderter Wagonreihenfolge zusammenstellen. Hierfür habe ich mir einen "doppelten" Ablaufberg zusammengebastelt... ... die Definitionen für das Entkupplungsgleises als Weiche... Das erste Problem ist: ...wann ist beim Zerlegen des Zuges nur noch die Lok überig? Meine Lösung: ... durch den ablaufenden Wagon (Entkoppelt durch das Entkupplongsgleis) entsteht im Zug eine Lücke... ... dadurch tritt das Ereignis "Zug betritt das Gleis 'Ablauf' immer wieder erzeugt... ... wenn nur noch die Lok überig ist... ergibt die Auswertung dieses Ereignisses mit #layout:getVehicleGroup(vehicle) gleich 1... if #layout:getVehicleGroup(vehicle)==1 then vehicle.targetSpeedAbs=-40 end ... und die Lok fährt in die entgegengesetzte Richtung wieder weg. Das zweite Problen ist: Wann ist der Zug wieder zusammengesetzt? (erst dann soll er weiterfahren)... ... hierzu wird das Ereignis "Zug Fahrzeug verläßt virtuelles Depot" ausgewertet... Wenn der letzte Wagon aus dem Depot tritt (depot.count=0) wird dieser in einer Schleife "verfolgt"... --[[ Ist der letzte Wagon angekoppelt? -> Zug wieder vollständig. -> Solange der letzte Wagon aus dem Depot ein Einzelfahrzeug ist, ist der Zug nicht vollständig --]] if not deferredCall then if depot.count==0 then defer(1,"v1") end elseif deferredCall=="v1" then if #layout:getVehicleGroup(vehicle)==1 then -- letzte Wagon aus Depot ist Einzelfahrzeug? (-> Schleife) print("Zug ist nicht zusammengestellt") defer(1,"v1") else -- letzte Wagon aus Depot hat angekoppelt (ist kein Einzelfahrzeug mehr) print("Zug ist zusammengestellt") $("Ausfahrt").state=1 --Ausfahrtsignal auf Fahrt (1) end end bis... #layout:getVehicleGroup(letzter Wagon aus Depot)>1 ist (dann hat er angekoppelt...)... ... und das Signal kann auf Fahrt schalten und den Zug in Bewegung setzen. Nachtrag: hier noch das Projekt Zug neu Aufbauen01.mbp Ich weiß nicht wie groß das Interesse an solchen indirekten Lösungen ist, darum bin ich auf Reaktionen gespannt... Wenn jemand für andere Probleme, die sich nicht direkt in der EV lösen lassen, Verschläge hat... gerne hier als Fortsetzung... Gruß EASY
-
Hallo, Da ich schon etwas länger hier im Forum unterwegs bin erlaube ich mir folgende Anmerkung: Ein System mit Modellen aus Grundbausteinen würde nach meiner Meinung die gleiche Diskussion hervorrufen wie der Modellbau mit Grundkörpern vom MBS. Deshalb stelle ich an dieser Stelle die Frage, ob es sich bei dem Beispielmodell das Du weiter oben zeigst um ein Modell handelt, das nur die Oberfläche darstellt oder ob die Steine voll ausgebildet sind. Wenn die Steine voll ausgebildet sind, sind viele Flächen überdeckt, was zu vielen unnötigen Polygonen führt und die Problematik würde sich wiederholen... Ich schreibe dies nicht um als Spaßbremse aufzutreten... ich habe hier nur schon viel Diskussion und Frust erlebt weshalb ich es als sinnvoll erachte dies schon im Vorfeld zu kären, bevor (viel) Zeit investiert wird.... Gruß EASY
-
Animation Dampfzugantrieb (SketchUp)
EASY antwortete auf MX1954LLs Thema in Modellbau mit externen Programmen
Hallo Lothar, ... gar nicht... Du darfst nicht mit "_Wheel0" arbeiten. Du braucht eine Animation "_AnimWheel" in der alle Bewegungsabläufe definiert sind (inklusive der Drehung des Rades)... ... max war ein paar Sekunden schneller... Gruß EASY -
Animation Dampfzugantrieb (SketchUp)
EASY antwortete auf MX1954LLs Thema in Modellbau mit externen Programmen
Hallo, ich kann Dir wahrscheinlich nur etwas weiterhelfen... ich arbeite mit Blender und meine Zeit von Skechup und .x Dateien ist schon etwas her... ... Du hast ja auch nur eine Rotation in der Animation definiert. Die Schubstange folgt in der Position dem Befestigungspunkt am Rad und Dein Winkel der Rotation ergibt sich daraus, daß die Schubstange auf den Befestigungspunkt mit der Kolbenstange ausgerichtet sein muß... Die Zusammenhänge sind leider keine linearen Funktionen, so daß Du Dich da noch mit diversen Sinus- und Cosinus- Funktionen herumschlagen mußt um die Werte zu ermitteln damit Du die Animation in der .x Datei "von Hand" eintragen kannst und Du brauchst viel mehr Zwischenschritte für eine "saubere" Animation. ... ich möchte Dich nicht entmutigen und mit gewissem Aufwand... ...ist es auch möglich aber hier sind schon etwas die Grenzen dessen erreicht solch eine Animation in der .x Datei selbst zu erstellen... Gruß EASY -
Hallo, mit welcher Version vom MBS arbeitest Du? (das Modell ist in MBS V7 zu sehen). Gruß EASY
-
Hallo, danke für die Klicks... (ich habe nicht gedacht daß es so einen Anklang findet) Die Varianten für die verschiedenen Spurweiten sind in den Katalog geladen und können nach der Freigabe geöffnet werden... Gruß EASY
-
Hallo, ich möchte diesen Tread von MarkoP nicht überladen weshalb ich hier die Frage Stelle... ... wenn die Objektvariable "Gleis" von Formsignal vom Typ "Text" ist ließe sich im einfachsten Fall das Problem in lua so lösen (Signal schaltet) local name=layout:getEntitiesByName($("Formsignal 1").variables["Gleis"]) local vehicles = layout:getVehiclesOn(name[1]) for _, vehicle in pairs(vehicles) do if vehicle:hasEngine() then vehicle.engine.active = true vehicle.targetSpeed = 70 end end ... nun ist meine Frage: kann man diese Lösung über die grafische EV darstellen? Gruß EASY
-
Hallo, ... Du liegst total falsch. Es geht nur darum welchen Typ die Variable haben muß... ...um bei Deinem Beispiel mit dem Signal zu bleiben... ... geht. ... diesen EV Eintrag "zu Skript konvertieren" zeigt etwas deutlicher was diese Einträge auslösen... 1) Es wird eine Liste erstellt mit allen Fahrzeugen, die auf dem Gleis stehen welches in der Variablen "Gleis" vom Formsignel1 hinterlegt ist. 2) Bei allen Fahrzeugen dieser Liste, die einen Antrieb besitzen wird dieser eingeschaltet und die Geschwindigkeit 70 zugewiesen. Wenn bei 1) der Variablentyp falsch ist (Text anstatt Objekt) kann die Liste nicht erzeugt werden und das ergibt die von Dir erwähnte Fehlermeldung. Gruß EASY
-
Hallo @MarkoP Deine Variable "Gleis" hat den falschen Typ. Das MBS erwartet ein "Objekt" (als Variablentyp) und Du hast als Typ "Text"... Gruß EASY
-
Hallo Andy, ... möchtest Du darüber sprechen? (Du findest hier immer ein offenes Ohr zum Zuhören) Gruß EASY
-
Hallo, Beim Herumexperimentieren mit rollenden Wagons hatte ich plötzlich diese Idee... Hau den Lukas.mbp Gruß EASY
-
Hallo, Auf Bahnbilder.de habe ich dies gefunden... ... hat mir (als Idee) gefallen... ... das Modell ist als Signal definiert und hat einen (dynamischen) Gleiskontakt... ... dynamischer (verschiebbarer) Gleiskontakt, weil das Anhalten sonst schon etwas sehr grenzwertig sein kann... Das Modell ist als Entwurf hochgeladen 576EF23B-A716-497D-9D52-79B47F5C6026 Bei Interesse, kann es noch Variationen für andere Spurweiten geben. Gruß EASY
-
Hallo, ... ahhha... (die verschlungenen Gedankenwege von Programmierern...) Gruß EASY
-
Hallo, Ein rollender Wagon der auf eine deaktivierte Fahrspur trifft, prallt an dieser ab und fährt (verlangsamt) in entgegengesetzte Richtung. Wenn man die Fahrspur deaktiviert, während sich der Wagon darauf befindet, dann hat das keinen Einfluß. "Automatische Verzögerung" ("Automatisch bremsen / sanftes Ankuppeln") bezieht sich z.B. darauf, daß wenn eine Lok in Richtung eines stehenden Wagons fährt, diese so abbremst, daß sie genau an dem Punkt zum Stehen kommt, wenn sie die Kupplung des Wogons erreicht hat (Ruckfreies Ankoppeln). Prinzipiell funktioniert es auch mit einem Wagon, der in Richtung von einem stehenden Wagon (Zug) rollt aber nur, wenn der Wagon nicht zu schnell rollt. Mit dem Bremskontakt hat das nichts zu tun. Meine bisherigen Versuche ergeben, daß ein rollender Wagon zwar auf einen Bremskontakt reagiert, aber merklich nur, wenn der Wagon sehr langsam unterwegs ist. Hier wäre dann die Frage an @Neo ob ein Bremskontakt einen stärkeren Einfluß auf einen rollenden Wagon haben könnte? Gruß EASY
-
Hallo Neo, Bei meinem Projekt Ablaufberg hatte ich das Problem daß wenn beim Zusammenstellen des Zuges die Lok hinten am Zug ist, die Wagons zuerst gesetzt werden. Da die Strecke hinter dem Ablaufberg weiter geht und rollende Wagons nicht auf Bremskontakte reagieren, habe ich an die Stelle wo der Bremskontakt sitzt noch eine Lok "SX1" temporär mit "transformation.position" gesetzt. Dadurch werden die rollenden Wagons an definierter Stelle angehalten. Wenn der Zug zusammengestellt ist, wird "SX1" wieder auf eine Grundposition (neben dem Gleis) gesetzt. Daraus entsteht meine Wunschfrage: Wäre ein Gleiskontakt möglich, der umschaltbar für solch einen Fall (rollende Wagons) eine "stehende Lok" [aktiv/nicht aktiv] darstellt, machbar? Dies würde zwar einen "harten" Bremsschuh darstellen aber wäre besser als meine derzeitige Lösung. Gruß EASY
-
Hallo Neo, ... so wie es sich für einen ordendlichen Fehler gehört, möchte er sich nicht reproduzieren lassen. Ich habe die Anlage auf den Teil reduziert, der Probleme bereitet hat... Ablaufberg20-Fehler.mbp Was mir noch eingefallen ist... kann es ein Problem sein, daß die Anlage mit "doppelter Geschwindigkeit" gelaufen ist? Gruß EASY
-
Hallo Neo, ich habe es mir noch einmal angeschaut. Der Fehler ist in einer "deferredCall" Schleife aufgetreten. Die Verzögerung von "defer" beträgt 0.5 Sekunden es wurde aber nicht auf eine Marke von "elseif deferredCall" gesprungen. ...... defer(0.5,"verz0") elseif deferredCall=="verz0" then -- -> Diese Marke wurde noch ausgeführt vehicle.targetSpeed=20*vehicle.variables["Richtung"] defer (0.5,"verz1") elseif deferredCall=="verz1" then -- -> Diese Marke wurde übergangen!!! if vehicle.variables["Posvorne"] then vehicle.targetSpeed=30*vehicle.variables["Richtung"] else for i,v in ipairs(LS)do if v:isLocatedOn(GLS[i]) then LSaktiv=i break end end LS[LSaktiv].transformation.position=vehicle.variables["Stop"].transformation.position vehicle.variables["LSaktiv"]=LSaktiv $("Dein"):add(vehicle) end defer(2,"verz2") elseif deferredCall=="verz2" then -- -> und diese Marke (logischerweise) nie erreicht if Daus.count > 0 then Daus:release(math.random(0, Daus.count - 1),$("Depot Neu")) Naus=Naus-1 end end Gruß EASY
-
Hallo @Neo, gibt es einen Unterschied, ob das MBS im aktiven Fenster läuft oder in einem Hintergrundfenster? Ich wollte wissen ob mein derzeitigen Projekt "Ablaufberg" stabil läuft und habe es eine zeitlang laufen lassen... ohne Probleme. Dann habe ich etwas anderes gemacht und das MBS lief im Hintergrund... und hat sich im zeitlichen Ablauf vertan und ein leichtes Chaos angerichtet. Wieder als Vordergrundfenster läuft es über einen längeren Zeitpunkt fehlerfrei. Gruß EASY
-
Hallo, ... der neu verfilmt wurde. Darum mache ich gerne "...", das läßt Optionen offen... Gruß EASY
-
-
Hallo, ... es hatte sich noch ein kleiner Fehler eingeschlichen, falls jemand versucht einen eigenen Zug zusammenzustellen... (außerdem gab es noch zwei unnötige Objektvariablen in den Loks) ... ich habe die .mbp in vorherigen Beitrag ausgetauscht. Gruß EASY