Hot News aus dem CAD.de-Newsletter:

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
Autor Thema:   Anwendung API Hilfe (VBA) (420 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: 87
Registriert: 27.10.2016

SW 2016 SP5.0
Windows 10 Pro 64bit
CPU E3-1220 v5, Quadro M2000, 16GbRAM,
3DxWare 10.4.9, LGS 8.91.48

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: 659
Registriert: 18.05.2005

SolidWorks 2018 x64 SP4.0
Dell T3600 Workstation
Intel XENON 6x3.2 GHz
NVIDIA Quadro 4000 2 GB
16GB RAM
2x Dell U2412M, 24" TFT
Windows 7 Professional x64 SP1
Microsoft Office Pro 2010 SP2
Kaspersky Anti-Virus 10.2.4.674
Microsoft VB 2010 Express
SpacePilot von 3Dconnexion

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: 87
Registriert: 27.10.2016

SW 2016 SP5.0
Windows 10 Pro 64bit
CPU E3-1220 v5, Quadro M2000, 16GbRAM,
3DxWare 10.4.9, LGS 8.91.48

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
Mitglied



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: 1419
Registriert: 18.01.2001

arbeite mit:
HP Z440 Workstation
Xenon (12-Kern) 3.5GHz
32GB RAM
238GB SSD
------------------------
SWX-2016 SP5.0
DBWorks-R15 SP2.17
----------------
Windows 7 64 bit
----------------
VB
VBA
Lotus Notes Datenbanken
erste Schritte mit Swift

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: 659
Registriert: 18.05.2005

SolidWorks 2018 x64 SP4.0
Dell T3600 Workstation
Intel XENON 6x3.2 GHz
NVIDIA Quadro 4000 2 GB
16GB RAM
2x Dell U2412M, 24" TFT
Windows 7 Professional x64 SP1
Microsoft Office Pro 2010 SP2
Kaspersky Anti-Virus 10.2.4.674
Microsoft VB 2010 Express
SpacePilot von 3Dconnexion

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: 87
Registriert: 27.10.2016

SW 2016 SP5.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 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)2019 CAD.de | Impressum | Datenschutz