Jump to content

EASY

Mitglieder
  • Gesamte Inhalte

    3044
  • Benutzer seit

  • Letzter Besuch

Beiträge erstellt von EASY

  1. Hallo,

    @BahnLand

    Zitat
    vor 2 Stunden schrieb BahnLand:
    vor 6 Stunden schrieb schricker47:

    Habe ich ein "Gespann wie Du es nennst, z.B. Bahn AG Triebwagen, 2 X aufs Gleis gestellt und will mit einen fahren, dann rafft das die Software und sagt: "ist mehrfach vorhanden".

    Ich kenne diese Meldung nicht. Kannst Du mir ein konkretes Beispiel nennen, wo diese Meldung auftritt?
    Ich habe vergeblich versucht, diese Meldung herzubekommen:

    ... Mit der Beispielanlage von stricker47 (hier) wird das Plugin "Lok-Geschwindigkeit-Setzen" gestartet. Die Meldung bezieht sich also auf das Plugin.

    @stricker47:
    Plugins arbeiten über die Steuerschnittstelle vom MBS. Die Schnittstelle spricht Objekte nur über ihren Namen an. Bei mehreren Objekten mit gleichem Namen ist diese Zuordnung (Name - Objekt) also nicht mehr eindeutig... deswegen "rafft" es die Software nicht und da Du unlogisches nicht magst müßte Dir diese Erklärung logisch genug erscheinen um die (Fehler-) Meldung zu verstehen.

    Hinweis: Die Ereignisverwaltung arbeitet bei direkten Zuordnungen (z.B. Geschwindigkeit) zu Objekten (z.B. Lok) mit Identnummern also nicht Namen (Objektauswahl über Fenster "Selektieren" beim Erstellen der EV) ... allerdings bei indirekten Zuordnungen (z.B. über Variablen) auch nur mit Namen. z.B. Inhalt einer Variablen ist ein Lokname und dieser Lok willst Du (über das Auslesen des Loknamens in der Variablen) eine Geschwindigkeit zuweisen. In diesem Fall wird vom MBS keine Fehlermeldung ausgegeben und dann evtl. der falschen Lok (mit gleichem Namen) eine Geschwindigkeit zugewiesen... auch in diesem Fall rafft es die Software nicht... da nicht eindeutig.
    Abgesehen von solchen Betrachtungsweisen dient es auch der Übersichtlichkeit (besonders wenn die Ereignisverwaltung etwas umfangreicher ist) systemrelevante Objekte mit eindeutigen Namen zu versehen.

    Zitat
    vor 6 Stunden schrieb schricker47:

    Fährt also ein Triebwagen (Name vorwärts) im "Gespann", es hängt also "verkehrtherum" sein Gegenstück hinten dran, dann wird im "Ereignisgleis" dem Vorwärtstriebwagen eine neue Geschwindigkeit zugewiesen, der angehängte Teil bleibt unberührt. Dem wird keine Geschwindigkeit zugewiesen. Siehe mein kleines Beispiel.

    in Deinem Beispiel: "Zug betritt ein Gleis" bezieht sich auf die Vorderkante des Gespanns (in Fahrtrichtung gesehen) (überigens auch wenn Du beim Ereignis einen Loknamen mit angiebst und sich die Lok nicht "vorne" befindet) -> "Bahn AG Triebwagen vorwärts" bildet diese Kante. die dazu gehörige Aktion ("Lokgeschwindigkeit setzen") bezieht sich auf ein Gleis -> Lok: "Alle Loks" -> Gleis: "24188-steuergleis langsam". Da "Bahn AG Triebwagen vorwärts"  sich im Momet der Geschwindigkeitszuordnung auf dem Gleis  "24188-steuergleis langsam" befindet wird dieser Lok auch die Geschwindigkeit zugewiesen. (Achtung! Da sich "Zug betritt ein Gleis"  auf die Vorderkante bezieht, es sich also eigentlich um einen Übergangspunkt handelt, kann die Geschwindigkeitszuordnung über dasselbe Gleis ("Ereignisgleis") auch schiefgehen.... ->feiner Unterschied zwischen Übergang ("Zug betritt ein Gleis")  und definierter Ort ("befindet sich auf Gleis"))

    Gruß
    EASY
     

  2. Hallo BahnLand,

    Zitat
    vor 8 Stunden schrieb BahnLand:

    Es macht aber einen Sinn, wenn man einzelne Sequenzen, die man von Hand anstoßen kann, auch im "Trace" optisch voneinander trennen möchte. Nun ja, man kann dann natürlich zwischen den einzelnen Sequenzen "im Ruhezustand" hintereinander "Pause" und "Weiter" anklicken (wie ich es bisher gemacht habe) und kommt aber trotzdem zum selben gewünschten Ergebnis (wenn Du die Anzeige --- Event Pause --- wegwirfst). Aber man benötigt dann halt zwei Klicks, wogegen bei "ständiger" Verfügbarkeit des "Weiter"-Buttons auch 1 Klick genügen würde. Ein anderer Anwendungsfall wäre für mich der Durchlauf in Einzelschritten ("Animation um einen Schritt weiter"), wo man dann ebenfalls "gezielt" einen Trenner einfügen könnte.

    ... vielleicht liegt es daran, daß sich mein Gehirn am Wochenende gerne noch etwas länger im Ruhezustand befindet (bin aufgewacht, weil der Wind den Regen ziemlich laut gegen mein Fenster drückt...) ... mir fällt einfach nicht ein, wie man eine Sequenz mit einem Klick erzeugen kann.... da muß man doch irgendwie anhalten und dann weitermachen.. (oder für eine Sequenz eigentlich umgekehrt)... sind für mich 2 Aktionen, die durchzuführen sind... stehe auf dem Schlauch:$... brauche Starthilfe:(! (... -> Synchronisation der ÜberlegungB|...)

    Zitat
    vor 8 Stunden schrieb BahnLand:

    Ein anderer Anwendungsfall wäre für mich der Durchlauf in Einzelschritten ("Animation um einen Schritt weiter"), wo man dann ebenfalls "gezielt" einen Trenner einfügen könnte

    ... erzeugt schon jetzt einen Trenner...

    Zitat
    vor 8 Stunden schrieb BahnLand:

    Ja, eimem Wunsch hätte ich noch: Besteht die Möglichkeit, auch die Ereignisse "Ereignis/Ereignisgruppe wird aktiviert/deaktiviert" mit zu erfassen und auszugeben?  Ich setze die Aktvierung und Deaktivierung von Eregnissen und Ereignis-Gruppen in der Ereignissteuerung gezielt ein, und im Trace-Protokoll vermisse ich sie sehr.

    .... ist von der Schnittstelle her leider nicht vorgesehen:(... da müßte man mit Neo noch verhandeln mit der Betonung auf "Vermisse ich sehr"B|

    .... einen habe ich noch vergessen... es gibt noch einen speziellen Variablenamen der abgefragt wird... wenn eine Variable, die mit "mbs_stop" im Namen beginnt auf irgendeinen Wert in der EV gesetzt wird, dann wird die Animation im MBS angehalten und der Variablenname im Protokoll eingetragen... also so etwas wie ein oder mehrere Breakpoint(s) in der EV setzen...

    P.S.... irgendwie werden wir uns schon noch einig... wann Klick... und wann Trenner...

    Gruß
    EASY

     

  3. Hallo BahnLand,

    ... trifft sich gut... bin gerade dabei dieses Plugin zu überarbeiten um es um ein paar Funktionen zu erweitern (und evtl. noch zu Übersetzen)...
    ... fast so als ob Du es geahnt hasto.OB|

    Die Zeile "---- Event Pause ----" ist (war) dazu gedacht, daß man in der Liste gleich sehen kann, warum auf der Anzeige nichts mehr geht (ebenso wie ""----- Animation-MBS-Stop -----").

    Zitat
    vor 1 Stunde schrieb BahnLand:

    Dies wäre sehr einfach zu erreichen, wenn man den Button "[Anzeige weiter]" immer aktiviert ließe und nicht nur nach dem Anhalten mittels "[Anzeige Pause]" verfügbar machen würde.

    ... noch einfacher wäre es die Meldung erst gar nicht anzuzeigen und die Buttons so lassen, wie sie sind.

    Zitat
    vor 1 Stunde schrieb BahnLand:

    Das Stoppen der Ereignis-Anzeige und spätere Fortsetzen mithilfe der beiden genannten Buttons würde dann wie bisher weiter funktionieren. Aber es bestünde dann zusätzlich die Möglichkeit, durch ausschließliches Klicken auf "[Anzeige weiter]nur die Zeile --- Event Continue --- als optischen Trenner einzufügen.

    ... permanenter "Zugriff" auf "Anzeige weiter" würde (aus meiner Sicht) nur "Sinn machen"...
    ...wenn Du zwischendurch einen Trenner einfügen möchtest (?)

    ====================================================================================================================
    Da sich die Schnittstelle zwischenzeitlich etwas weiter entwickelt hat, habe ich in das Plugin noch das Auslesen der Variablen und Contdowns eingefügt.
    Damit der Wert der Variablen und der Countdowns zum aktuellen Stand im MBS-Projekt passen, wird im Moment des Auslesens die Animation im MBS angehalten und muß über "Animation Start" wieder aktiviert werden.

    Wäre dies auch im Sinne für Dich / Euch als Anwender?

    .... und noch ein paar Bilder, wie es (momentan) aussieht (... "---- Event Pause ----" wird nicht mehr angezeigt;))
    Bild 1.jpg

    Bild 2.jpg

    Bild 3.jpg

    Bild 4.jpg

    ... da die Überarbeitung noch nicht ganz abgeschlossen ist, kann ich auf Wünsche und Anregungen eingehen...

    Gruß
    EASY

  4. Hi trevor,

    to avoid the "," problem i have this code in my plugins in the "FormLoad" event:

            Dim cAktiveRegion As System.Globalization.CultureInfo
            cAktiveRegion = CType(System.Globalization.CultureInfo.CurrentCulture.Clone(), Globalization.CultureInfo)
            cAktiveRegion.NumberFormat.NumberDecimalSeparator = "."
            Threading.Thread.CurrentThread.CurrentCulture = cAktiveRegion

    .... i found this as code snipet but i do not know if it is the best way... it works and never causes problems... but i do not know if it works on an "English" PC...
    ... (if i put it in your template it also works)...

    ... an example for " Frame_Clock_Handler " still would be nice:/

    EASY

  5. Hi trevor,

    Zitat
    Am 16.11.2016 um 18:00 schrieb trevor:

    Command thread philosophy changed in light of the fact that MBS effecctively only handles one command or command group per frame....
    Who knew ?????

    ... i knew (for one command but i think not for command group(?))

    great work! ... got some questions:

    When i need the response of a command to decide my next steps i have to send "MBS.Send_Command_And_Wait(CMD)" and not "MBS.Send_Command(CMD)"?

    I have a problem with my "German" PC:
            CMD = New cls_MBS.Command(cls_MBS.Command_ID.Get_Object_XYZ, "Quader")
            MBS.Send_Command_And_Wait(CMD)
            Dim x, y, z As Single
            x = CSng(CMD.Results(0))
            y = CSng(CMD.Results(1))
            z = CSng(CMD.Results(2))
            MsgBox(CMD.Results(0) & vbCrLf & x)

    ... if CMD.Results(0)="10.479" -> x=10479

    Can you make an example to use " Frame_Clock_Handler " i.e something moves 1mm/frame?

    EASY

  6. Hallo Neo,

    Zitat
    vor 47 Minuten schrieb Neo:

    Wenn es dir nur um die Übersetzung geht, dann kannst du das so lassen und ich korrigiere das bei der Freigabe (jeder Inhalt kann getrennte Texte für Deutsch/Englisch besitzen).

    ... genau darum geht es mir.... (ich möchte ja keine Romane schreiben9_9).... dann überlasse ich es Dir.... und beim o.g. Plugin bitte auch:)

    Gruß
    EASY

  7. Hallo Neo,

    ich wollte das nächste Plugin mit de/en Oberfläche einstellen, dabei ist mir aufgefallen, daß beim letzten Plugin in der "Vorschau" nicht der gesamte Text angezeigt wird.

    ...eigentlicher Text:
    AnzeigeText01.jpg

    ... Text in der Vorschau:
    AnzeigeText02.jpg

    ... gibt es da ein Limit der Anzahl der Textzeilen, oder dürfen keine Leerzeilen enthalten sein?

    Gruß
    EASY

  8. Hi trevor,

    ...  to play and try... i made in Blender an emty object... and it works in MBS... 
    ... you can import it "edit" -> "paste" -> "from file"... or you can put it in your catalog "3D Modell" -> "Extra" -> "Test" -> "Private" as "3D modell" and/or as "Track vehicle"

    Note: you can never mark it with the mouse... only with "F3"

    ... have fun;)

    EASY

    Emty.zip

  9. Hi,

    ... in my opinion... this is not a bug. You just create an emty group... I work with CAD-programms and "empys" can be usefull (if so in MBS... i do not know currently)...
    ... so i would say the bug is, that i can not focus it with the 3D camera when pressing "Enter" (...I know it is a bit pointed;))

    EASY

  10. @ Neo,

    ... if i do so...

    1. Sending command 350 for retrieving all rolling stock in the layout
    2. Sending command 10 for beginning the command group
    3. For each rolling stock returned by 1, sending command 360 for retrieving the track
    4. Sending command 11 for finishing the command group
    5. For each rolling stock, reading the result of command 360

    with that layout and my template it will take 20ms ... 30ms @60 FPS (VertSync=on)... but only if MBS is shown...
    when i minimize MBS it will take 160ms...280ms... why?

    EASY

  11. Hallo Michael,

    ... einfach mal ein Bild dazu:
    Gleisspur.jpg

    ... ist also die "Spur" im Gleiseditor -1.

    Gerades Gleis: immer Spur 0
    Weiche: Spur 0 ; Spur 1
    Dreiwegeweiche: Spur 0 ; Spur 1 ; Spur 2
    Kreuzweiche: Spur 0 ; Spur 1 ; Spur 2 ; Spur 3
    Kreuzung: Spur 0 ; Spur 1
    Drehscheibe: Spur 0 ... Spur 23 (Wird behandelt wie eine Weiche)

    so liefert also z.B. Kommando 304 (Gibt den Index der aktiven Spur eines Gleises zurück) die aktive Weichenstellung zurück...
    ... oder kann mit Kommando 305 (Aktiviert eine Spur eines Gleises) eingestellt werden.

    Gruß
    EASY

  12. Hi trevor,

    as i could see you used my template for "MBS_Controller"... but you changed something for sending commands and getting events.
    When i look at your VB project i think it is not the first time you are writeing programms.
    I do not understand exactly what you have done but I am curious and i like learning how to do in different ways...
    ... so i want to ask you if you can make a template for testing and understanding "your way" for sending commands and getting events...

    EASY

×
×
  • Neu erstellen...