| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
|
Autor
|
Thema: API: Einfügemodus der Konstruktionsbibliothek beenden (301 mal gelesen)
|
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: 17. Dez. 2007 16:58 <-- editieren / zitieren --> Unities abgeben:         
Hallösche bobösche! Ist es über die SolidWorks API möglich den Einfügemodus einer Komponente, die per Drag and Drop aus der Konstruktionsbibliothek gezogen wurde zu beenden? Folgendes Problem: Ein Anwender zieht per Drag & Drop ein Bauteil / Baugruppe aus der Konstruktionsbibliothek in die geöffnete Baugruppe rein und fügt somit die Komponente in die Baugruppe ein. Die ausgewählte Komponente bleibt jedoch an der Maus hängen und kann nun erneut eingefügt werden. Die geht so lange bis der PropertyManager geschlossen wird oder der Anwender auf "Esc" drückt. Wenn dieser Einfügemodus aktiv ist macht mein Add-In, welches das Komponente hinzufügen Ereignis abfängt, Probleme und SW stürzt ab. Ich habe schon mit SenkKeys und den API Methoden ModelDoc2.SetBlockingState und ModelDoc2.ResetBlockingState versucht den Einfügemodus zu beenden. Leider ohne Erfolg, sonst würde ich ja auch nicht fragen. Kennt jemand eine API Methode welche den Einfügemodus beendet oder einen Workaround mit welchen man dieses Problem in einem SWX Add-In lösen kann. Habe leider nur diesen unbeantworteten Beitrag zu diesem Thema gefunden. Danke für jede Antwort / Hinweis / Vorschlag! ------------------ Mfg Daniel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lutz Federbusch Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau

 Beiträge: 3094 Registriert: 03.12.2001 alle SW seit 97+ AutoCAD2016-2022 ERP ProAlpha + CA-Link Intel Core i7-7820K 32GB Win10x64 Quadro K5000 SpacePilot
|
erstellt am: 17. Dez. 2007 17:28 <-- editieren / zitieren --> Unities abgeben:          Nur für tbd
Es gibt einen Befehl EndDrag, wohl fürs Bewegen von Teilen in der BG. Ob der allerdings für Deinen Fall einsetzbar ist, kann ich Dir nicht sagen... Vielleicht kannst Du auch zeitgesteuert einfach ein anderes Dokument aktivieren und dann wieder zurückgehen. Vielleicht geht der Modus dann aus?! Wenn man es von Hand macht, klappt es, das Einfügen loszuwerden. Dokument minimieren und wieder maximieren klappt auch... ------------------ Lutz Federbusch Mein Gästebuch Der Mensch, Herr oder Sklave der Technik? [Diese Nachricht wurde von Lutz Federbusch am 17. Dez. 2007 editiert.] 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: 17. Dez. 2007 17:32 <-- editieren / zitieren --> Unities abgeben:         
Hallo Lutz, vielen Dank für deinen Hinweis. Hatte es allerdings vergessen das DragOperator Object und dessen Methoden in meiner "Bereits-Versucht-Liste" aufzunehmen. Werde mir das jedoch nochmal anschauen, evtl. habe ich ja etwas falsch gemacht und es funktioniert doch! ------------------ Mfg Daniel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lutz Federbusch Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau

 Beiträge: 3094 Registriert: 03.12.2001 alle SW seit 97+ AutoCAD2016-2022 ERP ProAlpha + CA-Link Intel Core i7-7820K 32GB Win10x64 Quadro K5000 SpacePilot
|
erstellt am: 17. Dez. 2007 17:43 <-- editieren / zitieren --> Unities abgeben:          Nur für tbd
Habe gerade oben noch editiert, wie es händisch geht. Vielleicht nutzt Dir das was. Vielleicht kannst Du ja auch das DragOp-Object zerstören, wenn sich nichts Neues damit tut. ------------------ Lutz Federbusch Mein Gästebuch Der Mensch, Herr oder Sklave der Technik? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
INKN Mitglied Consulant/Softwareentwickler
 
 Beiträge: 277 Registriert: 22.08.2001
|
erstellt am: 17. Dez. 2007 18:46 <-- editieren / zitieren --> Unities abgeben:          Nur für tbd
Hallo Daniel, Ich habe eine Lösung vom API Support bekommen. Bei mir war das Problem das meine PM-Seite nicht stehen blieb weil die nächste Komponente schon eingefügt wurde. Nun erzeuge ich mit der Option swPropertyManagerOptions_LockedPage die Seite und sie bleibt stehen und es kommen keine weiteren Instanzen mehr. Kritisch ist herauszubekommen, wann er fertig ist. ------------------ Gruß Ingo 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: 17. Dez. 2007 19:37 <-- editieren / zitieren --> Unities abgeben:         
Hallo Lutz und Ingo, ich habe nun zu mindest die Lösung mit der SendKeys Methode hinbekommen. Das Ganze funktioniert wenn ich im SolidWorks Ereignis einen neuen Thread starte und dort „Esc“ an die aktivierte SolidWorks Sitzung schicke. Im SolidWorks Ereignis selbst geht es nicht. Da mir diese Lösung nicht 100% gefällt werde ich, wie bereit erwähnt, auch noch mal beim DragOperator Object nachschauen. @Ingo Leider nützt mir diese Option der PropertyManagerPage nichts, da ich ein externes Formular starten möchte. Aber immer hin funktioniert ja jetzt die SendKeys Methode. Ich würde mich dennoch sehr freuen wenn jemand eine bessere, bzw. direkte SolidWorks API Methode für diese Aufgabe kenn und uns mitteilt. Danke an alle die sich Gedanken gemacht haben und evtl. weiterhin machen! ------------------ Mfg Daniel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |