| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Turbocad |
Autor
|
Thema: Nochmal Recorder und VBA-Script (731 mal gelesen)
|
fcaspar Mitglied Konstrukteur
Beiträge: 347 Registriert: 09.06.2000
|
erstellt am: 07. Dez. 2004 20:09 <-- editieren / zitieren --> Unities abgeben:
Hallo, hier nochmal ein Beispiel wie man ein Recorderscript dazu verwenden kann Variantenkonstruktionen zu erstellen. Als Eingabemaske dient hier ein UserForm, welches im VBA-Editor auch ganz einfach zu erstellen ist, und wo man den auszuführenden Programmcode einfach an die Buttons "dranhängt". Das aufgezeichnete Script beinhaltet die Erstellung des Layers auf dem der winkel liegen soll und die Winkelerstellung selbst. Davon abgeleitet lassen sich sicher auch kompliziertere Varianten erstellen. Probierts aus: Die Datei winkel01.zip am besten ins Macro-Verzeichnis auspacken und das Macro winkel.tcm in eine Zeichnung laden. @H. Scheurich: Ich habs ehrlich gesagt nicht ganz geschnallt, wie das mit "imsiEventMouseDown" funktioniert, z.B. einen Startpunkt für diesen Winkel festzulegen. Sorry. Ciao Frank Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
H. Scheurich Mitglied
Beiträge: 161 Registriert: 21.06.2002
|
erstellt am: 08. Dez. 2004 20:56 <-- editieren / zitieren --> Unities abgeben: Nur für fcaspar
Hallo Frank, es kann auch sein, das meine Erklärung, zu dem "Event", nicht ausreichend war. Was speziell hast du nicht verstanden? Schreib einfach mal. Ich versuche es dann zu erklären. (Wenn ich es weiß!?!) Die Einbindung des Recorder-Scriptes in ein Macro, wie du es im "Winkel" Beispiel gemacht hast, ist bestimmt für einige TC-Anwender sehr hilfreich. Gruß, H. Scheurich. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fcaspar Mitglied Konstrukteur
Beiträge: 347 Registriert: 09.06.2000 Solidworks 2008 DBWorks R10 SP2.6
|
erstellt am: 09. Dez. 2004 17:30 <-- editieren / zitieren --> Unities abgeben:
Hallo H., ich kanns einfach nicht nachvollziehen, vermutlich weil mir auch einige Programmiergrundlagen fehlen. Z.B. möchte ich bei meinem Winkel-Macro noch einen zusätzlichen Button "Startpunkt" einfügen der folgendes bewirkt: bei Onclick soll formular veschwinden, mit der Maus wähle ich die koordinaten des Startpunktes und gebe diese meinetwegen an die Variablen dx und dy. Danach soll das Formular wieder erscheinen. Wenn ichs richtig blicke, dann müßte in dem Klassenmodul statt der MsgBox-Ausgabe die Zuweisung der Werte erfolgen. Wie kann ich diese variablen dann aber im private sub CommandButton3_Click() verwenden? Ciao Frank Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
H. Scheurich Mitglied
Beiträge: 161 Registriert: 21.06.2002
|
erstellt am: 10. Dez. 2004 21:28 <-- editieren / zitieren --> Unities abgeben: Nur für fcaspar
Hallo Frank, das beigefügte Macro enthält eine Möglichkeit, die Mauskoordinaten an das Formular zu übergeben und die Koordinaten in verschiedene "Systeme" umzurechen. Leider kann so das Ergebnis einer Fangfunktion nicht ausgewertet werden. Meines Wissens nach aber nur in der deutschen Version. In der amerikanischen soll es funktioniere. Habe ich aber noch nicht getestet. Es wäre schön, wenn IMSI diese Funtionen auch für die deutsche Version verfügbar (funktioniernd) macht. Vergleichbar mit der Funktion "GetMouseClick" gibt es auch Auswertungen von Fangfunktionen über Ereignisse (Events). Viel Spass beim experimentieren. Gruss, H. Scheurich.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fcaspar Mitglied Konstrukteur
Beiträge: 347 Registriert: 09.06.2000 Solidworks 2008 DBWorks R10 SP2.6
|
erstellt am: 21. Dez. 2004 20:29 <-- editieren / zitieren --> Unities abgeben:
Hallo H. funktioniert soweit mit dem Event. Fangfunktion auswerten ist nicht so wichtig, da es in dem Fall nur darum gehen soll ein neues Element im aktiven Ausschnitt abzusetzen und es nicht nach dem Erstellen erst wieder vom Bezugspunkt herzuholen. Da fällt mir ein, könnte man sich eigentlich auch mit xorigin und yorigin auf Koordinaten des Aktiven ausschnitts beziehen, z.B. auf die Mitte. Wenn ich was über Bearbeiten->Einfügen in die Zeichnung hole, landet es ja auch in der mitte der Zeichenfläche. Ciao Frank Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |