Jump to content

EASY

Mitglieder
  • Gesamte Inhalte

    3051
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von EASY

  1. Hallo, ... Überarbeitung des Programmcodes zur Steigerung der "Setzgeschwindigkeit" siehe oben Gruß EASY
  2. Hallo BahnLand, ... ich habe etwas herumexperimeniteit und habe sogar einige Erfolge erzielt (um zwei Achsen gedreht, bekomme ich den Ping schon hin)... dabei ist mir allerdings aufgefallen, daß eine Drehmatrix, die Du hier eingestellt hast nicht zum MBS Drehsystem passt... ... bei der Drehung um die amerikanische z-Achse - europäische y-Achse - muß in Zeile1 sin(w) stehen und in Zeile3 -sin(w) da die y-Drehung (siehe auch Drehmatrizen des Raumes R³ in der Wikipedia) sonst im MBS ein linksdrehendes System sein müßte und die anderen beiden (nach den beiden anderen Matrixen) rechtsdrehend bleiben... (pers. Anmerkung: warum das im MBS so ist weiß ich bis heute nicht!) ... nochmals danke für Deine Ausführungen... es hat mich ein Stück weitergebracht und so eine "Fehleranalyse" hat auch einen bestimmten Lerneffekt. @ Alle ... leider habe ich bisher noch nichts geeignetes für die Matix-Berechnung für VB gefunden (habe für meine Versuche ein Mathematikprogramm benutzt und die Werte abgeschrieben)... ... wer was weiß oder etwas findet... bitte melden. Gruß EASY  
  3. Hallo Neo, Zitat....der Ping ist so genau wie möglich oooh ja... ich habe eine Kante von einer Bodenplatte auf x=0 gesetzt... bis zu einem x-Wert von -1.0E-44 (!!!) hat der Ping die Bodenplatte nicht getroffen... ... damit wäre meine Frage beantwortet ! ...und ich zolle der Genauigkeit meinen Respekt (auch wenn mir etwas ungenauer lieber gewesen wäre...) -> Winkelfunktion + Offset ( in Richtung der "sicheren" Seite)... Gruß EASY
  4. Hallo Neo, ... gutes Schlagwort "Extrempunkte" ZitatDu kannst hier also nur mit Bereichen zwischen den Extrempunkten der Platte arbeiten ... mir geht es eben um die Messung wenn ich genau am Extrempunkt angelangt bin. In Deinem Beispiel mit dem Extrempunkt x= +0,5m -> maximale x-Koordinate für den Ping = 500mm. Bis zu welchem Wert von x trifft an diesem Punkt der Ping noch die Oberfläche bei x=500,1 mm ? ; x= 500,01mm ? ; bei x=500,001mm ?... also die Frage wie "genau" muß der Wert 500 sein? ZitatDie Bodenplatte kennt nicht den Begriff einer Linie am Rand. also keine "Linie" am Rand... sondern die Kante der Bodenplatte, der ich "entlangfahren" möchte um einen Profilschnitt mit einer Serie von Pings erfassen zu können (symbolisch ist der Fluchtstab die Ping-Richtung [entgegen dem Bild ist die Z-Koordinate des Pings natürlich konstant und liegt oberhalb des höchsten Punktes der Bodenplatte]). Wenn die Platte nun um die Z-Achse gedreht ist, muß ich auf Winkelfunktionen zurückgreifen (für die x,y Koordinaten des Pings um an der Kante entlagfahren zu können (der Ping bezieht sich auf das Koordinatensystem der Welt)... und diese Winkelfunktionen haben eine endliche Genauigkeit im Ergebnis. Deshalb ist meine "Befürchtung", daß der eine oder andere Ping eben genau an der Kante "vorbeischrammt" und ins Leere läuft... ... dazu noch ein Bild... Gruß EASY
  5. Hallo Neo, ZitatWas genau hast du denn vor, dass du dir über Ungenauigkeiten Gedanken machst? ... eigentlich das, was ich als Beispiel genannt habe... ich möchte den "Spantenriss" mit dem Ping machen, so daß man nicht zuerst eine .csv erzeugen muß und außerdem auch über mehrere Platten "abtasten" kann und "unabhängig" ist von der voreingestellten Rastergröße... und da mache ich mir eben etwas "Sorge" ob ich den Rand der Platte "sicher" treffe... -> Abtasten der Randlinie z.B. "fahren" entlang X-Richtung bei Y=0 (bezogen auf Platte) und Platte ist um die z-Achse gedreht (bezogen auf die Welt)... ob man da eben so etwas wie einen kleinen "Offset" zur Platte hin vorsehen muß üm "sicher" die (Rand-) Linie zu treffen... Gruß EASY 
  6. Hallo Neo, ZitatSendest du das Kommando 100 für Gleise, obwohl keine Gleise auf der Anlage existieren, bekommst du auch eine 1 zurückgeliefert, ohne weitere Daten... ... ist mir noch gar nicht aufgefallen (hatte den Fall noch nie)... aber wenn das bei anderen Kommandos (auch) so ist, dann spielt es keine Rolle... denn diese müßten man ja dann auch konsequenterweise anpassen... was der Änderungen wieder zu viel wäre... Nun in "meinem" Client habe ich  "ResultLength" (Anzahl der Parameter) schon von Anfang an eingebaut... nur nie genutzt... nur für das Gruppenkommando muß ich mir noch etwas effektiveres überlegen... (ich habe bisher nur Gruppenkommandos da angewand, wo ich auf eine Parameter nicht angewiesen war...) Noch eine andere Frage: Gibt es so etwas wie eine "Genauigkeit" für den "Ping"? Wenn ich z.B. die Oberfläche einer Bodenplatte (in einem Raster) mit dem Ping erfassen möchte (also in -z Richtung "pinge"), wie genau müssen die x,y Koordinaten sein, wenn ich an der Außenkante einer (um die z-Achse) gedrehten Bodenplatte entlangfahren möchte und der Ping diese Kante noch erfassen kann? (-> Übergang Kante - Nichts)... da ich hier gezwungerermaßen mit Winkelfunktionen rechnen muß, wird es immer zu kleinen Ungenauigkeiten kommen... Gruß EASY  
  7. Hallo Neo, Dringend!!!... ich habe mich gerade noch etwas mit der Steuerung von Seehund beschäftigt... und die 4 Pings in einem Gruppenkommando zusammengefasst... dabei bin ich (unangenehm) darauf getoßen, daß wenn der Ping auf kein Objekt trifft trotzdem als Antwort zuerst eine "1" sendet... ... dies würde bedeuten (auch ohne Gruppenkommando), daß man den Ping extra auswerten müßte... nicht auf "0" oder "1" am Anfang, sondern auf die Anzahl der Rückgabeparameter (wenn nicht getroffen keine weiteren Parameter in der Antwort)... dies wäre in der Kommandoauswertung so etwas wie ein Stielbruch... ... deshalb... wenn Ping nichts trifft... Antwort = "0" am Anfang und noch eine Meldung (wie bei den anderen kommandos auch...) Gruß EASY
  8. Hallo Neo, au jaaaaaaaaaaa !.... Gruß EASY    
  9. Hallo Neo, ... schade !!! ... aber ein Versuch war es wert... Gruß EASY
  10. Hallo Neo, ... ich weiß, daß es nicht mehr so richtig zur Themenüberschrift passt, aber ich wollte trotzdem keinen neues Theme eröffnen... ZitatDa du nicht jedes Kommando in einer Gruppe zusammenfassen kannst (da einige Kommandos auf dem Ergebnis des vorhergehenden Kommandos aufbauen), kann es sein, dass wir uns eine Schnittstellenerweiterung ausdenken müssen, um das Studio für eine gewisse Zeit zu blockieren, während ein Client mehrere Kommandos verarbeitet. Dieses Schritt würde ich aber erst zum Schluss gehen wollen. ... wie Du Dich vielleicht erinnern kannst, sind die Gruppenkommandos aus meiner Frage entstanden, warum die Schnittstelle "schneller arbeitet" wenn man eine Menüleiste aufmacht... ... nun gibt es noch eine Beobachtung von mir, die einen "Geschwindigkeitsschub" der Schnittstelle bietet: wenn ich die Maus im Projektfenster bewege, läuft z.B. eine Bewegung eines Objektes, das durch die Schnittstelle gesteuert wird, schneller ab...(der Effekt ist nach meiner bisherigen Beobachtung kleiner, als wenn ich ein Menü öffne aber auch deutlich und besonders deutlich bei eingeschalteter vertikaler Synchronisation)... Auch der Bagger von Seehund lief deutlich besser (mit der Vorversion die er mir geschickt hat), wenn ich die Maus im Projektfenster bewegt habe. ... vielleicht kannst Du ja daraus noch etwas ableiten... oder hat dies den gleichen Hintergrund, wie das geöffnete Menüfenster? Gruß EASY
  11. Hallo, ... ich habe das Programm noch einmal etwas umfangreicher überarbeitet... (müßte ab Donnerstag freigegeben worden sein) Gruß EASY
  12. Hallo schlagerfuzzi, Zitatund easy, solltest du es evtl doch hinbekommen, werde ich sehr dankbar und gerne annehmen... ... dann schau mal da... Gruß EASY
  13. Hallo BahnLand, ... Danke für Deine Ausführung... mal sehne ob es in VB etwas äquivalentes gibt... Nur mal für das Verständnis was mein Ziel ist. Ich würde gerne ein Objekt1 so drehen, daß es auf ein Objekt2 zeigt. Zum einen ist Objekt1 im einfachsten Fall ein Pfeil zum anderen (und da sind wir wieder beim eigentlichen Thema) möchte ich einen "Ping" zu einem Objekt schicken... ... mein Ausgabgspunkt sind in ersten Fall also die Koordinaten und die beliebige Anfangs-Drehung von Objekt1 -> auf Koordinaten Objekt2 und im zweiten Fall die "Grundausrichtung" (welche Richtung ist Winkel = 0) und die Koordinaten von Ping -> auf Koordinaten Objekt2    Gruß EASY
  14. Hallo Kurt, ZitatAber das heißt auch, jede Lok und jedes Zugende kann Ereignisse auslösen ... nein! ...Bei "Zug betritt ein Gleis" ist es immer nur die Zugspitze, die das Gleis bertitt, die das Ereignis auslöst... egal ob der Zug eine oder 20 Loks hat und ob die Lok auch wirklich die Zugspitze bildet... Äquivalentes gilt für "Zug verläßt ein Gleis" nur da ist der Bezug das Zugende... Die Lokauswahl im Ereignis besagt also nur, daß der Zug die Lok beinhaltet die Du ausgewählt hast (egal ob der Name mehrfach vorkommt... die EV arbeitet über IDs) und bei "alle Loks", daß der Zug mindestens eine Lok beinhaltet... Gruß EASY
  15. Hallo Bahnland, ... danke für diesen Beitrag... nix da mit den Eulen... nun, ich habe offen gestanden etwas das Problem, daß (noch) nicht so richtig weiß, wie man eine 3D-Ratation mathematisch richtig betrachtet. Mir kommt zwar das Drehen im MBS manchmal etwas "komisch" vor (das von Dir beschriebene, wenn man alle Winkel <> 0 hat, daß sich bei der Änderung eines Winkels alle anderen auch ändern). So gesehen ist die "taumende" z-Ache für mich ein Versuch der Interpretation. Deine Ausführung läßt mich allerdings an der Richtigkeit dieser Interpretation etwas zweifeln. Nun habe ich heute schon etwas herumgeforscht (aber leider nicht gespeichert), denn in einem Artikel stand etwas von daß bei einer Drehung um alle 3-Achsen, die Reihenfolge wichtig wäre... Was ich im MBS überhaupt nicht verstehe ist die Tatsache, daß man ein Objekt in der y-Achse nicht auf 90° stellen kann (bei x und z =0°). Ich hatte es einmal geschafft, daß im y-Feld dann "NaN" stand... und da war ich schon wieder bei der Interpretation und der Vorstellung, daß der y-Winkel (aus welchen Gründen auch immer) irgenswie mit mit einem Tangens zu tun haben muß... nur so konnte ich mir "erklären", daß es bei einem Winkel bei 90 Grad zu einer "nicht definierten" ("Ergebnis ist keine Zahl") Zahl kommen kann... ... so gesehen begebe ich mich erst einmal auf rein mathemetische Pfade und lasse Neo erst mal klären, ob das MBS so alles "richtig" macht... P.S. Wer noch einen guten Hinweis für die mathematische Betrachtung der "3-Achsen-Drehung" hat, kann sich gerne bei mir oder hier per PN melden... Gruß EASY    
  16. Hallo, ... da ist mir leider ein kleiner Fehler unterlaufen... siehe oben Gruß EASY
  17. Halo Seehund, ... schön, dann sind wir schon zu zweit... da bei gleichzeitigem Setzen von x und y Winkeln die z-Achse "taumelt" ist mir das "Verhalten" schon klar... nur über einen Tip für das was mathematisch dahintersteckt, wollte ich Neo auch schon ansprechen, da ich mich momentan (auch) etwas intensiver mit dem "Ping" beschäftige (wenn auch mit einem anderen Hintergedanken...) habe aber prinzipiell (mathematisch gesehen) auch noch ein Problem mit der Drehung um alle drei Achsen)... Gruß EASY
  18. Hallo Kurt, ... Beim Anfahren Deines Gespanns weist Du einer Lok die Geschwindigkeit 300 zu... nach der Weiche... da wo der Zug zum stehen kommst... weist Du der Lok am anderen Ende des Zuges ebenfalls den Wert 300 zu. Damit "ziehen" beide Loks mit gleicher Geschwindigkeit aber in entgegengesetzter Richtung. Neo hat es im MBS so eingerichtet, daß sich bei einem Zug mit mehreren Loks, Lokgeschwindigkeiten (richtungsbezogen) addieren... und dies ergibt in Deinem Fall nun einmal (bezogen auf den ganzen Zug) 300 - 300 = 0. ... da ich nicht weiß, was Du mit dieser Geschwindigkeits-Zuweisung bewirken wolltest, kann ich Dir allerdings keine Lösung bieten... Du wirst in diesem Fall wahrscheinlich nicht darum kommen, mit konkreten Loknamen in der EV zu arbeiten... (ist aber nur eine Vermutung) Gruß EASY  
  19. Hallo Seehund, ... ich weiß zwar nicht ob ich Dir helfen kann... aber Du kannst mir Dein Projekt gerne noch einmal zusenden. Gruß EASY  
  20. Hallo schlagerfuzzi, ... eine "Tag-Nacht-Steuerung" als Plugin (im MBS im oberen Menü unter "Katalog" -> "Plugins" -> "Simulation") gibt es schon... allerdings ist diese Variante in der Zeit "freilaufend" d.h. es kann "nur" eingstellt werden in welchem Zeitraum 24 Stunden ablaufen sollen (Morgendämmerung-Tag-Abenddämmerung-Nacht) ... ich könnte dieses Plugin noch dahingehend erweitern, daß man (optional) die Zeiteinstellung  über die EV vornehmen kann und damit die entsprechende Tageszeit bekommt... Gruß EASY
  21. Hallo quackster, ... manchmal dauert es auch bei mir länger... wenn "nur" durch Mehrfachselektion... wozu dann noch ein Plugin?... diesen Texturwechsel kann ich auch von Hand machen (geht auch für mehrere Gleise auf einmal)... wäre also dann nur  "sinvoll", wenn das mit dem Speichern geht... Gruß EASY
  22. Hallo quackster, Zitat... ist es nicht einfacher, wenn der nutzer sich die teilstrecken durch mehrfachselektion zusammen klicken kann? ... einfacher schon... aber nicht unbedingt besser... bei größeren Anlagen oder wenn sich Teilstrecken übelagern (auf verschiedenen Höhen) wird es zuweilen schon schwerer eine Mehrfachselektion hinzubekommen... aber diese Möglichkeit noch hinzuzunehmen ist ja auch keine Hürde... ... zum Speichern sage ich mal noch nichts... Gruß EASY 
  23. Hallo quackster, ... kann ich machen... wird wohl auf den "ersten Schreck" darauf hinauslaufen, daß eine beliebige Lok genommen werden kann, die von Weiche zu Weiche fährt und der Anwender vorher entscheidet, was passieren soll... (theoretisch geht es auch ohne Lok... aber mit einer solchen Streckenverfolgung [mit erweiterten Gleisparametern aus der Schnittstelle] habe ich bisher nur Teilerfolge erzielt...) ... da müßte ich mit Neo noch einmal neu verhandeln, ob der Möglichkeit, daß ein Gleis die angeschlossenen Gleise nennen kann...  ... dann warte ich mal auf einen entsprechendes Schnittstellenkommando zum Texturtausch (@ Neo Katalog-IDs reichen mir auch...) Gruß EASY
  24. Hallo Neo, ZitatWas meinst du mit Richtungsvektor? ... einfaches Beispiel: Ich nehme eine Lok, die auf einem Gleis fäht als Bezugspunkt für die Position. Die Lok befindet sich in einem Tunnel... Nun würde ich gerne die Tunnelbreite "messen"... dazu müßte ich einen Ping im Winkel von 90 Grad zur Fahrtrichtung aussenden... Da die Lok nicht zwingend genau in x oder y Richtung fährt, bekomme ich keine Messzung zustande, da der Ping "stur" in x oder y Richtung gesendet wird (bezogen auf die Welt).... Der Ping müßte also so "gestaltet" sein, daß seine Bezugskoordinatensystem der Drehung folgt... @Seehund: für mich ergeben sich (so aus der Ferne) aus der Fehlermeldung 2 Möglichkeiten: - wenn die Schnittstelle kein Parameter zurücksendet gibt es ein Problem bei der Auswertung - die Schnittstelle liefert bei 0 manchmal einen sehr kleinen Wert der sich von 0 unterscheidet... -> Variablentyp in der Antwortauswertung? ... wie gesagt nur so aus der Ferne...  Du kannst Dich gerne mit mir in Verbindung setzen... Gruß EASY  
×
×
  • Neu erstellen...