| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| | |
 | SOLIDWORKS NEXT | Episode 2: High-Speed-Entwicklung - Simulation & Elektromagnetik, ein Webinar am 19.05.2026
|
|
Autor
|
Thema: Anwendung API Hilfe (VBA) (1646 / 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, Projektassistent
  
 Beiträge: 824 Registriert: 18.05.2005 Autodesk Inventor 2025.4 HP Z2 Tower G1i Intel(R) Core(TM) Ultra 9 285K (3.70 GHz) NVIDIA RTX 2000 Ada Generation 64GB RAM 2x Samsung LS27D80xU Windows 11 Business x64 25H2 Microsoft 365 Business Premium
|
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: 1797 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, Projektassistent
  
 Beiträge: 824 Registriert: 18.05.2005
|
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 SW 2019 SP3.0 Windows 10 Pro 64bit CPU E3-1220 v5, Quadro M2000, 16GbRAM, 3DxWare 10.4.9, LGS 8.91.48
|
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 |