Der Recorder von SolidWorks kann IMHO nur bedingt für die Programmierung von SolidWorks benutzt werden. Als Basis zur schnellen Ermittlung von Befehlen ist er ganz praktisch, aber alles was dann kommt ist eher ... gewöhnungsbedürftig. Es gibt einige Einschränkungen und Eigenheiten, die es häufig nötig machen, die erzeugten Makros intensiv zu überarbeiten oder die diese schlichtweg unbrauchbar machen. Am besten schreiben Sie auch die Makros komplett von Hand. Dann können Makros eine wirklich große Hilfe sein. |
Die SolidWorks Makros Sprache benutzt Visual Basic 3.0. Dies verursacht Probleme, wenn das Makro versucht SafeArrays zu übergeben oder entgegenzunehmen. Aufgrund dieser Einschränkung kann von einem Makro aus keine API-Funktion benutzt werden die SafeArrays zur Parameterübergabe nutzt. Wenn Sie diese Funktionen benutzen wollen müssen Sie Ihren Makrocode entweder in ein VBA Projekt (wie z.B. in Excel oder MS Access) oder in Visual Basic 4.0 oder höher einbauen.
Der Makrorekorder ist nicht in der Lage Tastatureingaben aufzuzeichnen. Dies bedeutet eine erhebliche Einschränkung für die Nützlichkeit. Wie Sie aber dennoch Tastatureingaben in Ihre Makros unterbringen wird ausführlich im Kapitel 01 - Makros in SolidWorks aufzeichnen erklärt.
SolidWorks benutzt bei der Makroaufzeichnung dummerweise die harten Namen der Dokumente, Ebenen, Skizzen usw. Dadurch wird es ohne Nacharbeit häufig unmöglich ein aufgezeichnetes Makro auf ein anderes Dokument anzuwenden. Und um die Makros entsprechend nachzuarbeiten muss man sich wieder mit dem Rest der API auseinandersetzen.
Auch der "Editor" der Makros ist keine besonders große Hilfe. Man kann zwar die Prozedur schrittweise durchgehen und sehen wo ggf. ein Fehler passiert aber warum bleibt dem unerfahrenen Anwender verborgen. Auch die Hilfe zu diesem Editor kann nicht überzeugen, da diese a) nur den Editor, nicht aber die Funktionen beschreibt und b) auch noch in Englisch ist.
Sie können im Kapitel 04 - Programmieren mir API Funktionalität in eigenen Programmen nachlesen, dass ich ansonsten von der Hilfe (obwohl in englisch) sehr angetan bin. Diese unterschiedliche Sichtweise hat etwas mit Schizophrenie zu tun (ja, ja, Sie wussten immer schon, dass ich nicht ganz richtig im Kopf bin :-)): ich denke mal, dass jemand, der mit dem Makrorecorder arbeitet, um sich oder seinen Kollegen Hilfsmittel zu erzeugen, sich eben nicht mit API-Calls, Objektmodellen und ereignisgesteuerter Programmierung rumschlagen will.
Wer sich hingegen an die weitergehende Programmierung heranwagt sollte sich von diesen Dingen ebenso wenig wie von der englischen "Fachliteratur" ins Bockshorn jagen lassen. Und dann stehen einem (fast) alle Tore zu SolidWorks weit offen.
Keep hacking ...
Kritik und Anregungen bitte an Stefan Berlitz. Letzte Änderung dieser Seite am Donnerstag, 01. Februar 2007 17:40 |