| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| 3DEXPERIENCE CONFERENCE EUROCENTRAL 2022 | Darmstadtium, Darmstadt, Germany |
Autor
|
Thema: Eigene Symbolleste NEU erstellen (2232 mal gelesen)
|
Bruggmann Mitglied Konstrukteur (& Nachdiplomstudium Software-Engineering)
Beiträge: 85 Registriert: 17.03.2004 Workstation: Fujitsu Siemens P4 3.2GHz 2.0 GB RAM Win XP SP1 - SW2005 SP0.1 (PDM: Smarteam)<P>Laptop: Compaq Evo 800w P4 2GHz 500MB RAM WinXP SP2 - SW2005 SP0.1 (PDM: ec-Manager, eigenes Tool..)
|
erstellt am: 18. Okt. 2004 08:51 <-- editieren / zitieren --> Unities abgeben:
hi all ich habe gerade in einem alten thread (http://ww3.cad.de/foren/ubb/Forum2/HTML/005934.shtml) gelesen dass man keine komplet neuen symbolleisten erstellen kann. das bezweifle ich aber stark. weil genau dies z.b. SmarTeam macht und ich folgendes in der api-hilfe finde: SldWorks::AddToolbar3 Description This method creates a Windows-style dockable toolbar, containing a set of application defined buttons. Syntax (OLE Automation) NewToolBarID = SldWorks.AddToolbar3 ( Cookie, Title, SmallBitmapResourceID, LargeBitmapResourceID, MenuPositionForToolbar, DocumentType ) meine frage ist jetzt aber nun (kann das grad nicht testen) wenn ich eine solche toolbar mit parallel laufendem programm hinzugefügt habe, taucht diese toolbar beim nächsten laden von SW automatisch wieder auf?
und zu SldWorks::AddToolbarCommand2 wie kann ich am besten einen klickevent auf einen so erzeugten button oder was auch immer an mein parallel laufendes programm senden?? dieses programm läuft ja immer. hab da mal was mit "SendMessage" angedacht was auch funktioneirt um daten zwischen verschidenen prozessen auszutauschen, aber das muss ja auch einfacher gehen... ------------------ ---------- encom GmbH 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: 18. Okt. 2004 09:38 <-- editieren / zitieren --> Unities abgeben: Nur für Bruggmann
Halli hallo, Zitat: Original erstellt von Bruggmann: ich habe gerade in einem alten thread ( http://ww3.cad.de/foren/ubb/Forum2/HTML/005934.shtml ) gelesen dass man keine komplet neuen symbolleisten erstellen kann.das bezweifle ich aber stark. [...]
In dem Thread hab ich ganz klar geschrieben, dass das per API möglich ist, nur eben nicht mit SolidWorks Bordmitteln. Was du oben geschrieben hast ist ja eine API Programmierung, damit geht das selbstverständlich, mit genau den Befehlen, die du da geschrieben hast Zitat: meine frage ist jetzt aber nun (kann das grad nicht testen) wenn ich eine solche toolbar mit parallel laufendem programm hinzugefügt habe, taucht diese toolbar beim nächsten laden von SW automatisch wieder auf?
Nein, woher auch. Die wird ja durch dein Programm erst erzeugt. Zitat: wie kann ich am besten einen klickevent auf einen so erzeugten button oder was auch immer an mein parallel laufendes programm senden??
Mit dem AddToolbarCommand2 mußt du ja auch eine Callback-Funktion angeben, die dann logischerweise in deinem Programm ist. Bei VB musst du z.B. darauf achten, dass du das "Abhören" auch mit WithEvents deklarierst. Am einfachsten schaust du dir mal ein Beispiel dazu an, auf www.solidworks.com/api gibt's ne Menge dazu (z.B. im Bereich Download ein komplettes Projekt namens "Add menu item and add corresponding toolbar and toolbar buttons (VB)") oder auch auf www.bitwright.comn das freie "SWAddIn Template". Ciao, Stefan
------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de KLAMM? Was ist KLAMM? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bruggmann Mitglied Konstrukteur (& Nachdiplomstudium Software-Engineering)
Beiträge: 85 Registriert: 17.03.2004 Workstation: Fujitsu Siemens P4 3.2GHz 2.0 GB RAM Win XP SP1 - SW2005 SP0.1 (PDM: Smarteam)<P>Laptop: Compaq Evo 800w P4 2GHz 500MB RAM WinXP SP2 - SW2005 SP0.1 (PDM: ec-Manager, eigenes Tool..)
|
erstellt am: 18. Okt. 2004 09:48 <-- editieren / zitieren --> Unities abgeben:
oh sorry, mein fehler. so betrachtet hat da natürlich alles seine richtigkeit. naja, ich dachte dass beim schlissen von SW evtl die neue toolbar in die registry übertragen und dann folglich beim neuen SW start automatisch geladen wird (SmarTeam z.b. hat solche registry einträge drin) kann ich unter ButtonCallback also einfach einen für mich eindeutigen namen angeben und den dann gleich abfangen wie die anderen events? das habe ich auch schon für andere events integriert und wäre natürlich edelst ------------------ ---------- encom GmbH Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bruggmann Mitglied Konstrukteur (& Nachdiplomstudium Software-Engineering)
Beiträge: 85 Registriert: 17.03.2004 Workstation: Fujitsu Siemens P4 3.2GHz 2.0 GB RAM Win XP SP1 - SW2005 SP0.1 (PDM: Smarteam)<P>Laptop: Compaq Evo 800w P4 2GHz 500MB RAM WinXP SP2 - SW2005 SP0.1 (PDM: ec-Manager, eigenes Tool..)
|
erstellt am: 19. Okt. 2004 16:25 <-- editieren / zitieren --> Unities abgeben:
ok, sorry... aber wie kann ich jetzt eine toolbar hinzufügen??! die befehle AddToolbar3 benütigen ein cookie usw. wo bekomme ich so ein cokkie her? irgendwas ist noch mit SwAddin_ConnectToSW oder so, aber ich blicke überhaupt nicht durch ------------------ ---------- encom GmbH 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: 20. Okt. 2004 09:01 <-- editieren / zitieren --> Unities abgeben: Nur für Bruggmann
|
Bruggmann Mitglied Konstrukteur (& Nachdiplomstudium Software-Engineering)
Beiträge: 85 Registriert: 17.03.2004 Workstation: Fujitsu Siemens P4 3.2GHz 2.0 GB RAM Win XP SP1 - SW2005 SP0.1 (PDM: Smarteam)<P>Laptop: Compaq Evo 800w P4 2GHz 500MB RAM WinXP SP2 - SW2005 SP0.1 (PDM: ec-Manager, eigenes Tool..)
|
erstellt am: 20. Okt. 2004 09:26 <-- editieren / zitieren --> Unities abgeben:
ehrlich, ich hab mir dieses projekt angeschaut. auch die dll, aber ich hab nur schon den groben ablauf nicht verstanden. ok, hab es nicht im detail angesehen, aber kannst du mir da auf die sprünge helfen. was hat die dll selbst für eine funktion? wo muss die rein, über welche funktion wird jetzt wirklich die toolbar generiert? und überhaupt, geht das ganze nicht auch ohne dll direkt aus einer exe heraus..? sorry hab echt ein brett vor dem kopf ------------------ ---------- encom GmbH [Diese Nachricht wurde von Bruggmann am 20. Okt. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bruggmann Mitglied Konstrukteur (& Nachdiplomstudium Software-Engineering)
Beiträge: 85 Registriert: 17.03.2004 Workstation: Fujitsu Siemens P4 3.2GHz 2.0 GB RAM Win XP SP1 - SW2005 SP0.1 (PDM: Smarteam)<P>Laptop: Compaq Evo 800w P4 2GHz 500MB RAM WinXP SP2 - SW2005 SP0.1 (PDM: ec-Manager, eigenes Tool..)
|
erstellt am: 25. Okt. 2004 07:42 <-- editieren / zitieren --> Unities abgeben:
also, nur für den fall dass sich sonst mal noch jemand an dem thema verhacken sollte. ich war jetzt die ganze zeit extern und konnte es erst jetzt wieder ausprobieren. es ist einfach, sehr einfach: Code: retval = swApp.LoadAddIn(App.Path & "\Sample.dll")
;o) gruss newgen ------------------ ---------- encom GmbH Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |