Jump to content

Andocken per Ereignisverwaltung


MarkoP

Empfohlene Beiträge

Hallo Neo,

so kurz vor Weihnachten hätte ich noch einen Wunsch.

Wäre es machbar die Andockfunktion per Ereignisverwaltung zu aktivieren/deaktivieren.
Stelle mir vor, das es einen neuen Befehl geben könnte, der als Aktion zwei AuswahlDropdown's bietet, wodurch die Auswahl im zweiten DropDown an die des ersten DropDown's angedockt wird und bei Bewegungen des ersten Objekts wie bei manuell angedockten Teilen auch entsprechend mitbewegt wird.

Das wäre super für Verladungen etc.

Wenn's ginge wäre natürlich auch der Gegenbefehl zum Auflösen des Andocken's notwendig.

Gruß
MarkoP

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Marko,

meinst Du "Verknüpfen"  statt "Andocken"?
 

Beim Veknüpfen "kettet" man ein ein Modell an ein anderes fest, um dann mit diesem "mitgezogen" zu werden, wenn letzteres bewegt wird. Die Verknüpfung ist eine Beziehung zwischen konkret 2 Objekten A und B und ist nicht symmetrisch. D.h. das verknüpfte Objekt A wird zwar mit dem Objekt B, mit dem es verknüpft wurde, mitgezogen, wenn Objekt B bewegt wird. Aber Objekt A kann selbst auch nach der Verknüpfung mit der Maus frei bewegt werden, ohne dass Objekt B davon beeinflusst wird.

Die Gruppierung stellt dagegen eine symmetrische Verknüpfung dar, die auch mehr als zwei Objekte betreffen kann: Alle zu einem Zeitpunkt markierten Objekte können mit der Tastenkombination <strg>G zu einer Gruppe zusammengefasst werden. Wird ein Objekt aus der Gruppe bewegt, bewegen sich alle anderen Objekte in der Gruppe automatisch mit. Die Gruppe kann, solange sie markiert ist, mit der Tastenkombination <strg>U wieder aufgelöst werden.

Beim Andocken muss man zwischen dem Zusammenfügen von Objekten mit vordefinierten Andockpunkten (z.B. Gleisstücke oder andere mit "Andockpunkten" versehene Objekte), dem Aufsetzen von Fahrzeugen auf Gleisstücke und dem Zusammenkuppeln von Fahrzeugen unterscheiden.

Bei der ersten Variante besitzen die zu verbindende Objekte spezielle Andockpunkte, die das Zusammenfügen an genau diesen Punkten mit fest vorgegebener gegenseitiger Ausrichtung beim gegenseitigen Annähern durch die Lasso-Funktion erleichtern. Es ist aber "nur eine Lasso-Funktion", die keine "dauerhafte" Verknüpfung nach sich zieht. Die zusammengefügten Objekte lassen sich jederzeit durch das Fortbewegen eines der Objekte wieder trennen.

Bei der zweiten Variante werden als "Rollmaterial" definierte Objekte bei Annäherung an ein "Gleis" automatisch von diesem angezogen und in Gleisrichtung "aufgesetzt". Diese "Lasso-Funktion" bleibt permanent aktiv und ist wie die "Verknüpfung" einseitig. D.h. das Fahrzeug kann jederzeit auf dem Gleis verschoben oder von diesem entfernt werden, ohne dass das Gleis hiervon betroffen ist. Eine Verschiebung des Gleises nimmt aber das darauf stehende Fahrzeug mit.

Die dritte "Andock"-Variante ist eine Lasso-Funktion zwischen zwei auf einem Gleis befindlichen Fahrzeugen. Sie ist dauerhaft wirksam, solange die betroffenen Fahrzeuge sich auf dem Gleis befinden. Wird ein Fahrzeug von einem "angekuppelten" Fahrzeug weg bewegt, wird letzteres mitgezogen oder mitgeschoben. Wird ein mit anderen Fahrzeugen "verbundenes" Fahrzeug vom Gleis entfernt, "erlischt" für dieses auch die Lasso-Funktion.
 

Nun zurück zu Deinem Wunsch:
Da ich davon ausgehe, dass Du die Verknüpfungsfunktion meinst, brauche ich dem Kommentar, mit dem Frank mich "überholt" hat, nichts mehr hinzuzufügen.

Allerdings könnte ich mir zusätzlich auch vorstellen, dass man die Andock-Funktion zwischen zwei Fahrzeugen (obige Variante 3) über die Ereignisverwaltung vorübergehend deaktiviert. Man müsste hierzu im zugehörigen Ereignis-Definitions-Formular die Namen der beiden aneinander gekuppelten Fahrzeuge spezifizieren und die Kuppel-Eigenschaft zwischen ihnen deaktivieren und wieder aktivieren können. Dann hätte man eine elegante Art der Entkupplung von Fahrzeuge an beliebiger Stelle (ohne die Verwendung eines Entkupplungsgleises) geschaffen. Lässt man für die Deaktivierung der "Kuppel-Funktion" auch die Beschränkung auf einen bestimmten Gleisabschnitt (anstelle der Benennung konkreter Fahrzeuge) zu, so könnte man damit insbesondere auch die vor einer roten Ampel "aufeinander" gefahrenen Autos wieder "Trennen", indem man bei "Grün" auf das "Straßengleisstück"  an der Ampel bezogen die Kuppelfunktion deaktiviert und somit das Losfahren des ersten Autos ermöglicht, ohne dass die bei "rot" aufgefahrenen Autos "nachgezogen" werden.

Anwendungsbeispiel 1: 
Entkuppeln eine Lokomotive "Lok1" vom angehängten Wagen "Wagen1"

 Beispiel_1b.png

Anwendungsbeispiel 2:
Anfahren von Autos auf einem Straßengleisstück "Ampelstopp" beim Lichtwechsel der Ampel von rot nach grün

 Beispiel_2b.png

Viele Grüße
BahnLand

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Bahnland,

wie immer sehr ausführlich und informativ.
Ich meine selbstverständlich das verknüpfen. Da die Funktion im grundsätzlichen schon existiert und unabhängig von irgendwelchen Beziehungen wie Gleisabschnitt oder Rollmaterial ist, sollte es hier eigentlich keine große Sache sein, dies über die Ereignisverwaltung zu machen.

Manuell:
zu verknüpfendes Objekt mit der Maus wählen; Verknüpfen aktivieren; Objekt in Auswahldialog auswählen an das geknüpft werden soll

Ereignisverwaltung:
zu verknüpfendes Objekt per PullDown-Menü wählen; Objekt per PullDown-Menü auswählen an das angeknüpft werden soll; ausführen = aktivieren

Im Prinzip müsste also die gesamte Funktion schon fertig existieren und nur an die gleiche Ausführung der manuellen Verknüpfung übergeben werden.
Man muss ja nicht immer alls zu kompliziert machen. Hat wahrscheinlich nur nicht die entsprechende Priorität bei Neo.

 

Dein Andocken per Ereignisverwaltung hingegen weißt Abhängigkeiten auf welche erst programmiert bzw. getestet werden müssen.
Das ist schon ein Mehraufwand, der nicht so einfach umzusetzen ist.

Gruß
MarkoP

Link zu diesem Kommentar
Auf anderen Seiten teilen

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