@Klaus Greim
danke für den quellcode
habe ihn aber bis jetzt nur kurz überflogen.
den ablauf im makro habe ich mir grob so vorgestellt:
1.manuelles öffnen der obersten baugruppe!
2.makro: ist zeichnung mit gleicher benennung vorhanden? wenn ja öffnen
3.makro: parts und unterbaugruppen auslesen, in liste eintragen und in SW öffnen
4.makro: sind zeichnungen mit gleicher benennung vorhanden? wenn ja öffnen (in schleife mit parts.. auslesen)
5.in liste anwählen was alles umbenennt/indexiert werden soll
(bei diesem schritt schon jeweils einzeln neue nummern lösen)
6.starten
7.makro: anhand liste saveAs von den markierten elementen inkl. zeichnung erstellen
8.makro: statusmeldung
hier mein code-schnippsel auf dem ich wohl aufbauen werde:
Dim swApp As Object
Global text
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swAssy As SldWorks.AssemblyDoc
Dim swConf As SldWorks.configuration
Dim swRootComp As SldWorks.Component2
Dim bRet As Boolean
Set swApp = CreateObject("SldWorks.Application")
Set swModel = swApp.ActiveDoc
Set swConf = swModel.GetActiveConfiguration
Set swRootComp = swConf.GetRootComponent
MsgBox "File = " & swModel.GetPathName
text = "start" & vbCrLf
TraverseComponent swRootComp, 1
If text <> "" Then MsgBox text
End Sub
Sub TraverseComponent(swComp As SldWorks.Component2, nLevel As Long)
Dim vChildComp As Variant
Dim swChildComp As SldWorks.Component2
Dim swCompConfig As SldWorks.configuration
Dim sPadStr As String
Dim i As Long
For i = 0 To nLevel - 1
sPadStr = sPadStr + "."
Next i
vChildComp = swComp.GetChildren
For i = 0 To UBound(vChildComp)
Set swChildComp = vChildComp(i)
TraverseComponent swChildComp, nLevel + 1
text = text & vbCrLf & sPadStr & swChildComp.Name2 & " <" & swChildComp.ReferencedConfiguration & ">"
Next i
End Sub
------------------
----------
encom GmbH
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP