Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Makro: Alle Zeichnungen einer Baugruppe öffnen

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
  
SolidCAM im Einsatz bei der August Weckermann KG
Autor Thema:  Makro: Alle Zeichnungen einer Baugruppe öffnen (6393 mal gelesen)
currie
Mitglied
Betriebsmittelkonstrukteur


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

Beiträge: 83
Registriert: 10.03.2005

WIN10 / SWX2020

erstellt am: 17. Feb. 2011 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

Hallo

Ich habe im www diesen Queltext gefunden, siehe unten.

Wenn ich das Makro Starte werden bei mir alle Teile in der Baugruppe geöffnet.

Aber es sollen alle Zeichnugen göffnet werden.
Wenn ich den Pfad + Name in einer Massege Box anzeigen lasse bekomme ich den Pfad+Name mit "slddrw" es wird aber das Teil geöffnet.

Ich komme nicht dahinter wo der fehler liegt. Kann mir bitte einen Tip geben.

' --------------------------------------------------------------------06/02/2006
' Open Assembly Components
' OpenAssyComp.swp - By handleman Copyright 2006
' This macro is provided as is.  No claims, support, refund, safety net, or
' warranties are expressed or implied.  By using this macro in any way, the user
' holds the author and all others free from all liability.
' This macro is based on discussion at: http://www.eng-tips.com/viewthread.cfm?qid=156219&
' ------------------------------------------------------------------------------
' Description:
' Traverses the open assembly and activates all components and their drawings (if of the
' same name).
' ------------------------------------------------------------------------------
' Version - By Matthew Lorono
'          1.01        * Saved macro as sourced from above link.
'          1.02        * Add this common description comment area.
' ------------------------------------------------------------------------------

Sub ShowAllOpenFiles()
Dim swDoc As SldWorks.ModelDoc2
Dim swAllDocs As EnumDocuments2
Dim FirstDoc As SldWorks.ModelDoc2
Dim dummy As Boolean
Dim NumDocsReturned As Long
Dim DocCount As Long
Dim i As Long
Dim sMsg As String
Dim swApp As SldWorks.SldWorks
Dim bDocWasVisible As Boolean
Dim OpenWarnings As Long
Dim OpenErrors As Long
Dim DwgPath As String
Dim myDwgDoc As SldWorks.ModelDoc2

Set swApp = Application.SldWorks
Set swAllDocs = swApp.EnumDocuments2
Set FirstDoc = swApp.ActiveDoc

DocCount = 0
swAllDocs.Reset
swAllDocs.Next 1, swDoc, NumDocsReturned
While NumDocsReturned <> 0
    bDocWasVisible = swDoc.Visible
    swApp.ActivateDoc swDoc.GetPathName
    DwgPath = swDoc.GetPathName
    MsgBox DwgPath, , "DwgPath"  ' Hier kommt Pfad + Name des Teils
    If (LCase(Right(DwgPath, 6)) <> "slddrw") And (DwgPath <> "") Then
        DwgPath = Left(DwgPath, Len(DwgPath) - 6) & "slddrw"
        MsgBox DwgPath, , "DwgPath" ' Hier kommt Pfad + Name der Zeichnung
        Set myDwgDoc = swApp.OpenDoc6(DwgPath, swDocDRAWING, swOpenDocOptions_Silent, "", OpenErrors, OpenWarnings)
        If Not myDwgDoc Is Nothing Then
            swApp.ActivateDoc myDwgDoc.GetPathName
           
            Set myDwgDoc = Nothing
        End If
    End If
    swAllDocs.Next 1, swDoc, NumDocsReturned
    DocCount = DocCount + 1
Wend

swApp.ActivateDoc FirstDoc.GetPathName
End Sub

'--------------------------------------------------------------------

Currie

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: 17. Feb. 2011 13:28    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 currie 10 Unities + Antwort hilfreich

Hallo

ich hab jetzt keine Ahnung ob es dann so funktioniert wie Du Dir das vorstellt,
aber ich würde mal die Zeile
"swApp.ActivateDoc swDoc.GetPathName"
rausnhemen

------------------
Grüße
Heinz

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

currie
Mitglied
Betriebsmittelkonstrukteur


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

Beiträge: 83
Registriert: 10.03.2005

WIN10 / SWX2020

erstellt am: 17. Feb. 2011 14: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

Zitat:
Original erstellt von nahe:
Hallo

ich hab jetzt keine Ahnung ob es dann so funktioniert wie Du Dir das vorstellt,
aber ich würde mal die Zeile
"swApp.ActivateDoc swDoc.GetPathName"
rausnhemen



Hallo Nahe

Ich hab deine Vorschlag probiert und es werden immer noch die Teile geöffnet

Ich verstehe nicht dass ich hier bei der MsgBox " "DwgPath" den Pfad und Dateiname mit "slddrw" angezeigt bekomme.
Danach sollte doch auch diese Datei geöffnet werden, oder.


MsgBox DwgPath, , "DwgPath" ' Hier kommt Pfad + Name der Zeichnung
        Set myDwgDoc = swApp.OpenDoc6(DwgPath, swDocDRAWING, swOpenDocOptions_Silent, "", OpenErrors, OpenWarnings)
Danke

Currie

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

THSEFA
Mitglied
Konstrukteur/CAD-Admin


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

Beiträge: 1141
Registriert: 27.11.2002

SWX 2020 SP5.0 Premium
Windows 10 Pro 64Bit
Citrix VM
Intel(R) XEON(R) Gold 6146 CPU @ 3.20GHz
24 GB Ram<P>Windows 10 Pro 64Bit

erstellt am: 17. Feb. 2011 14: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 Nur für currie 10 Unities + Antwort hilfreich

Ich arbeite auch an so einem Makro, wenn es meine Zeit zulässt. 


Hier mein Code:

Code:
Sub CT_Print_all_Drawings()
Dim swDoc As SldWorks.ModelDoc2
Dim swAllDocs As EnumDocuments2
Dim FirstDoc As SldWorks.ModelDoc2
Dim dummy As Boolean
Dim NumDocsReturned As Long
Dim DocCount As Long
Dim i As Long
Dim swApp As SldWorks.SldWorks
Dim OpenWarnings As Long
Dim OpenErrors As Long
Dim DwgPath As String
Dim myDwgDoc As SldWorks.ModelDoc2

Set swApp = Application.SldWorks
Set swAllDocs = swApp.EnumDocuments2
Set FirstDoc = swApp.ActiveDoc

'''

Set swApp = CreateObject("SldWorks.Application")
    Set ModelDoc2 = swApp.ActiveDoc

' dann war gar kein Dokument geöffnet, wie soll da was funktionieren
    If ModelDoc2 Is Nothing Then
            MsgBox " Kein Dokument geöffnet! ", vbExclamation
        End
    End If
   
    ' wenn keine Assembly aktiv ist wird das Makro wieder beendet
    If (ModelDoc2.GetType <> swDocASSEMBLY) Then
            MsgBox " Nur für Baugruppen geeignet! ", vbExclamation
        End
    End If

'''

