Autor
|
Thema: Zusammenstoßen von Fahrzeugen bei Weg-Übergängen (816 mal gelesen)
|
Erwin_S Mitglied
Beiträge: 37 Registriert: 13.08.2006
|
erstellt am: 20. Sep. 2006 20:44 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich verzweifele gerade an folgendem Problem: Habe in meinem Modell einige Wege erstellt (u.a. Abzweigungen usw), die mittels Kanten verbunden sind. Falls sich auf einem Weg zwei Fahrzeuge treffen (Auffahren), wird die Auffahrsteuerung aktiviert, die temporär eins der Fahrzeuge vom Weg nimmt; falls sich zwei Fahrzeuge aber gerade an der Kante treffen, funktioniert die Auffahrsteuerung nicht und die Fahrzeuge bleiben stehen - die Simulation gerät ins Stocken; Hat jemand ne Idee, was ich dagegen tun kann? Vielen Dank schonmal !! Schöne Grüße Erwin
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 20. Sep. 2006 21:08 <-- editieren / zitieren -->
Wie sieht denn Deine Auffahrsteuerung genau aus ? schick am Besten mal ein kleines Demo-Modell Gruss
------------------ Der Simulator |
Erwin_S Mitglied
Beiträge: 37 Registriert: 13.08.2006
|
erstellt am: 21. Sep. 2006 13:56 <-- editieren / zitieren --> Unities abgeben:
Ok, die Auffahrsteuerung sieht so aus (wobei die Wartestation ein Lager ist, auf die die Fahrzeuge temporär umgelagert werden): is Ort bject; Hoehe:Length; Lagerort2 bject; i:integer; do Ort:=@.Standort; Hoehe:=@.bugpos;
if Ort.AnzahlBEs>1 then for i:=1 to 5 loop if Wartestation[i,1].leer then @.umlagern(Wartestation.pe(i,1)); waituntil Ort.AnzahlBEs=0 prio 1; if Wartestation.belegt then Wartestation[i,1].inhalt.umlagern(Ort,Hoehe); i:=5; end; end; next; end; end; Gruß Erwin
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Erwin_S Mitglied
Beiträge: 37 Registriert: 13.08.2006
|
erstellt am: 21. Sep. 2006 14:01 <-- editieren / zitieren --> Unities abgeben:
Ok, meine Auffahrsteuerung siehst so aus (wobei die Wartestation ein Lager ist, auf die die Fahrzeuge temporär umgelagert werden): Code: is Ort:object; Hoehe:Length; Lagerort2:object; i:integer; do Ort:=@.Standort; Hoehe:=@.bugpos; if Ort.AnzahlBEs>ɏ then for i:=1 to 5 loop if Wartestation[i,1].leer then @.umlagern(Wartestation.pe(i,1)); waituntil Ort.AnzahlBEs=0 prio 1; if Wartestation.belegt then Wartestation[i,1].inhalt.umlagern(Ort,Hoehe); i:=5; end; end; next; end; end;
Gruß Erwin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 21. Sep. 2006 17:06 <-- editieren / zitieren -->
nun, die Auffahrsteuerung wird beim Auffahren schon korrekt aufgerufen. Deine Methode bleibt stehen, weil das Vorgängerfahrzeug mit seinem Buchungspunkt bereits auf dem Nachfolge weg steht (Thema Buchungspunkte!) und damit statistisch beim Nachfolgeweg geführt wird. D.h. das Attribut standort.anzahlbes beinhaltet das Vorgängerfahrzeug nicht mehr. Setze mal die Buchungspunkte und Längen der Fahrzeuge auf 0. Ansonsten mußt Du bei Deiner Abfrage den Fall berücksichtigen, dass ein beteiligtes Fahrzeug auch auf dem Nachfolgeweg sein kann Gruss ------------------ Der Simulator |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|