Morgen miteinander,
Zitat:
Tja, wichtige Info, die gefehlt hat.
Mein Fehler, hab mir erst gedacht, dass die Dokumenteneigenschaften vererbt werden und erst auf Deinen ersten Tip hin bemerkt, dass das zwei verschiedene Paar Schuhe sind...
Zitat:
- ist >swModel< das richtige Objekt das Du haben willst?
Ich denke mal, da ist der Fehler. Wenn ich das debugge, dann wird mir das richtige Bauteil angezeigt, aber irgendwie ist es nicht geladen (--> Anfänger <--)?
Die Funktion sollte eigentlich sein, dass das Makro die BG nach Teilen oder UBG mit bestimmten Eigenschaften durchforstet und diese selektiert und damit weitere Aktionen durchführt. Am besten aber im Hintergrund, da das bei BG's mit 7000 Teilen sonst etwas zu langsam wird; sprich ich möchte nicht am Bildschirm mitverfolgen was passiert, sondern nur das Resultat sehen.
Anbei der komplette Code. 99% das Traverse Assembly Beispiel und der fehlerhafte Rest von mir
Gruess, Daniel
----------------------------
Option Explicit
Dim swApp As Object
Dim swModel As Object
Dim swConf As Object
Dim swRootComp As Object
Sub TraverseComponent(swComp As Object, nLevel As Long)
Dim vChildComp As Variant
Dim swChildComp As Object
Dim swCompConfig As Object
Dim sPadStr As String
Dim i As Long
Dim retval As String
Dim bRet As Boolean
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
Debug.Print sPadStr & swChildComp.Name2 & " <" & swChildComp.ReferencedConfiguration & ">"
'retval = swModel.CustomInfo2(swChildComp.Name2, "Eigenschaft")
Debug.Print swChildComp.ReferencedConfiguration
retval = swModel.CustomInfo2("", "Eigenschaft")
If retval = "yes" Then
bRet = swComp.Select(True)
End If
Next i
End Sub
Private Sub Command1_Click()
Set swApp = CreateObject("SldWorks.Application")
Set swModel = swApp.ActiveDoc
Set swConf = swModel.GetActiveConfiguration
Set swRootComp = swConf.GetRootComponent
Debug.Print "File = " & swModel.GetPathName
TraverseComponent swRootComp, 1
End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP