solid edge vb.net add-in mit visual studio 2005 file31.08.2007 am schulacker 9 d-64846 groß-zimmern...

7
31.08.2007 am schulacker 9 d-64846 groß-zimmern fon/fax: +49 (6071)-71652 email : [email protected] www : www.wksyspro.de dipl-ing wolfgang kunert systemprogrammierung ©www.wksyspro.de Solid Edge VB.NET Add-In mit Visual Studio 2005 Visual Studio 2005 bietet unter „Andere Projekttypen“ einen Projekttyp „Gemeinsames Add- In“ zur Erstellung eines (allgemeinen Microsoft Office) Add-In’s: Es erscheint folgender Assistentendialog, der in 5 Schritten das Grundgerüst erstellen hilft: In Schritt 2 von 5 wählt man aus der Liste der angebotenen Microsoft Hostprogramme zunächst ein einziges (z.B. Word) aus. Die für Word erzeugten Code Fragmente ersetzen wir später durch die notwendigen Solid Edge Elemente.

Upload: lamthuan

Post on 08-May-2019

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Solid Edge VB.NET Add-In mit Visual Studio 2005 file31.08.2007 am schulacker 9 d-64846 groß-zimmern fon/fax: +49 (6071)-71652 email : wolfgang.kunert@wksyspro.de -ing wolfgang kunert

31.08.2007

am schulacker 9 d-64846 groß-zimmern fon/fax: +49 (6071)-71652 email : [email protected] www : www.wksyspro.de dipl-ing wolfgang kunert systemprogrammierung

©w

ww

.w

ks

ys

pr

o.d

e

Solid Edge VB.NET Add-In mit Visual Studio 2005 Visual Studio 2005 bietet unter „Andere Projekttypen“ einen Projekttyp „Gemeinsames Add-

In“ zur Erstellung eines (allgemeinen Microsoft Office) Add-In’s:

Es erscheint folgender Assistentendialog, der in 5 Schritten das Grundgerüst erstellen hilft:

In Schritt 2 von 5 wählt man aus der Liste der angebotenen Microsoft Hostprogramme

zunächst ein einziges (z.B. Word) aus. Die für Word erzeugten Code Fragmente ersetzen wir

später durch die notwendigen Solid Edge Elemente.

Page 2: Solid Edge VB.NET Add-In mit Visual Studio 2005 file31.08.2007 am schulacker 9 d-64846 groß-zimmern fon/fax: +49 (6071)-71652 email : wolfgang.kunert@wksyspro.de -ing wolfgang kunert

31.08.2007

am schulacker 9 d-64846 groß-zimmern fon/fax: +49 (6071)-71652 email : [email protected] www : www.wksyspro.de dipl-ing wolfgang kunert systemprogrammierung

©w

ww

.w

ks

ys

pr

o.d

e

In Schritt 3 von 5 vergibt man einen Namen und eine Beschreibung für das Add-In.

Im nächsten Schritt 4 von 5 kann man entscheiden, ob das Add-In automatisch mit dem Start

der Hostanwendung geladen werden soll und ob das Add-In für alle Anwender auf dem

Rechner verfügbar sein soll, oder nur für denjenigen, der das Add-In installiert hat.

Page 3: Solid Edge VB.NET Add-In mit Visual Studio 2005 file31.08.2007 am schulacker 9 d-64846 groß-zimmern fon/fax: +49 (6071)-71652 email : wolfgang.kunert@wksyspro.de -ing wolfgang kunert

31.08.2007

am schulacker 9 d-64846 groß-zimmern fon/fax: +49 (6071)-71652 email : [email protected] www : www.wksyspro.de dipl-ing wolfgang kunert systemprogrammierung

©w

ww

.w

ks

ys

pr

o.d

e

Im letzten Schritt erfolgt eine Zusammenfassung der bisher erfolgten Eingaben.

Mit der Auswahl von „Fertig stellen“ erscheint die neue Projektmappe mit 2 darin enthaltenen

Projekten: Das eigentliche Add-In und ein Setup-Projekt für die Installation des Add-In’s.

Nun entfernt man zunächst den Verweis auf die Microsoft.Office.Core Bibliothek und fügt

stattdessen die für die Solid Edge Automation benötigten Verweise ein. Zumindest also die

COM Solid Edge Framework Typbibliothek.

Page 4: Solid Edge VB.NET Add-In mit Visual Studio 2005 file31.08.2007 am schulacker 9 d-64846 groß-zimmern fon/fax: +49 (6071)-71652 email : wolfgang.kunert@wksyspro.de -ing wolfgang kunert

31.08.2007

am schulacker 9 d-64846 groß-zimmern fon/fax: +49 (6071)-71652 email : [email protected] www : www.wksyspro.de dipl-ing wolfgang kunert systemprogrammierung

©w

ww

.w

ks

ys

pr

o.d

e

Anschließend gilt es die Codedatei „Connect.vb“ anzupassen. Die markierten Bereiche sind

durch Solid Edge spezifischen Code zu ersetzen bzw. zu ergänzen.

Es sind mindestens die 3 durch das ISolidEdgeAddIn Interface definierten Methoden

„OnConnection“, „OnConnectToEnvironment“ und „OnDisconnection“ zu implementieren.

Beispielhaft zeige ich hier noch die Methodenrümpfe für die Implementierung der

Ereignishandler für die beiden Ereignisse „BeforeDocumentSave“ und „BeforeQuit“. Damit

die Nutzung von „MessageBox“ möglich wird, muss dem Projekt auch noch der Verweis

„System.Windows.Forms“ hinzugefügt werden.

Page 5: Solid Edge VB.NET Add-In mit Visual Studio 2005 file31.08.2007 am schulacker 9 d-64846 groß-zimmern fon/fax: +49 (6071)-71652 email : wolfgang.kunert@wksyspro.de -ing wolfgang kunert

31.08.2007

am schulacker 9 d-64846 groß-zimmern fon/fax: +49 (6071)-71652 email : [email protected] www : www.wksyspro.de dipl-ing wolfgang kunert systemprogrammierung

©w

ww

.w

ks

ys

pr

o.d

e

Große Bedeutung kommt der durch den Assistenten generierten CLSID in Form des Attributs

„GuidAttribute“ in der Datei „Connect.vb“ zu.

Diese CLSID ist in einer REG-Datei, z.B. mit dem Dateinamen „EigenesAddIn1.reg“, zur

korrekten Registrierung des Add-In’s zu verwenden. Die anderen unten aufgeführten CLSIDs

sind Solid Edge spezifisch und Solid Edge Versions unabhängig! Dabei sind nur diejenigen

Environment-Abschnitte (Part, Assembly, Draft, Sheet Metal oder Weldment) aufzunehmen,

in denen das Add-In aktiv sein soll!

REGEDIT4

[HKEY_CLASSES_ROOT\CLSID\{27769393-4393-4691-B6A6-06857F64B29E}]

@="EigenesAddIn1"

"AutoConnect"=dword:00000001

"409"=" EigenesAddIn1"

[HKEY_CLASSES_ROOT\CLSID\{27769393-4393-4691-B6A6-06857F64B29E}\Implemented

Categories\{26B1D2D1-2B03-11d2-B589-080036E8B802}]

@="EigenesAddIn1 for Solid Edge"

[HKEY_CLASSES_ROOT\CLSID\{27769393-4393-4691-B6A6-06857F64B29E}\Environment

Categories\{26618396-09D6-11d1-BA07-080036230602}]

@="Solid Edge Part Environment"

[HKEY_CLASSES_ROOT\CLSID\{27769393-4393-4691-B6A6-06857F64B29E}\Environment

Categories\{26618395-09D6-11d1-BA07-080036230602}]

@="Solid Edge Assembly Environment"

[HKEY_CLASSES_ROOT\CLSID\{27769393-4393-4691-B6A6-06857F64B29E}\Environment

Categories\{08244193-B78D-11D2-9216-00C04F79BE98}]

@="Solid Edge Draft Environment"

[HKEY_CLASSES_ROOT\CLSID\{27769393-4393-4691-B6A6-06857F64B29E}\Environment

Categories\{26618398-09D6-11D1-BA07-080036230602}]

@="Solid Edge Sheet Metal Environment"

[HKEY_CLASSES_ROOT\CLSID\{27769393-4393-4691-B6A6-06857F64B29E}\Environment

Categories\{7313526A-276F-11D4-B64E-00C04F79B2BF}]

@="Solid Edge Weldment Environment"

Die REG-Datei ist nach der Installation des Add-In’s über das Setup Projekt einmalig über

Doppelklick im Windows Explorer mit Administratorrechten auszuführen, könnte aber auch

optimaler Weise, bei Kenntnis um die Erweiterung des Setup Projekts, in dieses integriert

werden!

Es empfiehlt sich im Setup-Projekt dessen Eigenschaften

„ProductName“ und „Title“ auf Bezeichnungen ohne

angefügtes „Setup“ zu ändern, da dies ansonsten eine

unpassende Produktbezeichnung für das Add-In darstellt.

Page 6: Solid Edge VB.NET Add-In mit Visual Studio 2005 file31.08.2007 am schulacker 9 d-64846 groß-zimmern fon/fax: +49 (6071)-71652 email : wolfgang.kunert@wksyspro.de -ing wolfgang kunert

31.08.2007

am schulacker 9 d-64846 groß-zimmern fon/fax: +49 (6071)-71652 email : [email protected] www : www.wksyspro.de dipl-ing wolfgang kunert systemprogrammierung

©w

ww

.w

ks

ys

pr

o.d

e

Nun kann die Lösung erstellt werden. Im Setup Projekt findet man anschließend die beiden

Dateien „Setup.exe“ und „EigenesAddIn1Setup.msi“. Mit „Setup.exe“ startet man die

Installation des Add-In’s:

Schließlich muss noch einmalig die vorbereitete REG-Datei importiert werden, um die

notwendigen Solid Edge Registrierungseinträge zu erwirken.

Page 7: Solid Edge VB.NET Add-In mit Visual Studio 2005 file31.08.2007 am schulacker 9 d-64846 groß-zimmern fon/fax: +49 (6071)-71652 email : wolfgang.kunert@wksyspro.de -ing wolfgang kunert

31.08.2007

am schulacker 9 d-64846 groß-zimmern fon/fax: +49 (6071)-71652 email : [email protected] www : www.wksyspro.de dipl-ing wolfgang kunert systemprogrammierung

©w

ww

.w

ks

ys

pr

o.d

e

Nun naht der große Augenblick: Starten von Solid Edge und Aktivieren des soeben erstellten

Add-In’s über den Solid Edge Add-In-Manager.

Nach dem Wechsel in eine der registrierten Umgebungen ist das Add-In „scharf“ und es

werden die implementierten Ereignishandler durchlaufen.

Bei einem produktiven Solid Edge Add-In sollte man natürlich Meldungen per MessageBox

vermeiden, da ansonsten das Add-In den Ablauf blockiert. Meldungen dieser Art sollten

immer nur in Abhängigkeit der Solid Edge Application-Objekt Eigenschaft „DisplayAlerts“

erfolgen.

Das gezeigte Beispiel und die Vorgehensweise der Implementierung stellen keinen Anspruch

auf Vollständigkeit und jegliche Anwendung geschieht auf eigene Verantwortung.

Viel Erfolg!