| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| PLM TechnologieForum Leipzig |
Autor
|
Thema: Anwendung API Hilfe (VBA) (1218 mal gelesen)
|
4kspeed Mitglied
Beiträge: 91 Registriert: 27.10.2016
|
erstellt am: 30. Jan. 2019 10:45 <-- editieren / zitieren --> Unities abgeben:
Hallo, in Api Hilfe Handbuch (english) Anhang mit Beispielen kann ich viele Dinge lösen bzw. automatisieren. Aber wenn mal in Api keine Beispiele vorliegen, komme ich einfach nicht mehr weiter. Wie ist es in der Visual Basic (Usage) zu verstehen. Jedes mal sehe ich ein "value." was muss ich da ersetzten? Möchte "ShowExploded Method (IView)", spricht per makro eine Zeichnungansicht in Eplosiondarstellung anzeigen lassen. Da liegt mir im Api diesen Code vor.
Code: Visual Basic (Declaration) Function ShowExploded( _ ByVal ShowIt As System.Boolean _ ) As System.Boolean Visual Basic (Usage) Copy Code Dim instance As IView Dim ShowIt As System.Boolean Dim value As System.Boolean value = instance.ShowExploded(ShowIt)
Parameters ShowIt True if you want this drawing view to display the exploded state of the current assembly configuration, false if you want this drawing view to display the collapsed stateReturn Value True if successful in displaying the exploded assembly state, false if not
Konnte keine Solidworks API Beschreibung oder irgendeinen Wiki in deutsch dazu finden, wenn jemand mir helfen könnte, wäre ich sehr dankbar.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HenryV Mitglied Konstrukteur, Engineering
Beiträge: 813 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 30. Jan. 2019 11:59 <-- editieren / zitieren --> Unities abgeben: Nur für 4kspeed
Hallo "ShowExploded" ist eine Funktion, und Funktionen haben einen Rückgabewert (Return Value). Im Beispiel (Visual Basic (Usage)) wir dieser Rückgabewert der Boolean-Variabel "value" zugewiesen. Dieser kann dann ausgewertet werden d.H.: True if successful in displaying the exploded assembly state, false if not Gruss Andreas
------------------ 21 ist nur die halbe Antwort. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
4kspeed Mitglied
Beiträge: 91 Registriert: 27.10.2016
|
erstellt am: 05. Feb. 2019 13:13 <-- editieren / zitieren --> Unities abgeben:
Hallo HenryV, danke für den Hinweis, das es eine VBA Funktion ist... Aber wie kann ich das umsetzen? Da ich mit der Programmiersprache richtig zu kämpfen habe, ich weiß gute VBA Kenntnisse sind erforderlich Ich scheitere an 3 Lösung Möglichkeiten. 1. Makro Recoder = zeichnet nicht alles auf 2. Run Command = nicht integrierter Befehl (habe die gesammte Liste durchgeschaut) 3. API Hilfe = Code vorhanden jedoch ohne einen Beispiel
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nahe Ehrenmitglied
Beiträge: 1747 Registriert: 18.01.2001 arbeite mit: Dell Precision 7750 i7 2,6 GHz 6 Kerne 32GB RAM 512GB SSD NVIDIA Quadro RTX 4000 ------------------------ SWX-2020 SP5.0 EPDM ---------------- Windows 10 ---------------- VB.net VB VBA ein wenig Swift am Mac
|
erstellt am: 05. Feb. 2019 14:40 <-- editieren / zitieren --> Unities abgeben: Nur für 4kspeed
Hallo 4kspeed, bitte nicht falsch verstehen, aber wenn Du schon hier an der Hilfe scheiterst, dann würde ich Dir dringend empfehlen, bei einem Re-Seller einen VBA Kurs zu buchen
------------------ Grüße Heinz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HenryV Mitglied Konstrukteur, Engineering
Beiträge: 813 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 05. Feb. 2019 14:57 <-- editieren / zitieren --> Unities abgeben: Nur für 4kspeed
Ist eigentlich ganz einfach wenn man das Prinzip der API-Hilfe verstanden hat. Die ShowExploded Method (IView) hast du ja schon selbst gefunden. Damit du sie in deinem Code aufrufen kannst, braucht es eine Instanz (instance). In diesem Fall eine Zeichnungsansichts-Instanz (Dim instance As IView). Die relevanten Sachen sind immer als Hyperlink hinterlegt, die man zum weiteren Verständnis anklicken/anschauen kann/sollte. Denn im IView Interface hat es Beispiele, die einem zeigen wie man eine Zeichnungsansichts-Instanz erhält/auswählt. Und dann noch ein bisschen kombinieren und man hat das fertige Makro. ------------------ 21 ist nur die halbe Antwort. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
4kspeed Mitglied
Beiträge: 91 Registriert: 27.10.2016
|
erstellt am: 08. Feb. 2019 13:01 <-- editieren / zitieren --> Unities abgeben:
Danke HenryV, habe es hinbekommen... Code: Dim swApp As Object Dim Part As ObjectSub main() Set swApp = Application.SldWorks Set swModel = swApp.ActiveDoc Set swDraw = swModel Set swView = swDraw.GetFirstView Set Part = swApp.ActiveDoc Part.ClearSelection2 True Set swView = swView.GetNextView swModel.Extension.SelectByID2 swView.GetName2, "DRAWINGVIEW", 0, 0, 0, True, 0, Nothing, 0 swView.ShowExploded True swDraw.EditRebuild3 End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |