Jump to content

Bahnsteiguhr mit Sekundenanzeiger immer die richtige Echtzeit zeigen lassen?


Empfohlene Beiträge

Hi Entwurffreaks!

In der Simulation in meinem Anlage-entwurf ist es immer Echtzeit.

Hat jemanden (die Beschreibung der, oder den Forumhinweis zu) Software, die/den diese Uhr

C680D7FD-BC16-4917-A824-F7B132C31DF4

immer (außer wenn die Steurung pausiert ist) die richtige Echtzeit zeigen laßt?

Dankjewel bij voorbaat.

 

Hartelijke groet,

Jan.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi ihrbeide,

Sualokink: Andy schreibt schon: es geht mir grade um den Sekundenzeiger. Im Forum gibt es viele Echtzeit-uhren, aber alle ohne Sekundenzeiger.

Andy: bei mir wird die Zeit nicht skaliert: (wie geschrieben) in meinem Modellentwurf ist es immer Echtzeit, also der Sekundezeiger wird nie blöd rasen.

Hartelijke groet,

Jan.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi Sualokink:

zu deinem zweiten Schreiben: ich weiß daß die MBS-Steurung über _Time geht. Aber ich versuche (ich denke theoretisch sollte dies warscheinlich möglich sein, ich hoffe im praktisch auch): die Minuten-wechsel über uhr zu kontrollieren, und mit TIMER den Sekundenzeiger über den Wert der Animationsvariabele zu Wertieren. Ich muß aber noch sehen ob ich es schaffe dies zu realisieren.

HG,

Jan.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 3 Stunden schrieb fietsende:

Hat jemanden ... Software, die diese Uhr ... immer ... die richtige Echtzeit zeigen laßt?

Ja, das habe ich für dich.

Zuerst musst du die Zeit, welche du vom Studio bekommst, in einen String wandeln (weil sie ein ganz eigenes Format in Tabellenform hat)
Dann entnimmst du diesem String die Stunden und Minuten.
Rechnest die Stunden zu Minuten um (und machst aus den 24 Stunden zweimal 12 Stunden)
Addierst alle Minuten
und teilst dann das Ergebnis durch 720 (weil 12 Stunden so viele Minuten haben).

Denn für die Animation benötigst du einen Wert zwischen 0 und 1

Du kannst die Animation nicht mit diesem Wert starten.
Aber du kannst sie mit diesem Wert stoppen. Und dann ab der aktuellen Position starten.

Wenn du das beim Ereignis "Zeitpunkt erreicht - jede Minute" machst, zeigt deine Uhr die richtige Zeit und der Sekundenzeiger bewegt sich:

local t = tostring(layout.time)

local h = tonumber(string.sub(t, 1, 2)) % 12 * 60
local m = tonumber(string.sub(t, 4, 5))

local pos = (h + m) / 720

$("Bahnhofs Uhr animiert").animations["_AnimUndefined"]:stop(pos)
$("Bahnhofs Uhr animiert").animations["_AnimUndefined"]:play(-1,1)

Viel Spaß damit
Götz

Bearbeitet von Goetz
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hello Jan, hierbij de "loop" die we via P.M bespraken, veel plezier ermee. Ik zou de lijst wel ergens in een echte variabele van type LIST zetten, niet in de code zoals hier.

Hello Jan, here is the "loop" we discussed via P.M., have fun with it. I would put the list somewhere in a real variable of type LIST, not in the code.

Hallo Jan, hier ist die "Loop", die wir über P.M. besprochen haben, viel Spaß damit. Ich würde die Liste irgendwo in eine echte Variable vom Typ LIST packen, nicht in den Code.

HermanStationsklokken.mbp

Bearbeitet von Herman
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

vor 2 Stunden schrieb Herman:

Ich würde die Liste irgendwo in eine echte Variable vom Typ LIST packen, nicht in den Code.

... es ist einfacher über ein Schlagwort zu arbeiten und die Wiederholung aus der Schlagwortliste zu machen...
 

-- First you have to convert the time you get from the studio into a string (because it has its own tabular format)
-- Then you take the hours and minutes from that string.
-- Convert the hours to minutes (and make 12 hours out of the 24 hours twice)
-- Add up all the minutes
-- and then divide the result by 720 (because there are so many minutes in 12 hours).

-- Because for the animation you need a value between 0 and 1

-- You cannot start the animation with this value.
-- But you can stop them with this value. And then start from the current position.

-- If you do this on the "Time reached - every minute" event, your watch will show the correct time and the second hand will move:

local t = tostring(layout.time)

local h = tonumber(string.sub(t, 1, 2)) % 12 * 60

local m = tonumber(string.sub(t, 4, 5))

local pos = (h + m) / 720


-- $("Bahnhofs Uhr animiert").animations["_AnimUndefined"]:stop(pos)
-- $("Bahnhofs Uhr animiert").animations["_AnimUndefined"]:play(-1,1)

----- Repeat with keyword
local x = layout:getEntitiesByKeyword("clock to sync")
for i, Iter in ipairs(x) do
  Iter.animations["_AnimUndefined"]:stop(pos)
  Iter.animations["_AnimUndefined"]:play(-1,1)
end

Einer Uhr das Schlagwort geben...
331407036_Bild01.thumb.jpg.93479d04e02c73b0e120c4a337fa0af4.jpg

... werden weitere Uhren benötigt, können diese über "copy & paste" [Strg+c Strg+v] oder über Duplizieren [Alt + mit der Maus ziehen] hinzugefügt werden und sie werden "automatisch" mit erfasst...

1855057161_Bild02.thumb.jpg.f74870f88530a7139ec457eb77ca50d6.jpg

Gruß
EASY

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 3 Wochen später...

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