| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| 3DEXPERIENCE Conference 2024 | München, eine Veranstaltung am 16.10.2024
|
Autor
|
Thema: API: VB6 oder VB.Net? (2974 mal gelesen)
|
Mixie Mitglied
Beiträge: 276 Registriert: 12.10.2007 SolidWorks 2015 SP4 Office Professional Workgroup PDM<P>
|
erstellt am: 01. Mrz. 2010 18:23 <-- editieren / zitieren --> Unities abgeben:
Hallo! Ich hab bereits einige kleine Helferlein (hauptsächlich abgeänderte Beispiele von SolidWorks.cad.de) in SolidWorks integriert (alle VB6). Andere Kleine Programme (die nichts mit SWX zu tun haben) habe ich gerade angefangen in VB.net zu programmieren. Ich arbeite mich da also gerade erst langsam ein. Jetzt die Frage: Sollte ich weitere Programme für SWX lieber in VB6 oder in VB.net in Angriff nehmen? Die meisten Sachen, die zu finden sind, sind in VB6 programmiert. Dann die nächste Frage: Wie kann ich in VB.net SolidWorks integrieren? Ich bin zu blöd, auf der SolidWorks Seite die richtigen Informationen zu finden. Das einzige, was ich bisher finden konnte, war eine Zip-Datei hier im Forum, die bei Problemen in ein Verzeichnis kopiert werden muss... Rufe ich dann denn in SWX den Debugger von VB.net auf? (Extras-Makro-bearbeiten)? Muss ich dann VB.net auf allen Arbeitsplätzen installieren? Oder erstelle ich nur komfortabler (meiner Meinung nach) in VB.net? Irgendwie blick ich das mal wieder nicht Gruß Mixie [edit] Ich habe gerade das Handbuch "SolidWorks Objekte und Dokumente - API Grundlagen und Dokumenthandling" gefunden. Es geht zwar um VB2005 sollte aber recht ähnlich mit VB2008 sein. Dort ist gleich am Anfang beschrieben, dass die Verweise hinzugefügt werden müssen. Leider kann ich kein Verweis auf SolidWorks 2008 Type Libary bei mir finden. Daher ist vermutlich auch im Objektbrowser nichts (bzw. nur sehr wenig) zu finden. Was muss ich hier bei VB2008 einstellen? [/edit]
[Diese Nachricht wurde von Mixie am 01. Mrz. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 02. Mrz. 2010 09:51 <-- editieren / zitieren --> Unities abgeben: Nur für Mixie
Hallo Mixie, ich bin mir nicht ganz sicher, ob ich deine Anforderungen/Fragen auseinander gepuzzelt bekomme. Daher erst mal eine Frage vorneweg: schreibst du externe Programme in VB6 und willst diese ggf. als externe Tool sin VB.Net schreiben oder hast du interne SolidWorks Makros vorher in VBA geschrieben und möchtest diese jetzt in VB.net schreiben? Ich hab auch noch keine große Erfahrung mit VB.Net, hab es mir immer wieder mal vorgenommen aber ich komme zu gut und schnell mit VBA/VB6 ans Ziel - und nachdem ich dann auch noch gelesen hatte dass der Support für VB6 in Windows 7 erhalten bleibt ist auch der nächste Druck weg. Aber VB.Net ist eindeutig der bessere Weg, wenn man etwas neu machen will, was nicht rückwärtskompatibel sein braucht. Neben dem von dir angesprochenen Handbuch gibt es von tbd noch seine Seite http://www.mysldworks.de , da findest du auch alle Möglichen Snipplets und Grundlagen zur Programmierung von SolidWorks mit VB.Net Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Stefans SolidWorks Blog 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. Mrz. 2010 11:12 <-- editieren / zitieren --> Unities abgeben: Nur für Mixie
Morgen Mixie, vielleicht bin ich nicht zwingend die kompetenteste Person, um auf die Frage zu antworten, aber ich versuche es dennoch. Generell hast du 3 Möglichkeiten irgendwas an SWX dran zu stricken. 1. wie bisher über interne Makros (soweit ich weiß mit VB6 Syntax) 2. Standalone Programme, die dennoch auf SWX zugreifen können (VB.net) 3. Add-Ins die direkt in SWX integriert sind (Menü, Toolbar etc.; VB.net) (und ja, beim Debugging wird SWX gestartet) Wenn du gerne ein Add-In erstellen möchtest und das entsprechende API-SDK (API Verzeichnis auf der CD), wie so häufig nicht funktioniert kannst du hier nachschauen: (unten) http://ww3.cad.de/foren/ubb/Forum2/HTML/019003.shtml Was die Verweise angeht: MyProject -> Verweise -> Hinzufügen -> Reiter ".NET" -> SolidWorks.Interop.sldworks, SolidWorks.Interop.swconst Ich hoffe ich konnte dir vielleicht ein wenig weiterhelfen, Viele Grüße Jens
[Diese Nachricht wurde von JensemannDU am 02. Mrz. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
modeng Ehrenmitglied V.I.P. h.c.
Beiträge: 7061 Registriert: 10.12.2003
|
erstellt am: 02. Mrz. 2010 12:44 <-- editieren / zitieren --> Unities abgeben: Nur für Mixie
> 2. Standalone Programme, die dennoch auf SWX zugreifen können (VB.net) das sollte auch mit VB6 gehen 3. Add-Ins die direkt in SWX integriert sind (Menü, Toolbar etc.; VB.net) geht auch mit VB6 wenn SW 32BIT; ist SW 64Bit dann nur mit VB.Net da dies 64Bit code erzeugen kann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SLDW-FEM Mitglied Simulations-Ingenieur
Beiträge: 643 Registriert: 21.02.2005 Solidworks 2017+2019+20+22 SpaceClaim Windows 11 64bit HP-ZBook 32gbRAM NVIDIA
|
erstellt am: 02. Mrz. 2010 12:55 <-- editieren / zitieren --> Unities abgeben: Nur für Mixie
Hallo Stefan eine weitere Nuance zum Umstiegsproblem: ja Support bleibt, jedoch die Geschwindigkeit nimmt rapide ab: Hat ausser mir keiner Probleme mit superlangsamen Makros unter 64bit? bzw. hat jemand den Vergleich, ob VB6 gegen VBA schneller ist? von meinem VAR-Support bestätigt (der sieht jedoch kein Problem) 1. gleiche Makros auf gleichem Rechner (siehe zip) : sowo2007 = 0,8sec=100% => Sw2008+Sw2009 bis 5-fach langsamer (laut Support wg. Erscheinungsbildern) 2. gleiches problem von XP32 => XP64 => Vista64 => Windows7 z.Bsp. sw2008x32 unter XP64 => 0,98sec <> sw2008x64 50sec dto auf gleicher hardware / Windows7x64 : 101 sec (gleiches problem für excel-makros, wie GetAllComponentMassprop.xls) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
modeng Ehrenmitglied V.I.P. h.c.
Beiträge: 7061 Registriert: 10.12.2003
|
erstellt am: 02. Mrz. 2010 13:12 <-- editieren / zitieren --> Unities abgeben: Nur für Mixie
hmm, sofern es sich um VB.Net handelt koennte ich mir das schon vorstellen. Da ist zum einen der Overhead durch die Interopts und durch das .NET Framework und zum Anderen erzeugt VB.Net 'Interpreted Code' also keinen Mascinencode, dieser muss erst zur Ausfuehrung uebersetzt werden. Das duerfte sich allerdings nur beim Aufruf bemerkbar machen, waehrend der Ausfuehrung dann nicht mehr. Ob da noch etwas fuer Verzoegerung sorgt z.b. geaenderte API oder Windoof ??? Klaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mixie Mitglied
Beiträge: 276 Registriert: 12.10.2007 SolidWorks 2015 SP4 Office Professional Workgroup PDM<P>
|
erstellt am: 02. Mrz. 2010 15:09 <-- editieren / zitieren --> Unities abgeben:
Hallo! Zitat:
Generell hast du 3 Möglichkeiten irgendwas an SWX dran zu stricken. 1. wie bisher über interne Makros (soweit ich weiß mit VB6 Syntax) 2. Standalone Programme, die dennoch auf SWX zugreifen können (VB.net) 3. Add-Ins die direkt in SWX integriert sind (Menü, Toolbar etc.; VB.net) (und ja, beim Debugging wird SWX gestartet) Wenn du gerne ein Add-In erstellen möchtest und das entsprechende API-SDK (API Verzeichnis auf der CD), wie so häufig nicht funktioniert kannst du hier nachschauen: (unten) http://ww3.cad.de/foren/ubb/Forum2/HTML/019003.shtml Was die Verweise angeht: MyProject -> Verweise -> Hinzufügen -> Reiter ".NET" -> SolidWorks.Interop.sldworks, SolidWorks.Interop.swconst
Ja...jetzt habe ich es! Genau das ist die Antwort auf meine Frage. Nachdem ich die Verweise in VB.net eingetragen hatte, klappte es auch. Ich dachte es geht nur, wenn ich das API-SDK installiere (wenns denn mal geht) und dann in VB.net auch eine entsprechende Vorlage finde. Dann werde ich mal versuchen mich da ein wenig einzuarbeiten. Vielen Dank! Gruß Mixie Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tbd Mitglied Teamleiter
Beiträge: 825 Registriert: 26.01.2006 Dell Percision T5400 Intel(R) Xeon(R) CPU X5460 @ 3.16GHz 3,25 GB RAM Nvidia Quadro FX 4600 ----- Win XP Prof SP 3 SW 2008 SP 5.0 PARTsolutions 8.1.08 Cideon SAP PLM 5.103.5.17 Visual Studio 2008
|
erstellt am: 02. Mrz. 2010 15:32 <-- editieren / zitieren --> Unities abgeben: Nur für Mixie
Hallo Mixie, das API-SDK benötigt man für SolidWorks Zusatzanwendungen nicht unbedingt. Ich z.B. verwende es nicht. Es ist auch nicht schwierig ein SolidWorks Add-In zu schreiben. Was man benötigt findest du z.B. hier auf meiner Seite. Auch sonst komme ich prima ohne das SDK aus. Wahrscheinlich unterstützt das SDK Einsteiger am Anfang, ich kann das allerdings nicht beurteilen. Viel Spaß mit SolidWorks und vb.net! ------------------ Mfg Daniel www.MySldWorks.de - SolidWorks API Snippets Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |