Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Anwendung API Hilfe (VBA)

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
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



Sehen Sie sich das Profil von 4kspeed an!   Senden Sie eine Private Message an 4kspeed  Schreiben Sie einen Gästebucheintrag für 4kspeed

Beiträge: 91
Registriert: 27.10.2016

erstellt am: 30. Jan. 2019 10:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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 state

Return 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


Sehen Sie sich das Profil von HenryV an!   Senden Sie eine Private Message an HenryV  Schreiben Sie einen Gästebucheintrag für HenryV

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für 4kspeed 10 Unities + Antwort hilfreich

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



Sehen Sie sich das Profil von 4kspeed an!   Senden Sie eine Private Message an 4kspeed  Schreiben Sie einen Gästebucheintrag für 4kspeed

Beiträge: 91
Registriert: 27.10.2016

erstellt am: 05. Feb. 2019 13:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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



Sehen Sie sich das Profil von nahe an!   Senden Sie eine Private Message an nahe  Schreiben Sie einen Gästebucheintrag für nahe

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für 4kspeed 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von HenryV an!   Senden Sie eine Private Message an HenryV  Schreiben Sie einen Gästebucheintrag für HenryV

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für 4kspeed 10 Unities + Antwort hilfreich

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



Sehen Sie sich das Profil von 4kspeed an!   Senden Sie eine Private Message an 4kspeed  Schreiben Sie einen Gästebucheintrag für 4kspeed

Beiträge: 91
Registriert: 27.10.2016

erstellt am: 08. Feb. 2019 13:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke HenryV, habe es hinbekommen... 

Code:
Dim swApp As Object
Dim Part As Object

Sub 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

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz