Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Makro zum einfügen von Ansichten in Zeichnungen

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
  
Präzise Strömungssimulation hilft Automobilhersteller, bessere Ergebnisse zu erzielen und gleichzeitig kreativer zu sein
Autor Thema:  Makro zum einfügen von Ansichten in Zeichnungen (1108 mal gelesen)
CAD-Michi
Mitglied
Konstrukeur

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

Beiträge: 6
Registriert: 09.11.2018

Solid Works 2021 SP1.0, VBA 7.1 (SW intern)

erstellt am: 22. Dez. 2020 16:19    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 zusammen,

ich habe die letzte Zeit angefangen mich mit Makros in Solid Works zu beschäftigen.
Nach einiger Einlesezeit und vielen Videos im Internet habe ich ganz grob eine Ahnung wie die SW Makros funktionieren.

Ich hab aktuell ein Makro dass eine Userform öffnet und eine Auswahl von unterschiedlichen Zeichnungsvorlagen anzeigt.
Beim Klicken auf einen Button öffnet die entsprechende Vorlage sofort.

Mein nächstes Vorhaben:
ich möchte jetzt, dass nach dem Öffnen einer Zeichnungsvorlage die erste Ansicht aus der Ansichtspalette von einem geöffnetem Einzelteil oder einer Baugruppe automatisch in die Zeichnung eingefügt wird.

In der SW-API Hilfe habe ich das "IDrawingDoc" mit der Methode "DropDrawingViewPalette2" gefunden.
Jedoch selbst wenn ich die Beispiele in der API Hilfe als Makro ausführe, funktioniert das einfügen der Ansichten nicht.
Auch wenn ich ein Makro in der gewünschten Reihenfolge aufzeichne und danach ausführe, funktioniert das einfügen der Ansicht aus der Ansichtspalette nicht.

Kann mir jemand vielleicht helfen?

Der Code in der API Hilfe sieht so aus. (zumal der Code anderst aussieht, wie bei einer Aufzeichnung eines Makros)

Dim instance As IDrawingDoc
Dim PaletteViewName As System.String
Dim X As System.Double
Dim Y As System.Double
Dim Z As System.Double
Dim value As View

value = instance.DropDrawingViewFromPalette2(PaletteViewName, X, Y, Z)

Vielen Dank für eure Anworten. 
Grüße
Michael

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



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

Beiträge: 2776
Registriert: 18.07.2012

-Solid Works 2019 SP5
-Pro Engineer WF 3

erstellt am: 24. Dez. 2020 12:02    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 CAD-Michi 10 Unities + Antwort hilfreich

Hallo Michi,

was steht den bei dir in der Variablen "PaletteViewName", wenn der leer oder unbekannt ist kann SWX dir keine Ansicht einfügen, hier muss der Name der Ansicht auf Deutsch rein, weil im Beispiel sind die Namen auf Englisch.

Gruß
Bernd

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CAD-Michi
Mitglied
Konstrukeur

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

Beiträge: 6
Registriert: 09.11.2018

Solid Works 2021 SP1.0, VBA 7.1 (SW intern)

erstellt am: 11. Jan. 2021 10:20    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 Bernd,

sorry für die späte Rückmeldung. Der Weihnachtsurlaub war die letzten zwei Wochen fällig. 

"PaletteViewName" hatte ich als "Zeichnungsansicht1" definiert.
So wie es auch bei dem aufzeichnen des Ablaufes als Makro eingetragen war. Aber selbst die Aufzeichnung des Ablaufs hatte in einem Makro nicht funktioniert.

Ich bin aber noch auf die Methode "Create3rdAngleViews2" aufmerksam geworden. Diese funktioniert.
Wenn man eine Kante oder Ecke an einem Teil anklickt, kann man mit dieser Methode eine Zeichnungsvorlage öffnen und es werden automatisch 3 Ansichten vom Teil eingefügt.
Im Grunde das was ich wollte. Mal schauen ob ich hier noch ein paar Anpassungen vornehmen kann. 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



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

Beiträge: 2776
Registriert: 18.07.2012

-Solid Works 2019 SP5
-Pro Engineer WF 3

erstellt am: 11. Jan. 2021 13:29    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 CAD-Michi 10 Unities + Antwort hilfreich

Hallo Michi,

mit "Zeichnungsansicht1" wärst du nicht weit gekommen da im Einfügedialog natürlich die Ansicht anderst heißt wie nach dem Einfügen.

Gruß
Bernd

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CAD-Michi
Mitglied
Konstrukeur

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

Beiträge: 6
Registriert: 09.11.2018

Solid Works 2021 SP1.0, VBA 7.1 (SW intern)

erstellt am: 22. Jan. 2021 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

Hallo nochmal,

ich habe mich jetzt länger mit dem Makroprogrammieren in SolidWorks beschäftigt. Hab jetzt mein Makro zum automatischen Zeichnung erstellen, Ansichten einfügen und abspeichern hinbekommen. 

das Thema mit dem Ansichten einfügen war etwas tricky. Aber ich habe es mir durch verschiedene Beispiele in der SW API Hilfe zusammen gereimt und es funktioniert jetzt.

hier der Basis Code

Sub main()
   
    Dim swApp As SldWorks.SldWorks
    Set swApp = Application.SldWorks
   
    Dim swModelDocExt As SldWorks.ModelDocExtension
    Dim swSelMgr As SldWorks.SelectionMgr
    Dim swModel As SldWorks.ModelDoc2
    Dim swDrawing As SldWorks.DrawingDoc
    Dim swDrawings As SldWorks.DrawingDoc
    Dim swSheet As SldWorks.Sheet
    Dim swView As SldWorks.View
    Dim sheetTemplate As String
    Dim fileName As String
    Dim anView As Boolean
    Dim viewPalette As Boolean
             
    Set swDrawing = swModel
    Set swModelDocExt = swModel.Extension
    Set swSelMgr = swModel.SelectionManager
    Set swDrawings = swApp.ActiveDoc

    'Laden von drei Standard Zeichnungsansichten
    'anView = swDrawings.Create3rdAngleViews2(filename)
   
    '-->Hier werden die Zeichnungsansichten in die Zeichnung geladen
    Set swSheet = swDrawing.GetCurrentSheet()
    swSheet.SetTemplateName sheetTemplate
    swSheet.ReloadTemplate True
    viewPalette = swDrawing.GenerateViewPaletteViews(fileName)
   
        Set swView = swDrawing.DropDrawingViewFromPalette2("*Isometrisch", 0.165930433566434, 0.110525272727273, 0)
        Set swView = swDrawing.DropDrawingViewFromPalette2("*Vorderseite", 0.105930433566434, 0.210525272727273, 0)
    End If
   
End Sub

Es war natürlich auch richtig, dass "Zeichnungansicht1" nicht funktioinert. Es muss die eigentliche Ansicht mit den richtigen Namen sein.
zudem muss man vorher noch die Ansichtspalette mit dem aktiven Teil aktualisieren und anzeigen.
dann funktioniert es wunderbar.
Es gibt sogar den Befehl "SetDisplayMode4". Damit lassen sich die Ansichten z.b. farbig anzeigen. (oder was man halt möchte)
Oder den Befehl Create3rdAngleViews2. Damit lassen sich 3 Ansichten auf einmal einfügen.

bin jetzt total gehypt und möchte noch mehr Makros machen... 

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