| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co. |
| |
| KISTERS 3DViewStation: Mit Modellbasiertem Design zum Modellbasierten Unternehmen , eine Pressemitteilung
|
Autor
|
Thema: Bewegungssimulation über makro (5080 mal gelesen)
|
Fhdoia Mitglied
Beiträge: 149 Registriert: 04.01.2011 Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD ....
|
erstellt am: 30. Nov. 2011 13:08 <-- editieren / zitieren --> Unities abgeben:
ist es möglich eine Bewegungssimulation über ein makro abzuspielen? weil wenn ich ein makro aufzeichne und dabei eine simulation abfahre dann macht er die zwar durch das makro, aber eben so schnell dass man davon nichts sieht kann ich da irgendwie eine zeit einbauen dass er die bewegung in einer etwas längeren zeit simuliert und nicht innerhalb von 0,1 sekunden danke ------------------ Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD .... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 30. Nov. 2011 13:24 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
Servus Ohne Makro würde man, dass die Simulation langsamer läuft, zB eine Wiedergabe erzeugen, ein Video erzeugen (und bei diesen den Zeitintervall des "Player" reduzieren) Musst du unbedingt ein Makro verwenden? Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fhdoia Mitglied
Beiträge: 149 Registriert: 04.01.2011 Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD ....
|
erstellt am: 30. Nov. 2011 14:06 <-- editieren / zitieren --> Unities abgeben:
naja müssen nich unbedingt, aber die sache ist halt das die parameter für die bewegungssimulation immer wieder geändert werden sollen (winkel). und der ablauf irgendwie automatisiert werden soll... ------------------ Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD .... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 30. Nov. 2011 14:43 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
|
Fhdoia Mitglied
Beiträge: 149 Registriert: 04.01.2011 Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD ....
|
erstellt am: 30. Nov. 2011 14:47 <-- editieren / zitieren --> Unities abgeben:
hi ich habe es über eine einfache simulation mit regeln versucht, und ich habe auch eine simulation erstellt und diese mit dem simulationswiedergabegerät abgespielt. hatte aber irgendwie den selben effekt... ------------------ Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD .... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 30. Nov. 2011 14:49 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
Servus Du musst ach beim Simulationswiedergabegerät, den Zeitintervall (AFAIR ganz rechtes Icon af zB 0,1s stellen) einstellen. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fhdoia Mitglied
Beiträge: 149 Registriert: 04.01.2011 Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD ....
|
erstellt am: 30. Nov. 2011 15:04 <-- editieren / zitieren --> Unities abgeben:
habe ich gerade versucht, auch mit 0,01 aber es ändert nicht, es kommt mir so vor als würde sich das makro nur die anfangs und endposition der simulation "merken"... ------------------ Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD .... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 30. Nov. 2011 15:24 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
Servus Deshalb meine Frage wie führst du die Simulation mit einem Makro aus? Oder wählst du nur die einzelnen Positionen der Bewegung (der Konstruktionstabelle) nacheinander aus? Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fhdoia Mitglied
Beiträge: 149 Registriert: 04.01.2011 Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD ....
|
erstellt am: 30. Nov. 2011 20:11 <-- editieren / zitieren --> Unities abgeben:
|
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 30. Nov. 2011 21:18 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
Servus Kannst du bitte mal die entsprechenden Stellen deines Makros veröffentliche. Ich kann mir nicht vorstellen wie die Kinematik per Makro angesprungen wird (das Beispiel in der Doku ist IMHO mit sehr viel Aufwand verbunden) Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fhdoia Mitglied
Beiträge: 149 Registriert: 04.01.2011 Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD ....
|
erstellt am: 01. Dez. 2011 14:51 <-- editieren / zitieren --> Unities abgeben:
ich habe jetzt mal eine simulation mit regeln einmal vorwärts und einmal rückwärts abgespielt. dann habe ich eine widergabe gemacht und mit einem makro aufgezeichnet. habe die beiden makros mal als txt datei angehängt. ich selber kann damit irgendwie gar nix anfangen^^ ------------------ Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD .... [Diese Nachricht wurde von Fhdoia am 19. Jan. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 01. Dez. 2011 19:56 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
Servus Bitte keine Sonderzeichen im Dateinamen des Anhangs. Hast du versucht mal den Code zu verstehen? IMHO werden mit diesem Code nur Teile starr zueinander ausgerichtet. Hast du den Mechanismus schon zuvor erzeugt? Oder willst du diesen jedes mal neu erstellen? Klappt dein Vorgehen ohne Makro? IMHO musst du wenn du einen Mechanismus mit einer Tabelle steuerst, aus diesem zuerst eine Simulation erstellen (damit die Zwischenwerte interpoliert werden) bevor du diese abspielst? (oder beinhaltet deine Tabelle für zB alle 2ms eine Zeile?) Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fhdoia Mitglied
Beiträge: 149 Registriert: 04.01.2011 Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD ....
|
erstellt am: 03. Dez. 2011 13:21 <-- editieren / zitieren --> Unities abgeben:
Hi bernd, nein der mechanismus ist schon erstellt. also ich versuche es mal kurz zu erklären: die bewegungssimulation (knickarmroboter) besteht aus 4 winkeln die sich bewegen lassen. Diese 4 Winkel werden per designtable in catia importiert und sind dann mit formeln verknüpft. Diese Formeln benuze ich dann für eine Simulation mit Regeln. Wenn sich nun die Winkel in meinem Designtable aktualisieren, ändert sich auch meine Simulation. Die Simulation mit Regeln oder auch wenn ich eine Simulation erstelle und mit dem Wiedergabegerät abspiele funktioniert perfekt, auch wenn die winkel sich immer wieder ändern... ich bekomme es allerdings nicht hin das ganz in ein makro zu verpacken... grüße ------------------ Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD .... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 04. Dez. 2011 19:36 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
Servus Ich mal probiert wie man eine Mechnismus der über Commands gesteurt wird abspielen kann. Dazu wird die SimulationWorkbench benötigt. Diese Funtkionen sind AFAIK alle undokumentiert. Viel Spaß damit: Code: Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)Sub CATMain() Dim productDocument1 As ProductDocument Dim simulationWorkbench1 As SimulationWorkbench Dim KinematicsWorkbench1 As KinematicsWorkbench Dim simulationPlayer1 As SimulationPlayer Set productDocument1 = CATIA.ActiveDocument 'Workbenches aufrufen Set simulationWorkbench1 = productDocument1.GetWorkbench("SimulationWorkbench") Set KinematicsWorkbench1 = productDocument1.GetWorkbench("KinematicsWorkbench") 'Simulatonswiedergabegerät aufrufen Set simulationPlayer1 = simulationWorkbench1.SimulationPlayer 'den 2. Mechanismus aufrufen Dim mechanism1 As Mechanism Set mechanism1 = KinematicsWorkbench1.Mechanisms.Item(2) 'den Mechanismus dem Wiedergabegerät übergeben simulationPlayer1.LoadAgent mechanism1 'Zeitintervall festlegen simulationPlayer1.ClockStep = 0.1 'Simulation an den Anfang setzen simulationPlayer1.PlayBegin 'Wiedergabe starten simulationPlayer1.PlayForward 'Auf das beenden der Wiedergabe warten Do Sleep (10) DoEvents Loop Until simulationPlayer1.AbsoluteClock = simulationPlayer1.GetClockUpperBound 'Fertigmeldung MsgBox "Abspielen des Mechanismus ist beendet." End Sub
Wie man auf eine Simulation zugreift bzw diese erstellt hab ich noch nicht festgestellt.Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fhdoia Mitglied
Beiträge: 149 Registriert: 04.01.2011 Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD ....
|
erstellt am: 04. Dez. 2011 19:49 <-- editieren / zitieren --> Unities abgeben:
wow echt nett bernd dass du dich damit beschäftigt hast!! ich werde morgen oder übermorgen wenn ich zeit habe mal ein wenig rumspielen und schauen was ich so hinbekomme! ich gebe dann rückmeldung! vielen dank auf jeden fall und schönen (rest)sonntag noch... ------------------ Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD .... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fhdoia Mitglied
Beiträge: 149 Registriert: 04.01.2011 Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD ....
|
erstellt am: 07. Dez. 2011 17:40 <-- editieren / zitieren --> Unities abgeben:
ich werd das etwas nach hinten schieben hier, da ich noch nich so weit bin mit dem vba programmieren...ich hole den thread dann bald möglichst wieder hoch... ------------------ Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD .... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MKampmann Mitglied
Beiträge: 149 Registriert: 04.01.2011 Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD ....
|
erstellt am: 12. Dez. 2011 13:28 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
so ich melde mich dazu mal wieder zu wort: ich bin jetzt soweit die simulation über ein makro zu machen, da der rest soweit steht. ich habe mir als einfachste variante gedacht einfach die "Simulation mit Regeln" zu starten über das makro, und dann einfach den Playbutton zu betätigen. das ganze setze ich dann auf einen button in mein userform und das selbe wieder fürs rückwärtsfahren. Eventuell auch beides in einem mit einer kurzen pause dazwischen. CATIA.StartCommand ("Simulation mit Regeln") damit bekomm ich die Simulation geöffnet aber ich finde nicht heraus wie ich den button dann darin per makro betätige. der Button heißt (Vorwärts wiedergeben). wenn ich das hätte könnte ich mir das so zusammenbasteln wie ich es brauche. Vielen Dank schonmal, das Ende ist in Sicht Eventuell werde ich auch meine Dokumentation online stellen für Leute die mal etwas ähnliches machen müssen... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 12. Dez. 2011 13:51 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
|
MKampmann Mitglied
Beiträge: 149 Registriert: 04.01.2011 Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD ....
|
erstellt am: 12. Dez. 2011 14:04 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
ja habe es gerade mal versucht aber da bekomme ich die fehlermeldung (siehe Bild) zuerst gab es auch noch probleme mit dem sleep befehl (compile error: sub or function not defines), aber da hab ich dann das oben eingefügt dann ging es: Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) aber wiegesagt kommt dann die fehlermeldung... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 12. Dez. 2011 14:09 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
Servus Wenn du den ersten Mechanismus ansprechen willst musst du auch in der entsprechenden Zeile auf .Item(1) ändern (oder eben den Namen). Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MKampmann Mitglied
Beiträge: 149 Registriert: 04.01.2011 Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD ....
|
erstellt am: 12. Dez. 2011 14:13 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
wow es funktioniert!! hammer. allerdings erst nachdem ich den "sleep" befehl rauslösche, irgendwie springt er da immer hin und sagt sub or function not defined, egal ob ich das hier eintrage oder nicht ganz oben: Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) wie kann ich das ganze dann wieder rückwärtslaufen lassen?? grüße Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 12. Dez. 2011 14:15 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
|
MKampmann Mitglied
Beiträge: 149 Registriert: 04.01.2011 Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD ....
|
erstellt am: 12. Dez. 2011 14:15 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
ah ok das mit dem rückwärts habe ich geändert bekommen, einfach das foward nach backward umschreiben und das "an den anfang setzen" löschen. hammer geil!! freut mich echt riesig!! edit: stopp, doch nciht ganz: ich habe das "simulationPlayer1.PlayBackward" mal ans ende gesetzt, also nachdem die msgbox kommt, aber er fängt die rückwärtsbewegung an und stoppt dann sofort wieder... [Diese Nachricht wurde von MKampmann am 12. Dez. 2011 editiert.] [Diese Nachricht wurde von MKampmann am 12. Dez. 2011 editiert.] [Diese Nachricht wurde von MKampmann am 12. Dez. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 12. Dez. 2011 14:58 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
Servus Vielleicht stopp die Wiedergabe weil zuvor das Makro beendet wird? Versuch mal mein Makro zu verstehen (und IMHO wird der Sleep-Befehl benötigt) Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MKampmann Mitglied
Beiträge: 149 Registriert: 04.01.2011 Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD ....
|
erstellt am: 12. Dez. 2011 15:33 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
warum wird der sleep befehl in deinem makro benötigt? ich bekomme halt immer die fehlermeldung wenn der drin ist... ich werde mich heute abend nochmal intensiv damit auseinandersetzen, da ich leider jetzt wegmuss... auf jeden fall danke ich dir vielmals! edit: jetzt geht es mit dem sleep befehl komischerweise, habe da mal spasseshalbe 100 eingetragen statt 10 und dann läuft es halt ganz ruckelig also nehme ich an das ist die pause zwischen den schritten oder so richtig? grüße [Diese Nachricht wurde von MKampmann am 12. Dez. 2011 editiert.] [Diese Nachricht wurde von MKampmann am 12. Dez. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MKampmann Mitglied
Beiträge: 149 Registriert: 04.01.2011 Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD ....
|
erstellt am: 12. Dez. 2011 20:31 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
also ich versuche gerade nach der vorwärtsbewegung eine pause zu machen und dann die rückwärtsbewegung zu machen. das komische ist allerdings sobald ich nach der vorwärtsbewegung ein Sleep mache fährt der roboter nicht ganz an den punkt sondern stoppt kurz vorher und fährt dann zurück. so sieht es aktuell aus: Private Sub cb_Simulationstarten_Click() Dim productDocument1 As ProductDocument Dim simulationWorkbench1 As SimulationWorkbench Dim KinematicsWorkbench1 As KinematicsWorkbench Dim simulationPlayer1 As SimulationPlayer Set productDocument1 = CATIA.ActiveDocument 'Workbenches aufrufen Set simulationWorkbench1 = productDocument1.GetWorkbench("SimulationWorkbench") Set KinematicsWorkbench1 = productDocument1.GetWorkbench("KinematicsWorkbench") 'Simulatonswiedergabegerät aufrufen Set simulationPlayer1 = simulationWorkbench1.SimulationPlayer 'den 2. Mechanismus aufrufen Dim mechanism1 As Mechanism Set mechanism1 = KinematicsWorkbench1.Mechanisms.Item(1) 'den Mechanismus dem Wiedergabegerät übergeben simulationPlayer1.LoadAgent mechanism1 'Zeitintervall festlegen simulationPlayer1.ClockStep = 0.25 'Simulation an den Anfang setzen simulationPlayer1.PlayBegin 'Wiedergabe starten simulationPlayer1.PlayForward 'Auf das beenden der Wiedergabe warten Do Sleep (10) DoEvents Loop Until simulationPlayer1.AbsoluteClock = simulationPlayer1.GetClockUpperBound 'Pause am Punkt
Sleep 2000 'zurückfahren simulationPlayer1.PlayBackward 'Fertigmeldung MsgBox "Simulation ist beendet."
End Sub es spielt dabei auch keine Rolle wie groß die sleep Zeiten gewählt werden. was ich auch bemerkt habe dass die MSGBox schon kommt bevor er zurückfährt, auch wenn ich davor noch ein sleep setze... bis auf die beiden Punkte ist es fast perfekt Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 12. Dez. 2011 20:49 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
Servus Zitat: ...was ich auch bemerkt habe dass die MSGBox schon kommt bevor er zurückfährt, ...
Deswegen hab ich ja bei der Vorwärtsbewegung ein Do-Loop-Schleife eingebaut (Abbruchkriterium kannst du dir sicher selbst erklären ) um auf die Simulation zu warten. Das selbe brauchst du wahrscheinlich auch für die Rückwärtsbewegung (natürlich mit sinnvollem Abbruchkriterium). Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MKampmann Mitglied
Beiträge: 149 Registriert: 04.01.2011 Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD ....
|
erstellt am: 12. Dez. 2011 21:15 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
ich kann das hier nicht ganz nachvollziehn: Sleep (10) DoEvents Loop Until simulationPlayer1.AbsoluteClock = simulationPlayer1.GetClockUpperBound was wäre denn ein sinnvolles abbruchkriterieum für die rückwärtsbewegung? achja und was ich auch noch fragen wollte woher du die ganzen befehle weißt, weil die sind ja nirgends dokumentiert und werden auch vom makro nicht aufgenommen, hast du die alle selber herausgefunden?? edit: Sleep (10) DoEvents Loop Until simulationPlayer1.AbsoluteClock = simulationPlayer1.GetClockLowerBound bringt jetzt den gewünschten Effekt mit der MSGBox, allerdings ist weiterhin das Problem dass die VorwärtsBewegung nicht ganz bis zum Ende geht, egal ob ich dazwischen ein sleep einbaue oder nicht... grüße [Diese Nachricht wurde von MKampmann am 12. Dez. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 12. Dez. 2011 22:26 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
|
MKampmann Mitglied
Beiträge: 149 Registriert: 04.01.2011 Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD ....
|
erstellt am: 12. Dez. 2011 22:46 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
ah diesen Object Browser hab ich noch nie gesehn! das hätte natürlich einiges einfacher gemacht.... kannst du dir dennoch erklärn warum er bei der Hinbewegung nicht die ganze bewegung macht am Ende? Ohne Rückwärtsbewegung geht es ja und auch mit geht es, aber nur etwa jedes 10 mal, deshalb vermute ich das es irgendwas mit den Zeiten und Intervallen zu tun hat?! ich hab da aber auch schon alles mögliche geändert und auspobiert aber er machts es nicht :/ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mörchen Ehrenmitglied V.I.P. h.c. CAD-Trainerin (CATIA V5)
Beiträge: 3830 Registriert: 14.03.2007 Release 19 SP2
|
erstellt am: 14. Dez. 2011 13:16 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
Hallo MKampmann, nicht, dass ich in Sachen Programmieren etwas helfen könnte, aber, wenn ich mir ansehe, wie unsäglich kompliziert es wird, warum versuchst Du das nicht mit grafischen Gesetzen. Viel einfacher zu durchschauen (meiner Meinung nach), viel schneller zu erzeugen und einfach zu editieren, wenn es mal eine Änderung gibt. Schau mal hier: http://ww3.cad.de/foren/ubb/Forum136/HTML/000805.shtml#000001 es gibt sicher jede Menge Information darüber auch an anderer Stelle im Forum. ------------------ Gruß Mörchen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mörchen Ehrenmitglied V.I.P. h.c. CAD-Trainerin (CATIA V5)
Beiträge: 3830 Registriert: 14.03.2007 Release 19 SP2
|
erstellt am: 14. Dez. 2011 13:19 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
|
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 14. Dez. 2011 14:33 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
Servus Mörchen ich gebe dir recht dass es teilweise einfacher ist mit graphischen Regeln zu arbeiten. Allerdings geht es meinem Verständnis nach, darum einen Mechanismus (mit Regeln) mit einem Makro abzuspielen (ob das wirklich notwendig ist kann nur der Ersteller des Themas bewerten). Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mörchen Ehrenmitglied V.I.P. h.c. CAD-Trainerin (CATIA V5)
Beiträge: 3830 Registriert: 14.03.2007 Release 19 SP2
|
erstellt am: 14. Dez. 2011 15:18 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
|
Fhdoia Mitglied
Beiträge: 149 Registriert: 04.01.2011 Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD ....
|
erstellt am: 16. Dez. 2011 16:58 <-- editieren / zitieren --> Unities abgeben:
hey leute, so wie es jetzt ist läuft es eigentlich schon astrein, also werde ich das jetzt nich mehr ändern, sondern mein wissen darin etwas vertiefen um ein besseres verständnis dafür zu bekommen. danke aber an alle, vor allem bernd für die hilfe bis jetzt. grüße [Diese Nachricht wurde von Fhdoia am 12. Jan. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MKampmann Mitglied
Beiträge: 149 Registriert: 04.01.2011 Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD ....
|
erstellt am: 14. Feb. 2012 23:37 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
ich wollte jetzt einbauen dass während der simulation das userform ausgeblendet wird, und habe das beim beginn der simulation über Me.Hide und am ende dann mit Me.Show hinbekommen, allerdings wenn man dann währenddessen die ansicht ändert, fährt die simulation plötzlich ganz schnell zu ende ohne ersichtlichen grund :? womit hängt das denn zusammen?! weiterhin habe ich ein ziemlich mieses problem bei der simulation, wenn ich deinen code verwende brittmann geht das wunderbar und die simulation fährt bis zum ende durch, aber da ich ja rückwärts fahren muss hab ich versucht das mit einzubauen. Dummerweise fährt er dann nicht mehr korrekt, und macht die hinbewegung dann nur bis knapp vor ende und dann die rückfahrt. Ich habe schon versucht an verschiedenen stellen ein sleep befehl einzubauen aber das ändert alles nichts und es macht mich wahnsinnig^^ hier mal der code vll fällt jemand der fehler auf. Code: 'Hinfahrt'Workbenches aufrufen Set simulationWorkbench1 = productDocument1.GetWorkbench("SimulationWorkbench") Set KinematicsWorkbench1 = productDocument1.GetWorkbench("KinematicsWorkbench") 'Simulatonswiedergabegerät aufrufen Set simulationPlayer1 = simulationWorkbench1.SimulationPlayer 'den 2. Mechanismus aufrufen Dim mechanism1 As Mechanism Set mechanism1 = KinematicsWorkbench1.Mechanisms.Item(1) 'den Mechanismus dem Wiedergabegerät übergeben simulationPlayer1.LoadAgent mechanism1 'Zeitintervall festlegen simulationPlayer1.ClockStep = 0.2 'Simulation an den Anfang setzen simulationPlayer1.PlayBegin 'Wiedergabe starten simulationPlayer1.PlayForward 'Auf das beenden der Wiedergabe warten Do Sleep (10) DoEvents Loop Until simulationPlayer1.AbsoluteClock = simulationPlayer1.GetClockUpperBound 'Rückwärtsfahren------------------------------------------- 'Wiedergabe starten simulationPlayer1.PlayBackward 'Auf das beenden der Wiedergabe warten Do Sleep (10) DoEvents Loop Until simulationPlayer1.AbsoluteClock = simulationPlayer1.GetClockLowerBound
danke schonmal [Diese Nachricht wurde von MKampmann am 16. Feb. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MKampmann Mitglied
Beiträge: 149 Registriert: 04.01.2011 Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD ....
|
erstellt am: 21. Feb. 2012 10:02 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
An der user form liegt es nicht, die habe ich schon ein und ausgeblendet gelassen. Die rückwärtsbewegung geht ja im prinzip nur wenn er eine vorwärtsbewegung mit anschließender rückwärtsbewegung macht dann führt er die Vorwärts nicht ganz komplett bis zum Ende aus. Wenn ich den Teil mit der rückwärtsbewegung raus lösche, dann geht die Vorwärtsbewegung bis zum Ende. Ich habe vermutet das es vielleicht an meinen erzeugten Regeln liegt, da habe ich exemplarisch die 4 Winkel der Simulation mit je 10 Sekunden verknüpft. Wenn ich da z.b. 5 oder 15 Sekunden mache dann ist die bewegung auch total komisch und die Winkel gehen viel weiter als sie sollten, da habe ich auch noch nicht rausgefunden womit das zusammenhängt. kennt sich damit zufällig jemand etwas aus? Würde bei bedarf auch die baugruppe mal zuschicken... grüße Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 21. Feb. 2012 10:21 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
|
MKampmann Mitglied
Beiträge: 149 Registriert: 04.01.2011 Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD ....
|
erstellt am: 21. Feb. 2012 10:46 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
|
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 21. Feb. 2012 11:29 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
Servus Und woher kommen die Winkel? Aus einer Tabelle? Oder Wird mit einer Formel (abhängig von KINTime) der Winkel verändert? Ist in der Tabelle der Winkel auch noch für dein maximale Zeit definiert? Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MKampmann Mitglied
Beiträge: 149 Registriert: 04.01.2011 Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD ....
|
erstellt am: 21. Feb. 2012 12:04 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
die winkel kommen aus einer design table, da stehen aber nur die 4 winkel drin mehr nicht. Also in der ersten zeile steht "Winkel [n] (deg)" und in der 2ten Zeile die werte. CATIA hat die dann auch so als winkel erkannt. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MKampmann Mitglied
Beiträge: 149 Registriert: 04.01.2011 Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD ....
|
erstellt am: 24. Feb. 2012 10:12 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
|
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 24. Feb. 2012 15:31 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
|
MKampmann Mitglied
Beiträge: 149 Registriert: 04.01.2011 Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD ....
|
erstellt am: 24. Feb. 2012 15:47 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
|
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 24. Feb. 2012 15:52 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
Servus Wie lang läuft deine Simulation (Dauer). KINTime ist der ablaufende Zeitparameter. Doppelklick auf den Mechanismus -> Icon mit "..." drücken -> Dauer eintragen. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MKampmann Mitglied
Beiträge: 149 Registriert: 04.01.2011 Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD ....
|
erstellt am: 24. Feb. 2012 16:00 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
da steht auch 10s drin, war mir grad nich sicher was du meisntest...an der zeit habe ich auch noch nie was verändert. wenn ich da jetzt allerdings mehr als 10s oder weniger eingeben, dann werden die winkel nicht richtig abgefahren. zum beispiel ich habe die 4 winkel mit je 50 grad und wenn ich da mehr als 10s eingebe dann gehen die winkel viel weiter als diese 50 grad und wenn ich weniger eintrage als 10s dann dementsprechend auch weniger? blick da gerade nich ganz durch wie der zusammenhang ist?! wenn ich die simulation jetzt einmal zu ende gefahren habe und dann die zeit ändere dann nimmt der mechanismus auch jeweils eine andere position ein?? EDIT: ich habe jetzt mal KINtime direkt mit den Winkel verknüpft ohne extra "10s" und da besteht das selbe problem... [Diese Nachricht wurde von MKampmann am 24. Feb. 2012 editiert.] [Diese Nachricht wurde von MKampmann am 24. Feb. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MKampmann Mitglied
Beiträge: 149 Registriert: 04.01.2011 Windows 7 MS office 2010 Catia v5 R19<P>PC: Core I3-550 8GB Ram Corsair SSD ....
|
erstellt am: 24. Feb. 2012 16:32 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
|
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 24. Feb. 2012 16:55 <-- editieren / zitieren --> Unities abgeben: Nur für Fhdoia
Servus Zitat: wenn ich da jetzt allerdings mehr als 10s oder weniger eingeben, dann werden die Winkel nicht richtig abgefahren.
Also die Formel die du angibst, ist die Winkelfunktion über der Zeit (also Qmega(t). Wenn die Formel: KINtime / 10s * 55deg lauten, wird bei 10s der Winkel von 55Grad erreicht, bei "/5s" sind es eben 110 Grad. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |