Hallo Forum,
ich versuche zur Zeit meine Bauteilfarben in der Zeichnungsableitung *.idw zu ändern. (In der *.iam bekommme ich es hin)
Dazu habe ich folgendes versucht zu übernehmen:
Public Sub sFarbe()
Dim sFarbe As String
Dim oAssemDoc As AssemblyDocument
Set oAssemDoc = ThisApplication.ActiveDocument
'sFarbe = "Rot"
'sFarbe = "Gelb"
'sFarbe = "Blau"
sFarbe = "Schwarz"
SetRenderStyle oAssemDoc.ComponentDefinition.Occurrences, "Teil-A:1", oAssemDoc.RenderStyles.Item(sFarbe)
SetRenderStyle oAssemDoc.ComponentDefinition.Occurrences, "Teil-B:1", oAssemDoc.RenderStyles.Item(sFarbe)
SetRenderStyle oAssemDoc.ComponentDefinition.Occurrences, "Teil-C:1", oAssemDoc.RenderStyles.Item(sFarbe)
End Sub ' sFarbe
Private Sub SetRenderStyle(Occurrences As ComponentOccurrences, _
SearchName As String, curRenderStyle As RenderStyle)
' Iterate through each of the occurrences in the collection provided.
Dim oOccurrence As ComponentOccurrence
For Each oOccurrence In Occurrences
' Check to see if the occurrence name matches the search name.
' The strings are converted to upper case to remove context sensitivity.
If UCase(oOccurrence.Name) Like UCase(SearchName) Then
' Check to see if the visibility is different than the specified visiblity.
'If oOccurrence.RenderStyle.Name <> curRenderStyle.Name Then
' Set the visibility of the occurrence.
oOccurrence.RenderStyle = curRenderStyle
'End If
Exit Sub
End If
' If this occurrence is a subassembly, recursively call this
' function to traverse through the subassembly.
If oOccurrence.DefinitionDocumentType = kAssemblyDocumentObject Then
Call SetRenderStyle(oOccurrence.SubOccurrences, SearchName, curRenderStyle)
End If
Next
End Sub ' SetRenderStyle
Es scheitert wohl am AssemblyDocument, da die Zeichnungsableitung ein Drawing ist, leider bekomme ich es auf DrawingDocument nicht umgestrickt.
Gruß und Dank!
Arne
[Diese Nachricht wurde von Arne am 29. Nov. 2004 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP