20
Kleine Helferlein einfache Makroprogrammierung in SolidWorks. CAD.de Anwendertreffen auf der CAT.Pro 10/2004 von Stefan Berlitz

einfache Makroprogrammierung in SolidWorks.solidworks.cad.de/download/tt-catpro2004_makro.pdf · Kleine Helferlein einfache Makroprogrammierung in SolidWorks. CAD.de Anwendertreffen

Embed Size (px)

Citation preview

Page 1: einfache Makroprogrammierung in SolidWorks.solidworks.cad.de/download/tt-catpro2004_makro.pdf · Kleine Helferlein einfache Makroprogrammierung in SolidWorks. CAD.de Anwendertreffen

Kleine Helferleineinfache Makroprogrammierung in

SolidWorks.

CAD.de Anwendertreffen auf der CAT.Pro 10/2004

von Stefan Berlitz

Page 2: einfache Makroprogrammierung in SolidWorks.solidworks.cad.de/download/tt-catpro2004_makro.pdf · Kleine Helferlein einfache Makroprogrammierung in SolidWorks. CAD.de Anwendertreffen

Stefan Berlitz - htpp://solidworks.cad.de - http://swtools.cad.de - CAD.de Anwendertreffen auf der CAT.Pro 10/2004 16.10.2004 - Seite 2

Kleine Helferlein – Makros in Solid WorksKleine Helferlein – Makros in Solid Works

• Einleitung• Wie komme ich dazu diese Präsentation zu halten• Makros und was darunter zu verstehen ist• Woher kommen diese Informationen?

• Ins Eingemachte – Makros im Schnelldurchgang• Grundlagen der Makroprogrammierung• Infos, Infos, Infos• Beispiel auf Zuruf

• Zum Schluss - man muss nur wissen, wo es steht• Makros sammeln und weitergeben• Einladung zum mitmachen

Page 3: einfache Makroprogrammierung in SolidWorks.solidworks.cad.de/download/tt-catpro2004_makro.pdf · Kleine Helferlein einfache Makroprogrammierung in SolidWorks. CAD.de Anwendertreffen

Stefan Berlitz - htpp://solidworks.cad.de - http://swtools.cad.de - CAD.de Anwendertreffen auf der CAT.Pro 10/2004 16.10.2004 - Seite 3

VorstellungVorstellung

• Stefan Berlitz• CAD Administration Saurer GmbH (Barmag) seit 1992• Einführungsprojekt SolidWorks 1997

• Inoffizielle Hilfeseite seit 1999• http://solidworks.cad.de

• Hilfe / Moderation im SolidWorks-Online-Forum seit 2000• http://www.cad.de• http://ww3.cad.de/cgi-bin/ubb/forumdisplay.cgi?action=topics&number=2

• Tools und Programme seit 2000(z.B. Batchprint und –konvertierung, Makros, Freeware, Shareware)• http://swtools.cad.de

Page 4: einfache Makroprogrammierung in SolidWorks.solidworks.cad.de/download/tt-catpro2004_makro.pdf · Kleine Helferlein einfache Makroprogrammierung in SolidWorks. CAD.de Anwendertreffen

Stefan Berlitz - htpp://solidworks.cad.de - http://swtools.cad.de - CAD.de Anwendertreffen auf der CAT.Pro 10/2004 16.10.2004 - Seite 4

Makros … was ist das eigentlichMakros … was ist das eigentlich

• Makros• Ein Makro ist ein kleines Programm oder Skript, das bestimmte

Abläufe in einem Anwendungsprogramm automatisiert.(Quelle: Wikipedia - http://de.wikipedia.org/wiki/Makro)

• Makros in SolidWorks• Seit SolidWorks 2001Plus integriertes VBA• praktisch alle API Calls per VBA zu nutzen, nur sehr geringe

Einschränkung• Laufen im Prozessraum von SolidWorks (dadurch sehr schnell)

• Weitere Automatisierungsmöglichkeiten• Makrofeatures• DLL Einbindung• externe Automatisierung

Page 5: einfache Makroprogrammierung in SolidWorks.solidworks.cad.de/download/tt-catpro2004_makro.pdf · Kleine Helferlein einfache Makroprogrammierung in SolidWorks. CAD.de Anwendertreffen

Stefan Berlitz - htpp://solidworks.cad.de - http://swtools.cad.de - CAD.de Anwendertreffen auf der CAT.Pro 10/2004 16.10.2004 - Seite 5

Woher kommen diese Informationen?Woher kommen diese Informationen?

• Dokumentation von SolidWorks• Online-Hilfe, Handbücher• Supportbereich (API Bereich)

• Erfahrungen• Anwender• Administratoren• API-Support

• Internet• CAD.de Forum• comp.cad.solidworks• Webseiten

• Usertreffen• SolidWorks World (CESUM)• CAT.Pro• Kundentage• Arbeitskreise

CAD.de Forum> 6100 Themen> 6100 Themen> 36.500 Beiträge> 36.500 Beiträge> 1.850 schreibende > 1.850 schreibende

Mitglieder in 4 JahrenMitglieder in 4 Jahren

Ralf Tide, Ralf Tide, s.giehls.giehl, , TeddibaerTeddibaer, , HoshiHoshi, Oldie, , Oldie, u.clemensu.clemens, , gismogismo, , wagowago, , stahlystahly, Radius, JM, , Radius, JM, ublumublum, , brainseksbrainseks, Jörg W, Mike, , Jörg W, Mike, OberparleitnerOberparleitner, , drdr, , KMasslerKMassler, , WERA, Franz WERA, Franz HiemstraHiemstra, Markus , Markus Brunner, Brunner, LetschingerLetschinger, , raworawo, , d_bd_b, , Volker Kraemer, Andreas Volker Kraemer, Andreas Müller, Marc Müller, Marc BräuningerBräuninger, Beere, , Beere, BAB, Axel, Ulrike S, Jan, WLT, BAB, Axel, Ulrike S, Jan, WLT, Klaus Klaus GreimGreim, Herrmann, , Herrmann, raworawo, , Richard Eppler, Richard Eppler, malcommalcom, Timm, , Timm, Gerd Gerd WingsWings, Josef B, , Josef B, FaesFaes, , OsirisOsiris, Baltenweck, Koch, , Baltenweck, Koch, XantesXantes, Kalle, , Kalle, SimonizerSimonizer, , sandrosandro, Jörg , Jörg MäckelmannMäckelmann, , A.OertelA.Oertel, , jotjot--wewe, , HarryDHarryD, , Johannes Johannes AnackerAnacker, … und sehr , … und sehr viele, die hier nicht aufgeführt viele, die hier nicht aufgeführt sindsind

Page 6: einfache Makroprogrammierung in SolidWorks.solidworks.cad.de/download/tt-catpro2004_makro.pdf · Kleine Helferlein einfache Makroprogrammierung in SolidWorks. CAD.de Anwendertreffen

Stefan Berlitz - htpp://solidworks.cad.de - http://swtools.cad.de - CAD.de Anwendertreffen auf der CAT.Pro 10/2004 16.10.2004 - Seite 6

Kleine Helferlein – Makros in Solid WorksKleine Helferlein – Makros in Solid Works

• Einleitung• Wie komme ich dazu diese Präsentation zu halten• Makros und was darunter zu verstehen ist• Woher kommen diese Informationen?

• Ins Eingemachte – Makros im Schnelldurchgang• Grundlagen der Makroprogrammierung• Infos, Infos, Infos• Beispiel auf Zuruf

• Zum Schluss - man muss nur wissen, wo es steht• Makros sammeln und weitergeben• Einladung zum mitmachen

Page 7: einfache Makroprogrammierung in SolidWorks.solidworks.cad.de/download/tt-catpro2004_makro.pdf · Kleine Helferlein einfache Makroprogrammierung in SolidWorks. CAD.de Anwendertreffen

Stefan Berlitz - htpp://solidworks.cad.de - http://swtools.cad.de - CAD.de Anwendertreffen auf der CAT.Pro 10/2004 16.10.2004 - Seite 7

Grundlagen der MakroprogrammierungGrundlagen der Makroprogrammierung

• Makrosprache ist VBA• VBA – Visual Basic for Application von MicroSoft

• Standardsprache vieler Programme• VB/VBA Grundkenntnisse müssen vorhanden sein

– Lehrgang VB Programmierung (Grundlagen ausreichend)– Online Buch

» http://www.ti5.tu-harburg.de/Manual/vba5/httoc.htm– VB Online Seminare

» http://www.rhirte.de/vb/home.htm» http://www.vb-seminar.de/

– VB Spezialseiten» http://www.vbtipps.de/» http://www.aboutvb.de/» http://www.vbarchiv.net» http://www.activevb.de

• die meiste Dokumentation in Englisch

Page 8: einfache Makroprogrammierung in SolidWorks.solidworks.cad.de/download/tt-catpro2004_makro.pdf · Kleine Helferlein einfache Makroprogrammierung in SolidWorks. CAD.de Anwendertreffen

Stefan Berlitz - htpp://solidworks.cad.de - http://swtools.cad.de - CAD.de Anwendertreffen auf der CAT.Pro 10/2004 16.10.2004 - Seite 8

Makrorecorder und IDEMakrorecorder und IDE

• Integrierter Makrorecorder in SolidWorks• ohne Anpassungen sind Makro nicht produktiv zu gebrauchen• häufig fehlende Aufzeichnung von Arbeitsschritten• zum "Ausspähen" von API Calls aber brauchbar

• VBA Editor – die Entwicklungsumgebung (IDE)• nicht wie gewohnt per ALT-F11, sondern über Extras/Makro• MDI – mehrere Makros gleichzeitig geöffnet

• Probleme beim Speichern in Mehrbenutzerumgebung• Syntaxhighlighting• Automatische Syntax- und Namespaceergänzung (Early Binding)• Direktumgebung• einfache Debugumgebung

API – Application programming interfaceIDE - integrated development environmentAPI API –– ApplicationApplication programmingprogramming interfaceinterfaceIDE IDE -- integratedintegrated developmentdevelopment environmentenvironment

Page 9: einfache Makroprogrammierung in SolidWorks.solidworks.cad.de/download/tt-catpro2004_makro.pdf · Kleine Helferlein einfache Makroprogrammierung in SolidWorks. CAD.de Anwendertreffen

Stefan Berlitz - htpp://solidworks.cad.de - http://swtools.cad.de - CAD.de Anwendertreffen auf der CAT.Pro 10/2004 16.10.2004 - Seite 9

Alles ist KlasseAlles ist Klasse

• Alles ist in Klassen aufgebaut• ereignis- und objektorientiertes Programmieren Pflicht• Objekte verfügen über

• Eigenschaften (Properties) - das Auto ist Blau• Methoden (Methods) - das Auto fährt• Ereignisse (Events) - das Auto wird gestartet

• Objektklassen sind hierarchisch angeordnet• Spezielle Ausprägungen eines Objektes

haben zusätzliche Eigenschaften,Methoden und Events

• Objektstruktur zu verstehen ist derSchlüssel zur Makroprogrammierung

• Hört sich schwierig an, ist aber ganz einfach

Page 10: einfache Makroprogrammierung in SolidWorks.solidworks.cad.de/download/tt-catpro2004_makro.pdf · Kleine Helferlein einfache Makroprogrammierung in SolidWorks. CAD.de Anwendertreffen

Stefan Berlitz - htpp://solidworks.cad.de - http://swtools.cad.de - CAD.de Anwendertreffen auf der CAT.Pro 10/2004 16.10.2004 - Seite 10

Kleine Helferlein – Makros in SolidWorksKleine Helferlein – Makros in SolidWorks

• Einleitung• Wie komme ich dazu diese Präsentation zu halten• Makros und was darunter zu verstehen ist• Woher kommen diese Informationen?

• Ins Eingemachte – Makros im Schnelldurchgang• Grundlagen der Makroprogrammierung• Infos, Infos, Infos• Beispiel auf Zuruf

• Zum Schluss - man muss nur wissen, wo es steht• Makros sammeln und weitergeben• Einladung zum mitmachen

Page 11: einfache Makroprogrammierung in SolidWorks.solidworks.cad.de/download/tt-catpro2004_makro.pdf · Kleine Helferlein einfache Makroprogrammierung in SolidWorks. CAD.de Anwendertreffen

Stefan Berlitz - htpp://solidworks.cad.de - http://swtools.cad.de - CAD.de Anwendertreffen auf der CAT.Pro 10/2004 16.10.2004 - Seite 11

Dein Freund und Helfer – API HilfeDein Freund und Helfer – API Hilfe

• Die wichtigste Infoquelle ist die API Hilfe• über Hilfe/SolidWorks API … zu erreichen (oder [sw-inst]\api)• von Programmierern für Programmierer geschrieben• viele Beispiele auch in VB• gute Verlinkung• einheitlicher Aufbau• leider nur in englisch

• API Supportbereich – www.solidworks.com/api• Beispielprojekte (im Bereich Download)• Tipps und FAQ mit Beispielcode• Sehr schneller und guter (englischer) Support direkt von

SolidWorks (aber manchmal kurz angebunden J )

Page 12: einfache Makroprogrammierung in SolidWorks.solidworks.cad.de/download/tt-catpro2004_makro.pdf · Kleine Helferlein einfache Makroprogrammierung in SolidWorks. CAD.de Anwendertreffen

Stefan Berlitz - htpp://solidworks.cad.de - http://swtools.cad.de - CAD.de Anwendertreffen auf der CAT.Pro 10/2004 16.10.2004 - Seite 12

Quellen im InternetQuellen im Internet

• Deutschsprachige Quellen• solidworks.cad.de und swtools.cad.de

• Bereiche API Tutorial (teilweise veraltet)• MakroMania (produktive Makros mit Kommentaren)• Makro-Tauschbörse

• www.cmp-online.de• Homepage von Christian Mario Preusler• einige Tutorials und Beispielprogramme

• CAD.de SolidWorks Forum• sehr viele Beispiele• schnellster Support

• Englische Quellen• viele Seiten nicht mehr gepflegt, da kein Rückfluss

• webpages.charter.net/mkikstra/SolidWorks.html• www.frontiernet.net/~mlombard/• www.cpuandsimplepdm.com/PublicSWAPICode.htm• …

Page 13: einfache Makroprogrammierung in SolidWorks.solidworks.cad.de/download/tt-catpro2004_makro.pdf · Kleine Helferlein einfache Makroprogrammierung in SolidWorks. CAD.de Anwendertreffen

Stefan Berlitz - htpp://solidworks.cad.de - http://swtools.cad.de - CAD.de Anwendertreffen auf der CAT.Pro 10/2004 16.10.2004 - Seite 13

Lernen durch VerstehenLernen durch Verstehen

• Analysieren von vorhandenen Makros• guten Stil und Sniplets übernehmen• schlechten Stil vermeiden, aber trotzdem analysieren• selbst eigenen Code kommentierenkommentieren

• Codeverwaltung• erleichtert das wieder verwenden von Bausteinen• nicht das Rad neu erfinden

• Freeware gbCodeLib• http://www.garybeene.com/free/gbcodelib.htm

Page 14: einfache Makroprogrammierung in SolidWorks.solidworks.cad.de/download/tt-catpro2004_makro.pdf · Kleine Helferlein einfache Makroprogrammierung in SolidWorks. CAD.de Anwendertreffen

Stefan Berlitz - htpp://solidworks.cad.de - http://swtools.cad.de - CAD.de Anwendertreffen auf der CAT.Pro 10/2004 16.10.2004 - Seite 14

Kleine Helferlein – Makros in Solid WorksKleine Helferlein – Makros in Solid Works

• Einleitung• Wie komme ich dazu diese Präsentation zu halten• Makros und was darunter zu verstehen ist• Woher kommen diese Informationen?

• Ins Eingemachte – Makros im Schnelldurchgang• Grundlagen der Makroprogrammierung• Infos, Infos, Infos• Beispiel auf Zuruf

• Zum Schluss - man muss nur wissen, wo es steht• Makros sammeln und weitergeben• Einladung zum mitmachen

Page 15: einfache Makroprogrammierung in SolidWorks.solidworks.cad.de/download/tt-catpro2004_makro.pdf · Kleine Helferlein einfache Makroprogrammierung in SolidWorks. CAD.de Anwendertreffen

Stefan Berlitz - htpp://solidworks.cad.de - http://swtools.cad.de - CAD.de Anwendertreffen auf der CAT.Pro 10/2004 16.10.2004 - Seite 15

Wie fange ich an?Wie fange ich an?

• Die Aufgabe beschreiben• wichtigster Punkt, wird meist vergessen• erleichtert den Programmaufbau sehr

• erfahrene Programmierer nehmen dies geistig vorweg• zumindest im Header kurze Beschreibung einfügen

• Das Pferd von hinten aufzäumen• einfacher nach spezieller Methode oder Eigenschaft zu suchen• von dort über Objektstruktur nach "oben" hangeln

• Stichwort Accessors in der API Hilfe

• Programmieren• 30% Aufgabe analysieren und strukturieren• 30% Infos beschaffen (API Hilfe, Makroanaylse)• 20% Programmierung (das eigentliche Coding)• 19% Dokumentation• 1% Intuition

Page 16: einfache Makroprogrammierung in SolidWorks.solidworks.cad.de/download/tt-catpro2004_makro.pdf · Kleine Helferlein einfache Makroprogrammierung in SolidWorks. CAD.de Anwendertreffen

Stefan Berlitz - htpp://solidworks.cad.de - http://swtools.cad.de - CAD.de Anwendertreffen auf der CAT.Pro 10/2004 16.10.2004 - Seite 16

Beispiel auf ZurufBeispiel auf Zuruf

• Kleine Helferlein sind schnell erledigt• Sniplet Bibliothek• Wissen, wo man suchen muss• Erfahrung

• ABER: Nicht alles ist machbar / in Relation effizient• nur Erfahrung hilft diese Abschätzung vorher korrekt zu treffen

• Also los … welche Funktion hat immer schon gefehlt• Farben / Texturen entfernen von allen Flächen, Features usw.• Alle Komponenten fixieren• In Tabelle alle Zeilen auf (einheitliche) optimale Höhe setzen• Rebuild über alle Komponenten (auch Unterbaugruppen)• …

Page 17: einfache Makroprogrammierung in SolidWorks.solidworks.cad.de/download/tt-catpro2004_makro.pdf · Kleine Helferlein einfache Makroprogrammierung in SolidWorks. CAD.de Anwendertreffen

Stefan Berlitz - htpp://solidworks.cad.de - http://swtools.cad.de - CAD.de Anwendertreffen auf der CAT.Pro 10/2004 16.10.2004 - Seite 17

Kleine Helferlein – Makros in Solid WorksKleine Helferlein – Makros in Solid Works

• Einleitung• Wie komme ich dazu diese Präsentation zu halten• Makros und was darunter zu verstehen ist• Woher kommen diese Informationen?

• Ins Eingemachte – Makros im Schnelldurchgang• Grundlagen der Makroprogrammierung• Infos, Infos, Infos• Beispiel auf Zuruf

• Zum Schluss - man muss nur wissen, wo es steht• Makros sammeln und weitergeben• Einladung zum mitmachen

Page 18: einfache Makroprogrammierung in SolidWorks.solidworks.cad.de/download/tt-catpro2004_makro.pdf · Kleine Helferlein einfache Makroprogrammierung in SolidWorks. CAD.de Anwendertreffen

Stefan Berlitz - htpp://solidworks.cad.de - http://swtools.cad.de - CAD.de Anwendertreffen auf der CAT.Pro 10/2004 16.10.2004 - Seite 18

Wissen sammeln und weitergebenWissen sammeln und weitergeben

• Wissen = gesammelte und weitergegebeneweitergegebene Erfahrungen• gilt auch für Makroprogrammierung im Speziellen

• An SolidWorks und Vertriebspartner• Rückmeldungen an API-Support• Verbesserungsvorschläge• Beta-Test

• Im eigenen Unternehmen• kleine Helferlein für den Arbeitsalltag• größere Projekte zur Prozessoptimierung

• Mit Anwendern anderer Unternehmen• Arbeitskreise• Hilfeseiten, FAQ• Newsgroups, Foren

Page 19: einfache Makroprogrammierung in SolidWorks.solidworks.cad.de/download/tt-catpro2004_makro.pdf · Kleine Helferlein einfache Makroprogrammierung in SolidWorks. CAD.de Anwendertreffen

Stefan Berlitz - htpp://solidworks.cad.de - http://swtools.cad.de - CAD.de Anwendertreffen auf der CAT.Pro 10/2004 16.10.2004 - Seite 19

Mitmachen lohnt sichMitmachen lohnt sich

Einladung zum Meinungsaustausch, • Stöbern, Fragen, Kommentieren, Schimpfen, Heulen, Helfen,

Loben, Toben, Lesen, Lernen, Lehren – Mitmachen Mitmachen lohnt sich

• SolidWorks Hilfeseiten• http://solidworks.cad.de

• Im speziellen die Unterbereiche für die API-Programmierung, die MakroMania und natürlich die Makrotauschbörse

• CAD.de Forum - SolidWorks• http://www.cad.de• http://ww3.cad.de/cgi-bin/ubb/forumdisplay.cgi?action=topics&number=2

Page 20: einfache Makroprogrammierung in SolidWorks.solidworks.cad.de/download/tt-catpro2004_makro.pdf · Kleine Helferlein einfache Makroprogrammierung in SolidWorks. CAD.de Anwendertreffen

Vielen Dank für's Zuhören und Mitmachen

... und viel Spaß weiterhin beim

CAD.de Anwendertreffen CAD.de Anwendertreffen

auf der

CAT.ProCAT.Pro 10/200410/2004