'''

DocCount = 0
swAllDocs.Reset
swAllDocs.Next 1, swDoc, NumDocsReturned
While NumDocsReturned <> 0
    swApp.ActivateDoc swDoc.GetPathName
    DwgPath = swDoc.GetPathName
    If (VBA.LCase(VBA.Right(DwgPath, 6)) <> "slddrw") Then
        DwgPath = VBA.Left(DwgPath, Len(DwgPath) - 6) & "slddrw"
        Set myDwgDoc = swApp.OpenDoc6(DwgPath, swDocDRAWING, swOpenDocOptions_Silent, "", OpenErrors, OpenWarnings)
           
            If myDwgDoc Is Nothing Then
            swApp.CloseDoc swDoc.GetPathName
            End If
           
            If Not myDwgDoc Is Nothing Then
            swApp.CloseDoc swDoc.GetPathName
            'myDwgDoc.PrintDirect ''auskommentiert um Papier zu sparen
           
            swApp.CloseDoc myDwgDoc.GetPathName
                                             
            Set myDwgDoc = Nothing
        End If
    End If
    swAllDocs.Next 1, swDoc, NumDocsReturned
    DocCount = DocCount + 1
Wend

swApp.ActivateDoc FirstDoc.GetPathName
End Sub


Leider ist dies ein Stadium, welches noch nicht funktioniert...

[Diese Nachricht wurde von THSEFA am 17. Feb. 2011 editiert.]

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

mkkk
Mitglied



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

Beiträge: 105
Registriert: 04.03.2005

erstellt am: 17. Feb. 2011 14:58    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 currie 10 Unities + Antwort hilfreich

Ich glaube Du hast da den falschen Ansatz.

Eine Baugruppe kann nur Bauteile oder Baugruppen (Unterbaugruppen) verarbeiten und kennen.
Von ihm abgeleitete Zeichnungen sind in einer Baugruppe nicht bekannt.

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: 18. Feb. 2011 07:09    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 currie 10 Unities + Antwort hilfreich

Hallo

@mkkk
dem kann ich so nicht zustimmen!
Wenn der Dateiname der Zeichnung gleich ist wie der des Teils
und auch im selben Verzeichnis gespeichert ist, dann ist das ok.

Bei mir läuft das Makro auch ein so einigermaßen :-)
Problematisch wird es wenn, z.B.:
für die Zeichnung eine andere Konfiguration verwendet wird,
als die die in der Baugruppe verbaut ist
oder
wenn in der Baugruppe mehrere Konfigurationen des selben Teils
verbaut sind und es für jede Konfiguration eine Zeichnung gibt,
dann müsste man noch den Konfigurationsnamen berücksichtigen.

dann wird keine Zeichnung geöffnet.

PS
@currie meinen Hinweis weiter oben, kannst Du vergessen
die Zeile "swApp.ActivateDoc swDoc.GetPathName" ist scheinbar doch notwendig

------------------
Grüße
Heinz

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

GDawg
Ehrenmitglied V.I.P. h.c.
Teamleiter FEM Simulation



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

Beiträge: 2622
Registriert: 12.07.2004

SolidWorks_2o2o SP3.o
Win10_x64, Quadro_P2ooo.
VisualStudio_2o19_Pro.
FEM: Forge_NxT_HPC, ANSYS_WB.
3D-Printer: Ultimaker_2, Tinker_Gnome.

erstellt am: 18. Feb. 2011 08:18    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 currie 10 Unities + Antwort hilfreich

Nur mal so als Idee:

Wieso machst Du es nicht andersrum? Du suchst Deine Zeichnungen nach Teile ab und lässt die Zeichnung offen, wenn das Teil in Deiner Baugruppe vorkommt?
Wie man ein Teil aus der Zeichnung öffnet, kann ich dir dann schreiben, wenn Du möchtest.

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

THSEFA
Mitglied
Konstrukteur/CAD-Admin


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

Beiträge: 1141
Registriert: 27.11.2002

SWX 2020 SP5.0 Premium
Windows 10 Pro 64Bit
Citrix VM
Intel(R) XEON(R) Gold 6146 CPU @ 3.20GHz
24 GB Ram<P>Windows 10 Pro 64Bit

erstellt am: 18. Feb. 2011 09:31    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 currie 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von GDawg:
Nur mal so als Idee:

Wieso machst Du es nicht andersrum? ...


Meine Intention war es, aus einer BG heraus alle verfügbaren Zeichnungen mit einem Rutsch zu drucken. Wir brauchen sowas öfters mal. Wenn du dann eine BG mit 142 Teilen hast, dauert das per Hand auch schon mal eine Weile. Da wir sogut wie nie Konfigurationen in unseren Teilen haben, es pro Teil auch nur eine Zeichnung gibt, können wir den oben beschrittenen Weg auch gehen.

Leider kann ich mich immer weniger um diese Art von Makros kümmern. Da ich selbst relativ wenig Ahnung davon habe, dauert es eben auch ganz schön lange. Aber es kommen auch wieder bessere Zeiten!

------------------
Viele Grüße, THSEFA 

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

GDawg
Ehrenmitglied V.I.P. h.c.
Teamleiter FEM Simulation



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

Beiträge: 2622
Registriert: 12.07.2004

SolidWorks_2o2o SP3.o
Win10_x64, Quadro_P2ooo.
VisualStudio_2o19_Pro.
FEM: Forge_NxT_HPC, ANSYS_WB.
3D-Printer: Ultimaker_2, Tinker_Gnome.

erstellt am: 18. Feb. 2011 09:48    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 currie 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von THSEFA:
Meine Intention war es, aus einer BG heraus alle verfügbaren Zeichnungen mit einem Rutsch zu drucken.

Das habe ich auch so verstanden. Nur leider funktioniert nicht einmal mehr die SolidWorks Funktion "Zeichnung öffnen". Das hat früher einmal funktioniert.
Also, eigentlich weisst Du ja nur indem Du die Namen gleich vergibst, welche Zeichnung Du öffnen musst...?
Ich wäre den Weg gegangen, (per Makro!) die erste Zeichnung öffnen, Modelnamen prüfen, mit Baugruppe prüfen ob der Name in der BG ist, wenn ja, Zeichnung drucken.

Ich hatte mal ein Makro geschrieben, welches alle offenen Zeichnungen auf einen Rutsch druckt. Mit Wunsch auch noch DXF und PDF von den Zeichnungen, STL und STEP vom Modell auf der Zeichnung.

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

currie
Mitglied
Betriebsmittelkonstrukteur


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

Beiträge: 83
Registriert: 10.03.2005

WIN10 / SWX2020

erstellt am: 18. Feb. 2011 13:55    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

Es freut mich dass ihr euch beteiligt, nur dass kein irrtum entsteht. Ich lese mit, kann aber nicht mehr folgen.

Das Ursprüngliche Problem war ja dass in dem Makro vor
Set myDwgDoc = swApp.OpenDoc6(DwgPath, swDocDRAWING, swOpenDocOptions_Silent, "", OpenErrors, OpenWarnings)

Habe ich mit derMsG Box "DwgPath" ausgelesen. Das war 100% die Zeichnung die geöffnet werden soll.

aber  = swApp.OpenDoc6(DwgPath, swDocDRAWING, .... öffnet das Teil.

Warum? Dies würde ich gerne wissen

Currie

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

GDawg
Ehrenmitglied V.I.P. h.c.
Teamleiter FEM Simulation



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

Beiträge: 2622
Registriert: 12.07.2004

SolidWorks_2o2o SP3.o
Win10_x64, Quadro_P2ooo.
VisualStudio_2o19_Pro.
FEM: Forge_NxT_HPC, ANSYS_WB.
3D-Printer: Ultimaker_2, Tinker_Gnome.

erstellt am: 18. Feb. 2011 14:00    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 currie 10 Unities + Antwort hilfreich

Also, das hier öffnet die Zeichnung wie erwartet:

Code:

Dim strFileName As String
Dim swDrawing As SldWorks.DrawingDoc
strFileName = "C:\Dist.Rohr-705.SLDDRW"
Set swDrawing = swApp.OpenDoc6(strFileName, 3, 0, "", longstatus, longwarnings)

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: 18. Feb. 2011 14:10    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 currie 10 Unities + Antwort hilfreich

Hallo nochmals

also bei mir funktioniert das Makro bis auf die oben beschriebenen Einschränkungen

Hast Du schon mal versuchtbdas Makro im Einzelschrittmodus zu durchlaufen?

------------------
Grüße
Heinz

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

currie
Mitglied
Betriebsmittelkonstrukteur


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

Beiträge: 83
Registriert: 10.03.2005

WIN10 / SWX2020

erstellt am: 18. Feb. 2011 14: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

Zitat:
Original erstellt von nahe:
Hallo nochmals

also bei mir funktioniert das Makro bis auf die oben beschriebenen Einschränkungen

Hast Du schon mal versuchtbdas Makro im Einzelschrittmodus zu durchlaufen?


Hallo

zu meiner Schande, nein!

Ich werde es aber am WE probiern

Vielen Dank

Currie

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

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



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

Beiträge: 2675
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
------------------
Zuletzt beruflich:
- SWX2020 SP5;
- SAP/PLM+ECTR;
- DriveWorks Pro;
- Programmierung:
VBA, aktuell Visual Studio 2022/VB.Net
------------------
ab 2024 (privat):
Onshape und anderes

erstellt am: 21. Feb. 2011 14:08    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 currie 10 Unities + Antwort hilfreich


swconst-Verweis.png

 
Mach mal nen Break an der Stelle und überprüfe den Inhalt von swDocDRAWING, das muss 3 sein.
Eventuell fehlt dir der Verweis auf die swconst.dll.

Bei mir funktioniert dein Makro auf Anhieb.

------------------
Klaus

www.al-ko.com | mein Gästebuch | privat... | Nasenheim    

[Diese Nachricht wurde von KMassler am 21. Feb. 2011 editiert.]

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

currie
Mitglied
Betriebsmittelkonstrukteur


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

Beiträge: 83
Registriert: 10.03.2005

WIN10 / SWX2020

erstellt am: 21. Feb. 2011 15:06    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 KMassler

Das war der richtige tip.
Jetzt werden die Zeichnungen geöffnet, allerdings auch die Modell, was ich nicht so ganz verstehe.

Zumindest kann ich jetzt weiter probieren

Vielen Dank

Currie

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

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



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

Beiträge: 2675
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
------------------
Zuletzt beruflich:
- SWX2020 SP5;
- SAP/PLM+ECTR;
- DriveWorks Pro;
- Programmierung:
VBA, aktuell Visual Studio 2022/VB.Net
------------------
ab 2024 (privat):
Onshape und anderes

erstellt am: 21. Feb. 2011 15:25    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 currie 10 Unities + Antwort hilfreich

Ja nun. Das macht er natürlich bei dem
swApp.ActivateDoc swDoc.GetPathName

Nimm das raus, dann klappts auch mit dem Nachbarn.
Da du die Komponenten ja gar nicht laden willst, sondern nur den Dateinamen auslesen, ist das ActivateDoc überflüssig.

Möglicherweise ein kleines Problem bei der Verwendung von "EnumDocuments2": Damit werden alle geöffneten bzw. geladenen Dokumente abgearbeitet, nicht nur deine aktuelle Baugruppe. Wenn du also noch andere Modelle zu der Zeit göffnet hast, werden die Zeichnungen dazu auch geladen.

------------------
Klaus

www.al-ko.com | mein Gästebuch | privat... | Nasenheim    

[Diese Nachricht wurde von KMassler am 21. Feb. 2011 editiert.]

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

currie
Mitglied
Betriebsmittelkonstrukteur


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

Beiträge: 83
Registriert: 10.03.2005

WIN10 / SWX2020

erstellt am: 21. Feb. 2011 22: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

Hallo KMassler

Habs gerade probiert, perfekt.

Frage: Wo, kann man das nachlesen, was z.B "swApp.ActivateDoc swDoc.GetPathName" macht?

Ich suche krampfhaft im www und finde nichts.

Currie

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

GDawg
Ehrenmitglied V.I.P. h.c.
Teamleiter FEM Simulation



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

Beiträge: 2622
Registriert: 12.07.2004

SolidWorks_2o2o SP3.o
Win10_x64, Quadro_P2ooo.
VisualStudio_2o19_Pro.
FEM: Forge_NxT_HPC, ANSYS_WB.
3D-Printer: Ultimaker_2, Tinker_Gnome.

erstellt am: 22. Feb. 2011 07:17    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 currie 10 Unities + Antwort hilfreich

SolidWorks --> Hilfe --> API-Hilfe 

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

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



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

Beiträge: 2675
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
------------------
Zuletzt beruflich:
- SWX2020 SP5;
- SAP/PLM+ECTR;
- DriveWorks Pro;
- Programmierung:
VBA, aktuell Visual Studio 2022/VB.Net
------------------
ab 2024 (privat):
Onshape und anderes

erstellt am: 22. Feb. 2011 08:06    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 currie 10 Unities + Antwort hilfreich


ActivateDoc-Help.png

 
Zitat:
Original erstellt von currie:
...
Frage: Wo, kann man das nachlesen, was z.B "swApp.ActivateDoc swDoc.GetPathName" macht?
...

Wie GDawg richtig schreibt: Schau erst mal in der API-Hilfe von Solidworks. Das WWW ist in diesem Fall erst die 2. Wahl (oder 3.)

swApp.ActivateDoc(Name des doks) aktiviert ein Dokument. Wenn es bis dahin nicht aktiv geladen ist, dann wird es das.

und swDoc.GetPathname liefert in diesem Fall den Namen des zu aktivierenden Dokuments.

------------------
Klaus

www.al-ko.com | mein Gästebuch | privat... | Nasenheim 

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

currie
Mitglied
Betriebsmittelkonstrukteur


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

Beiträge: 83
Registriert: 10.03.2005

WIN10 / SWX2020

erstellt am: 22. Feb. 2011 10:53    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

Ich hab's gewust dass ich den Weg zur API Hilfe bekomme.
Das ist mir klar dass alles in der API Hilfe steht.

Wenn man als Anfänger in die API Hilfe schaut ist das auch nicht sehr hilfreich.

Irgend wie fehlt mir der Einstieg.

Danke Nochmal an alle

Currie

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: 22. Feb. 2011 12:12    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 currie 10 Unities + Antwort hilfreich

Hallo Currie

dafür gibt es in der Online-Hilfe bei etlichen Methoden und Eigenschaften sehr oft Code Beispiele
für ActivateDoc z.B.:

Add Component and Mate (VBA)
Get Corresponding Note in Assembly (VBA)
Get Corresponding Note in Part (VBA)
Open Part From Assembly (VBA)
Add Smart Components (C#)
Add Smart Components (VB.NET)
Add Smart Components (VBA)

PS
Du musst dann halt ein wenig stöbern um das zu finden, was Du gerade brauchen kannst

------------------
Grüße
Heinz

[Diese Nachricht wurde von nahe am 22. Feb. 2011 editiert.]

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