Autor
|
Thema: Farbeigenschaft auslesen (1251 mal gelesen)
|
Tiberius Mitglied
Beiträge: 414 Registriert: 19.02.2002 SWX 2013 SP2 (unter anderen) Windows 7 Prof. 64 Bit Intel Xeon E5-2643 NVIDIA Quadro 4000 32 GB Ram
|
erstellt am: 20. Sep. 2011 11:26 <-- editieren / zitieren --> Unities abgeben:
Hallo, wie ich die Farbeigenschaft von einem einzelnen Objekt auslese ist mir klar, das mache ich mit: set VisProp = CATIA.ActiveDocument.Selection.VisProperties VisProp.GetRealColor r, g, b wie siehts aber jetzt aus wenn ich z.B. mehrere Elemente habe und die unterschiedliche Farben besitzen? Mein versuch war: Code: For A = 1 to Selection.count Set SingleSel = Selection. Item(A).Value Set VisProp = SingleSel.visproperties VisProp.GetRealColor r, g, b 'Ausgabe Farbwerte Next
Hier meldet er dann die Meldung: Object doesn´t support this property or method.Wo ist hier der Fehler? Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 20. Sep. 2011 11:45 <-- editieren / zitieren --> Unities abgeben: Nur für Tiberius
Der Fehler ist vermutlich in der Zeile, die er Dir anzeigt. Wenn ich raten müsste und das muss ich ja: Set SingleSel = Selection. Item(A).Value Ich sehe ein Leerzeichen zu viel, dann würde ich Item2 verwenden und ich denke nicht das .Value korrekt ist. Des weiteren würde ich VisProp As Object deklarieren und mit einem vorangestellten Call aufrufen. ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tiberius Mitglied
Beiträge: 414 Registriert: 19.02.2002
|
erstellt am: 20. Sep. 2011 11:53 <-- editieren / zitieren --> Unities abgeben:
Also der Leerschritt ist ein Tippfehler der mir hier passiert ist, da ich da nicht mit Copy/Paste erledigt habe. Die Definitionen mit Dim hab ich weggelassen hier, sind aber im Code vorhanden. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 20. Sep. 2011 12:51 <-- editieren / zitieren --> Unities abgeben: Nur für Tiberius
Servus Wie schon Henry geschrieben darfst du nicht auf das Object (Value) sondern nur auf die Selection zugreifen: Set VisProp = Selection.Item2(A).visproperties VisProp.GetRealColor r, g, b Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tiberius Mitglied
Beiträge: 414 Registriert: 19.02.2002
|
erstellt am: 20. Sep. 2011 13:11 <-- editieren / zitieren --> Unities abgeben:
Hab die Zeile Code: Set VisProp = Selection.Item2(A).visproperties
exakt so übernommen es kommt jedoch immer noch die gleiche Fehlermeldung. Der Rest vom Makro ist korrekt, denn das läuft fehlerfrei. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 20. Sep. 2011 14:09 <-- editieren / zitieren --> Unities abgeben: Nur für Tiberius
Servus Versuch es mal so: Set VisProp = Selection.vispropertiesScheint so dass immer nur die ganze Selection angesprochen werden kann. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tiberius Mitglied
Beiträge: 414 Registriert: 19.02.2002
|
erstellt am: 20. Sep. 2011 14:38 <-- editieren / zitieren --> Unities abgeben:
Mit der ganzen funktionierte es ja von anfang an. Ich wollte aber die Elemente in einer Selektion einzeln abfragen. Wenn dann muß ich wohl nen anderen Weg gehen, außer es hat noch jemand ne Idee dazu. Aber trotzdem Danke!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 20. Sep. 2011 14:45 <-- editieren / zitieren --> Unities abgeben: Nur für Tiberius
Servus Dann musst du wohl die Selection zwischenspeichern (in einer Collection), die Objekte einzeln selektieren und die Farbe auslesen. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tiberius Mitglied
Beiträge: 414 Registriert: 19.02.2002
|
erstellt am: 20. Sep. 2011 16:04 <-- editieren / zitieren --> Unities abgeben:
|