| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| Formnext 2024, eine Veranstaltung am 19.11.2024
|
Autor
|
Thema: SolidWorks VB.NET Addin Wizard (6385 mal gelesen)
|
JensemannDU Mitglied Student
Beiträge: 69 Registriert: 13.10.2009 Windows 7 Prof. 32 Bit SolidWorks 2009 SP4.0 Visual Studio 2008 Dell XPS M1530 Core2Duo 2,4 GHz 4 GB RAM GeForce 8600M GT
|
erstellt am: 02. Dez. 2009 13:21 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich möchte mit Visual Studio 2008 ein Add-in für SolidWorks 2009 schreiben. Unter Add-in verstehe ich (hoffentlich richtig) ein Programm, dass sich über ein Symbol in der SolidWorks Symbolleiste starten lässt. Laut API-Hilfe kann man dies mit dem SolidWorks VB.NET Addin Wizard recht einfach machen, daher habe ich die SolidWorks API SDK von der DVD installiert. Jedoch erscheint im Visual Studio unter "neues Projekt" nicht wie in der Hilfe beschrieben das SolidWorks VB.NET Addin. Könnte es sein, dass es der falsche SDK ist, da nur für C++ ein Wizard für Visual Studio 2008 installierbar ist? Habe testweise auch Visual Studio .net 2003 Add-in Wizards installiert, aber keine Änderung. Hat jemand einen Tipp? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MWN Mitglied Dipl.-Ing.
Beiträge: 492 Registriert: 14.02.2007
|
erstellt am: 02. Dez. 2009 13:50 <-- editieren / zitieren --> Unities abgeben: Nur für JensemannDU
|
JensemannDU Mitglied Student
Beiträge: 69 Registriert: 13.10.2009 Windows 7 Prof. 32 Bit SolidWorks 2009 SP4.0 Visual Studio 2008 Dell XPS M1530 Core2Duo 2,4 GHz 4 GB RAM GeForce 8600M GT
|
erstellt am: 02. Dez. 2009 13:55 <-- editieren / zitieren --> Unities abgeben:
|
JensemannDU Mitglied Student
Beiträge: 69 Registriert: 13.10.2009 Windows 7 Prof. 32 Bit SolidWorks 2009 SP4.0 Visual Studio 2008 Dell XPS M1530 Core2Duo 2,4 GHz 4 GB RAM GeForce 8600M GT
|
erstellt am: 02. Dez. 2009 14:00 <-- editieren / zitieren --> Unities abgeben:
mh, zu früh gefreut... Zwar kann ich nun das Addin als Projekttyp auswählen, doch dann kommt die angehängte Fehlermeldung, die mir leider nichts sagt. Kann es sein, dass das für ein C# Addin ist? Im Icon steht zumindest ein kleines C#. [Diese Nachricht wurde von JensemannDU am 02. Dez. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
G. Dawg Ehrenmitglied V.I.P. h.c. Teamleiter FEM Simulation
Beiträge: 2622 Registriert: 12.07.2004 SolidWorks_2o2o SP3.o Win10_x64, Quadro_P2ooo. VisualStudio_2o19_Pro. FEM: Forge_NxT_HPC, ANSYS_WB. 3D-Printer: Ultimaker_2, Tinker_Gnome.
|
erstellt am: 02. Dez. 2009 14:18 <-- editieren / zitieren --> Unities abgeben: Nur für JensemannDU
|
JensemannDU Mitglied Student
Beiträge: 69 Registriert: 13.10.2009 Windows 7 Prof. 32 Bit SolidWorks 2009 SP4.0 Visual Studio 2008 Dell XPS M1530 Core2Duo 2,4 GHz 4 GB RAM GeForce 8600M GT
|
erstellt am: 02. Dez. 2009 14:28 <-- editieren / zitieren --> Unities abgeben:
Hallo, danke für den Hinweis, allerdings war in dem Verzeichnis schon die Dateien aus der ZIP. Habe es dann noch mal dorthin entpackt und überschrieben, aber die Fehlermeldung kommt leider immernoch. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MWN Mitglied Dipl.-Ing.
Beiträge: 492 Registriert: 14.02.2007
|
erstellt am: 02. Dez. 2009 14:36 <-- editieren / zitieren --> Unities abgeben: Nur für JensemannDU
SolidWorksTools ist eigentlich ein Verweis. Und ich denke mal, dass du diese Bibliothek nicht auf deinem Rechner hast, bzw. in einer anderen Version, als das Template benötigt. Am besten du machst mal einen Rechtsklick auf dein Projekt -> Eigenschaften -> Verweise und versuchst dort den Pfad zum Verweis SolidWorksTools umzubiegen. Diese .dll müsste eigentlich in deinem Installationsordner vom SolidWorks2009 liegen. ------------------ Besucht mich doch mal in meiner Tischlerei Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JensemannDU Mitglied Student
Beiträge: 69 Registriert: 13.10.2009 Windows 7 Prof. 32 Bit SolidWorks 2009 SP4.0 Visual Studio 2008 Dell XPS M1530 Core2Duo 2,4 GHz 4 GB RAM GeForce 8600M GT
|
erstellt am: 02. Dez. 2009 14:51 <-- editieren / zitieren --> Unities abgeben:
Hallo, mein Problem ist, dass ich ja kein bestehendes Projekt habe, sondern die Fehlermeldung kommt, wenn ich unter neues Projekt SWAddin auswähle. Da kann ich leider nichts mit der rechten Maustaste ausrichten. In der XML-Datei VBAddin.vstemplate habe ich unter Assembly diesen Eintrag gefunden: SolidWorksTools, Version=1.0.0.1, Culture=Neutral, PublicKeyToken=bd18593873b4686d da aber kein Pfad angegeben ist, weiß ich nicht, wie ich da was umbiegen kann. Die Datei solidworkstools.dll habe ich im Installationsverzeichnis gefunden. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MWN Mitglied Dipl.-Ing.
Beiträge: 492 Registriert: 14.02.2007
|
erstellt am: 02. Dez. 2009 14:57 <-- editieren / zitieren --> Unities abgeben: Nur für JensemannDU
|
JensemannDU Mitglied Student
Beiträge: 69 Registriert: 13.10.2009 Windows 7 Prof. 32 Bit SolidWorks 2009 SP4.0 Visual Studio 2008 Dell XPS M1530 Core2Duo 2,4 GHz 4 GB RAM GeForce 8600M GT
|
erstellt am: 02. Dez. 2009 15:30 <-- editieren / zitieren --> Unities abgeben:
Und wieder vielen Dank für den Hinweis. Es hat mich zumindest ein Stückchen weitergebracht. :-) Ich bin nach dem Link vorgegangen, leider habe ich die SolidWorksTools.dll Version 2.0.0.0 und nicht wie in dem Artikel beschrieben 1.0.0.1. Wie beim Verfasser des Artikels hat es auch bei mir nicht geklappt einfach die Datei auf 2.0.0.0 zu ändern. Nun bekomme ich die Fehlermeldung: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt. Klingt zumindest freundlicher als die erste Fehlermeldung. :-) Könnte mir jemand seine SolidWorksTools.dll Datei der Version 1.0.0.1 aus dem SW Installationsverzeichnis zur Verfügung stellen? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MWN Mitglied Dipl.-Ing.
Beiträge: 492 Registriert: 14.02.2007
|
erstellt am: 02. Dez. 2009 15:42 <-- editieren / zitieren --> Unities abgeben: Nur für JensemannDU
Wenn schon solltest du die Version auf die 1.0.0.1 ändern! Und in dem beschriebenen Artikel funktioniert es. Also erstellt er dir nun ein neues Projekt, auf der Grundlage des Templates, oder nicht? Wenn er dir ein neues Projekt erstellt, dann brauchst du nur noch die Verweise zu ändern, bzw. an deine Gegebenheiten anzupassen! Grüße Tobias ------------------ Besucht mich doch mal in meiner Tischlerei Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JensemannDU Mitglied Student
Beiträge: 69 Registriert: 13.10.2009 Windows 7 Prof. 32 Bit SolidWorks 2009 SP4.0 Visual Studio 2008 Dell XPS M1530 Core2Duo 2,4 GHz 4 GB RAM GeForce 8600M GT
|
erstellt am: 02. Dez. 2009 15:52 <-- editieren / zitieren --> Unities abgeben:
Leider erstellt er mir ja kein Projekt. Sobald ich den Projekttyp ausgewählt habe und auf OK klicke kommt die Fehlermeldung und anschließend bin ich genau so weit wie vorher. Wieso sollte ich die Version auf 1.0.0.1 ändern, das ist ja schon die Einstellung in der Datei die nicht funktioniert? Außerdem hat meine SolidWorksTools.dll die Version 2.0.0.0 und ich sollte ihm wohl sagen, welche Version er finden wird, da er ja meckert, weil er nicht Version 1.0.0.1 findet. Oder sehe ich das falsch? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MWN Mitglied Dipl.-Ing.
Beiträge: 492 Registriert: 14.02.2007
|
erstellt am: 02. Dez. 2009 17:31 <-- editieren / zitieren --> Unities abgeben: Nur für JensemannDU
Stimmt und da er die Version 1.0.0.1 nicht findet, sollst du sie ja auch per Hand in den Ordner legen, damit er sie findet! In dem Template ist als Projektverweis die SolidWorksTool.dlls hinterlegt, allerdings in der Version 1.0.0.1, da es (wahrscheinlich) ein altes Template ist. Da er die .dll im Assemblycache jedoch nicht findet, sollst du sie per Hand hinzufügen, damit dir das VSS wenigstens ein neues Projekt erstellen kann. Du kannst dann im Nachhinein den Verweis im Projekt immer noch auf die Version 2.0.0.0 ändern, die in deinem Installationsverzeichnis vom SolidWorks beheimatet sein sollte! Grüße Tobias ------------------ Besucht mich doch mal in meiner Tischlerei Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
G. Dawg Ehrenmitglied V.I.P. h.c. Teamleiter FEM Simulation
Beiträge: 2622 Registriert: 12.07.2004 SolidWorks_2o2o SP3.o Win10_x64, Quadro_P2ooo. VisualStudio_2o19_Pro. FEM: Forge_NxT_HPC, ANSYS_WB. 3D-Printer: Ultimaker_2, Tinker_Gnome.
|
erstellt am: 03. Dez. 2009 07:33 <-- editieren / zitieren --> Unities abgeben: Nur für JensemannDU
|
JensemannDU Mitglied Student
Beiträge: 69 Registriert: 13.10.2009 Windows 7 Prof. 32 Bit SolidWorks 2009 SP4.0 Visual Studio 2008 Dell XPS M1530 Core2Duo 2,4 GHz 4 GB RAM GeForce 8600M GT
|
erstellt am: 03. Dez. 2009 10:03 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen, vielen Dank für den Upload der Datei. Die kann ich nun öffnen. Die Verweise scheinen bisher auch ok zu sein. So wird auf SolidWorksTools.dll Version 2.0.0.0 verwiesen und nicht 1.0.0.1, die ich ja nicht habe. Wenn ich das richtig verstanden habe kann ich nun in dieses Projekt ganz normal ein Form und was man sonst noch braucht einfügen und lasse das Vorhandene wie es ist? Wenn man dann eine DLL daraus gemacht hat, kann man es über Zusatzanwendungen in SolidWorks einbinden, oder habe ich das fundamental falsch verstanden? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MWN Mitglied Dipl.-Ing.
Beiträge: 492 Registriert: 14.02.2007
|
erstellt am: 03. Dez. 2009 10:24 <-- editieren / zitieren --> Unities abgeben: Nur für JensemannDU
Prinzipiell stimmt es schon. Du solltest natürlich auch auf Events reagieren und nicht einfach mal eine Form erstellen und dich dann wundern, warum du nix angezeigt bekommst! Das VSS registriert dein Projekt gleich selber und du hast dann in den Zusatzanwendungen vom SolidWorks die Möglichkeit, deine eigene Zusatzanwendung mit laufen zu lassen, oder sie abzuschalten! Bedenke aber, die automatische Versionierung zu deaktivieren und jedes mal, wenn du dein Projekt neu erstellen lässt, ist sie im SWX wieder deaktiviert. Grüße Tobias Achso: das was das Template enthält, ist das grobe Grundgerüst, um sich mit SolidWorks zu verbinden. Du wirst auch feststellen, dass du einen neuen Menüeintrag erhalten hast, den du im Code deines Projektes vielleicht auskommentieren solltest, wenn du ihn nicht brauchst! ------------------ Besucht mich doch mal in meiner Tischlerei Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JensemannDU Mitglied Student
Beiträge: 69 Registriert: 13.10.2009 Windows 7 Prof. 32 Bit SolidWorks 2009 SP4.0 Visual Studio 2008 Dell XPS M1530 Core2Duo 2,4 GHz 4 GB RAM GeForce 8600M GT
|
erstellt am: 03. Dez. 2009 10:58 <-- editieren / zitieren --> Unities abgeben:
Danke für die Erläuterung, dann werd ich mich mal näher damit beschäftigen. Eine doofe Frage hätte ich allerdings noch: Kann die automatische Versionierung dazu führen, dass man einen Fehler (cannot register assembly) bekommt, wenn man das Debugging mehrmals startet? Wenn ja, wo stelle ich die aus? Unter: My Project -> Kompilieren -> Erweiterte Kompilierungsoptionen -> Serialisierungsassembly generieren -> automtisch/ein/aus? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JensemannDU Mitglied Student
Beiträge: 69 Registriert: 13.10.2009 Windows 7 Prof. 32 Bit SolidWorks 2009 SP4.0 Visual Studio 2008 Dell XPS M1530 Core2Duo 2,4 GHz 4 GB RAM GeForce 8600M GT
|
erstellt am: 03. Dez. 2009 13:45 <-- editieren / zitieren --> Unities abgeben:
Das Problem mit dem "cannot register assembly" habe ich durch das Ausführen als Administrator selbst lösen können. :-) Aber kann mir jemand sagen, wo ich die automatische Versionierung ausschalten muss? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MWN Mitglied Dipl.-Ing.
Beiträge: 492 Registriert: 14.02.2007
|
erstellt am: 03. Dez. 2009 14:05 <-- editieren / zitieren --> Unities abgeben: Nur für JensemannDU
Im AssemblyInfo.vb in der Zeile 32 Code: <Assembly: AssemblyVersion("1.0.*")>
Dort das "*" gegen eine "1" ersetzen! Oder Alternativ: RMT auf MyProject -> Anwendung -> Assemblyinformation -> Assemblyversion und dann weiter wie oben! Grüße Tobias ------------------ Besucht mich doch mal in meiner Tischlerei Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JensemannDU Mitglied Student
Beiträge: 69 Registriert: 13.10.2009 Windows 7 Prof. 32 Bit SolidWorks 2009 SP4.0 Visual Studio 2008 Dell XPS M1530 Core2Duo 2,4 GHz 4 GB RAM GeForce 8600M GT
|
erstellt am: 03. Dez. 2009 14:14 <-- editieren / zitieren --> Unities abgeben:
Vielen, vielen Dank Tobias! Irgendwie verwirrt mich das gerade ein wenig. Dürfte ich noch eine Frage loswerden? Wenn man das Addin ausführt kann man ja das Sample PMP anzeigen lassen oder einen Würfel erstellen, nur leider finde ich den Code zum erstellen des Würfels niergends. Auch die Suche in der gesamten Projektmappe findet nichts, was Cube o.ä. beinhaltet. Wo hab ich das übersehen? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MWN Mitglied Dipl.-Ing.
Beiträge: 492 Registriert: 14.02.2007
|
erstellt am: 03. Dez. 2009 14:31 <-- editieren / zitieren --> Unities abgeben: Nur für JensemannDU
Schmeiß doch einfach mal den Debug-Modus an (bzw. setz dir einen Haltepunkt an einer Stelle, wo du weißt, dass du dort definitiv vorbei kommst) und verfolge den Ablauf vom Code im Einzelschrittmodus - Zeile für Zeile - und versuche zu verstehen, was dabei geschieht. Ich würde dir dringenst zum Grundlehrgang "Objekte und Dokumente" von Daniel raten. Früher gab's die pdf auf der Schuler Seite, heut hat er eine eigene Homepage mySldWorks.de wo du allerhand nützliche Sachen im Umgang mit der SolidWorks API nachlesen kannst (war für mich auch der Einstieg in die Thematik)! Grüße Tobias ------------------ Besucht mich doch mal in meiner Tischlerei Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JensemannDU Mitglied Student
Beiträge: 69 Registriert: 13.10.2009 Windows 7 Prof. 32 Bit SolidWorks 2009 SP4.0 Visual Studio 2008 Dell XPS M1530 Core2Duo 2,4 GHz 4 GB RAM GeForce 8600M GT
|
erstellt am: 03. Dez. 2009 15:11 <-- editieren / zitieren --> Unities abgeben:
Daniels Seite kenne ich, war auch für mich neben einem Buch der erste Einstieg. Eine funktionierende Standalone Anwendung zur Analyse der einzelnen Feature mit XML Anbindung usw. habe ich auch schon geschrieben, insofern bin ich kein ganz blutiger Anfänger. Nur das Addin-Template verwirrt mich nun einfach, weil ich einfach Code nicht finde, der für mich darein gehöhrt (zb zur Erstellung dieses Würfels im Addin). Er muss doch in dem Projekt vorhanden sein, oder sehe ich das ganz falsch? Daher wüsste ich auch nicht, wo ich einen Haltepunkt setzen sollte. Sorry für die Grundlagenfrage. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 13. Jan. 2010 14:07 <-- editieren / zitieren --> Unities abgeben: Nur für JensemannDU
Hallo Leute, ich muss jetzt auch noch mitmischen. Seit ner Neuinstallation von meinem Rechner geht bei mir auch nichts mehr. Ich arbeite mit vb.net 2008 Express, bisher problemlos, aber seit der Neuinstallation bekomme ich das SolidWorks-SDK nicht mehr zum Laufen. Ich habe mir das API-SDK von Solidworks 2009 herunter geladen und installiert- ohne Effekt. Bei der Installation wird angegeben, es würde in c:\program files (x86) installiert...dort finde ich aber nichts, auch in den Projektvorlagen von vb.net taucht es nicht auf. Die Installationsdatei heißt "SolidWorks API SDK.msi", nicht "SWVBAddin.zip" wie offenbar in früheren Versionen. Der Tipp, die "SWVBAddin.zip"-Datei in das Template-Verzeichnis zu kopieren, geht also nicht. So weit so schlecht, nix geht. Dann habe ich in einem Backup von meinem alten Rechner dieses Verzeichnis "C:\Documents and Settings\<username>\Application Data\Microsoft\VBExpress\9.0\ProjectTemplatesCache\Visual Basic\SWVBAddin.zip" gefunde und in das entsprechende Verzeichnis kopiert. Das muss noch von SolidWorks 2007 oder 2006 stammen. Nun wird zwar die Vorlage "SwVBAddin" unter "Eigene Vorlagen" angeboten, aber ich bekomme die bereits oben genannte Fehlermeldung. So, und nun die Lösung bei mir, nach langem Hin- und Hergefummle hab ich das gefunden: Erst die msi-Datei installieren. Das allein bringt aber noch keinen Erfolg (s.o.). Die msi-Datei kann per msiexec entpackt werden (Beschreibung dazu hier), dort ist ein ganzer Haufen Verzeichnisse für alle möglichen Versionen und Programmiersprachen drin. Für mein VB.net 2008 wurde ich fündig in dem Unterverzeichnis ..\UserProfile\My Documents\Visual Studio 2008\Templates\ProjectTemplates\Visual Basic. Hier befindet sich die bewusste Datei "swvbaddin.zip", die dann in das Unterverzeichnis "C:\Documents and Settings\<username>\Application Data\Microsoft\VBExpress\9.0\ProjectTemplatesCache\Visual Basic\SWVBAddin.zip" entpackt werden muss. Voilá, das war's (uff) ------------------ Klaus www.al-ko.com | mein Gästebuch | privat... | Nasenheim Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JensemannDU Mitglied Student
Beiträge: 69 Registriert: 13.10.2009 Windows 7 Prof. 32 Bit SolidWorks 2009 SP4.0 Visual Studio 2008 Dell XPS M1530 Core2Duo 2,4 GHz 4 GB RAM GeForce 8600M GT
|
erstellt am: 01. Feb. 2010 14:21 <-- editieren / zitieren --> Unities abgeben:
Hallo Klaus, nachdem ich mich nach längerer Zeit mal wieder damit beschäftigt habe, habe ich deinen Lösungsweg ausprobiert und nun tut es wirklich das, was es soll. :-) Danke für die gute Hilfe! Jens Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 01. Feb. 2010 15:34 <-- editieren / zitieren --> Unities abgeben: Nur für JensemannDU
|