Hallo,
ich bekomm bald ne Kriese, ich hab Folgendes Programm im Forum gefunden:
#####################################
Language="VBSCRIPT"
'------------------------------------------------------------------------
' Prozedur CATMain
'------------------------------------------------------------------------
' CATPart öffnen
' Selektion definieren
' Aktuelle Farbe auslesen
' Aktuelle Farbe ändern (in rot)
' ------------------------------------------------------------------------
Sub CATMain()
'------------------------------------------------------------------------
' CATPart öffnen
'------------------------------------------------------------------------
Dim documents1 As Documents
Set documents1 = CATIA.Documents
Dim partDocument1 As Document
Set partDocument1 = documents1.Open("D:\Student\T-Stueck.CATPart") 'Hier zu öffnedes File angeben
'------------------------------------------------------------------------
' Selektion definieren
'------------------------------------------------------------------------
Dim selection1 As Selection
Set selection1 = partDocument1.Selection
selection1.Search "((Name:* & Typ:*) & Farbe:*);Alle"
'------------------------------------------------------------------------
' Aktuelle Farbe auslesen und ausgeben
'------------------------------------------------------------------------
Dim visPropertySet1 As VisPropertySet
Set visPropertySet1 = selection1.VisProperties
visPropertySet1.GetRealColor a,b,c
msgbox a & " " & b & " " & c
'------------------------------------------------------------------------
' Aktuelle Farbe ändern (in rot)
'------------------------------------------------------------------------
visPropertySet1.SetRealColor 255,0,0,0
End Sub
#####################################
Ok, ich hab jetzt einige sachen dran geändert. Problem ist, wenn ich wirklich eine Part Datei erstelle und öffne, dann funktioniert das ganze.
Wenn ich jetzt aber aus einer Datenbank lade, die von den Eigenschaften her, keine Farbe zugewiesen haben, dann funktioniert es wiederum nicht. er Zeigt dann zwar als Ergebnis des Macros an, das er die Farbe gewechselt hätte, jedoch bleibt das teil auf "Farblos". bei einzelnen teilen hilft es, wenn man sie einfärbt, dann funktioniert es manchmal, aber auch nicht immer. wenn ich jetzt das ganze produkt einfärbe, dann macht der Macro jedes Bauteil wieder Farblos, zeigt aber wieder die richtige farbe an. also irgendwo ist der wurm drin.
Einzigste Änderungen die ich Vorgenommen hab, ist, das er nach bestimmtem Namen sucht, und selectiert (funktioniert) und das er das momentan geöffnete(ActiveDocument) verwendet(funktioniert auch)...
nur eben das färben funktioniert nicht. In der Hilfe ist mir dann noch diese GetColor und SetColor Sub aufgefallen, ich weiss allerdings nicht, wie ich die verwenden könnte, und ob sie mir etwas nutzten. im Grunde genommen geht es darum, einem Product zuerst eine gesammte Einklängige Farbe zu geben, z.B. Grau, und dann per Namen (aus einer Excel liste, bzw. Tab-Seperated TXT-File) bestimmte teile z.B. Rot zu färben. nur eben geht weder das eine noch das andere...
Wo ich bei Problem 2 ankomme, ich komme mit dem "GetFile" Befehl nicht zurecht, ich hab ihn verwendet, wie er normal auch funktionieren sollte:
#######################
Set CurrentFile = filesys.GetFile("<Pfad zur datei>")
#######################
wobei die deklarierung stimmen müsste, current file ist als File deklariert, filesys als FileSystem und per Set befehl mit "Catia.FileSystem" belegt, und der Pfad zur datei müsste auch stimmen.
Wär euch für eure Hilfe Sehr dankbar.
Schönen Gruß
Alex
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP