Autor
|
Thema: Farbe Ändern (1848 mal gelesen)
|
HolgerBrehm Mitglied Dipl.Ing.(FH) Maschinenbau
Beiträge: 6 Registriert: 20.11.2003
|
erstellt am: 20. Nov. 2003 17:27 <-- editieren / zitieren --> Unities abgeben:
Hallo, wer bitte kann mir sagen wie ich innerhalb eines Scriptes die Farbe eines Objekts was ich auch innerhalb des selben Scriptes erzeugt habe ändern kann. Set visPropertySet1 = selection1.VisProperties visPropertySet1.SetRealColor 255,204,153,0 Diese Geschichte funktioniert leider nicht, da ich ja keine Selektion habe. Schon mal Danke Holger
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gdir Mitglied
Beiträge: 157 Registriert: 25.06.2003
|
erstellt am: 20. Nov. 2003 18:21 <-- editieren / zitieren --> Unities abgeben: Nur für HolgerBrehm
Doch genau so funktioniert das. Du kannst Dein einzufärbendes Objekt im Skript selektieren (Selection.Add) und dann einfärben. Ich habe mir eine Subroutine dafür geschrieben: ' Sub ChangeColor ' ' Changes the the color of an element ' ' Variables: ' iSelection: The selection ' iAnyObject: The object to modify ' ' '******************************************************************** Sub ChangeColor (iSelection As Selection, iAnyObject As AnyObject, _ iColorRed As Long, iColorGreen As Long, iColorBlue As Long) Dim lSelectionVisProp As VisPropertySet 'Clear the selection iSelection.Clear 'Add the element to the selection iSelection.Add iAnyObject 'Access the objects VisProperties set Set lSelectionVisProp = iSelection.VisProperties 'Set the color lSelectionVisProp.SetRealColor iColorRed, iColorGreen, iColorBlue, 0 'Finally clear the selection iSelection.Clear End Sub Viele Grüße Günther Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gdir Mitglied
Beiträge: 157 Registriert: 25.06.2003
|
erstellt am: 20. Nov. 2003 18:29 <-- editieren / zitieren --> Unities abgeben: Nur für HolgerBrehm
|
HolgerBrehm Mitglied Dipl.Ing.(FH) Maschinenbau
Beiträge: 6 Registriert: 20.11.2003
|
erstellt am: 21. Nov. 2003 08:29 <-- editieren / zitieren --> Unities abgeben:
|
Stoffel Mitglied Student
Beiträge: 322 Registriert: 09.10.2002 R6/V2010
|
erstellt am: 21. Nov. 2003 15:57 <-- editieren / zitieren --> Unities abgeben: Nur für HolgerBrehm
|
windrebel Mitglied Dipl.Ing.
Beiträge: 16 Registriert: 07.02.2007
|
erstellt am: 01. Mrz. 2007 11:12 <-- editieren / zitieren --> Unities abgeben: Nur für HolgerBrehm
Hallo zusammen, ich muß das alte Thema nochmal aufwärmen! Kann mir jemand sagen, wo der Fehler ist??? Das Program läuft problemlos durch, die selection hab ich auch überprüft im Überwachungsfenster: paßt auch! Eingefärbt wird aber nichts!!! Ich habe ein ähnliches Script, dass mir nur Bodies einfärbt und das funzt bestens! Aktuell darf ich aber die nativen Daten nicht ändern und muß einen anderen Weg finden!!! Sub colour() Dim myproduct As Product Dim i As Integer Dim myselection As Selection Dim mycolor As VisPropertySet Dim rgb_rot As Long Dim rgb_gelb As Long Dim rgb_blau As Long Dim myPath As String Set myproduct = oCATIA.ActiveDocument.Product Set oproducts = myproduct.Products For i = 1 To oproducts.Count oproducts.Item(i).Update rgb_rot = Int(Rnd * 256) rgb_blau = Int(Rnd * 256) rgb_gelb = Int(Rnd * 256) Set myselection = oCATIA.ActiveDocument.Selection myselection.Clear myselection.Add oproducts.Item(i).ReferenceProduct.ReferenceProduct.Parent.Product Set mycolor = myselection.VisProperties mycolor.SetRealColor rgb_rot, rgb_gelb, rgb_blau, 0 myselection.Clear opoducts.Item(i).Update Next i End Sub gruß
windrebel
[Diese Nachricht wurde von windrebel am 01. Mrz. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 01. Mrz. 2007 21:46 <-- editieren / zitieren --> Unities abgeben: Nur für HolgerBrehm
Hallo windrebel, ich tippe mal, Deine Zeile muss wie folgt lauten: Code: mycolor.SetRealColor rgb_rot, rgb_gelb, rgb_blau, 1
oder so:
Code: mycolor.SetVisibleColor rgb_rot, rgb_gelb, rgb_blau, 1
mfg, Lusilnie
------------------
Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!! frei nach größeren Geistern Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
windrebel Mitglied Dipl.Ing.
Beiträge: 16 Registriert: 07.02.2007
|
erstellt am: 02. Mrz. 2007 09:00 <-- editieren / zitieren --> Unities abgeben: Nur für HolgerBrehm
Hallo Lusilnie, das hat schon mal geholfen, das eine farbliche Änderung für die Selection in "graphic properties" vorgenommen wird, aber das Problem ist die tatsächlich die Selection! Ich bekomme zwar das richtige Dokument in meinem Überwachungsfenster als Selection angezeigt, aber selektiert ist in CATIA trotzdem garnichts! Selktiere ich manuell funktioniert die Einfärbung problemlos! Was muß ich an meiner Selection ändern??? Gruß windrebel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAMiCADse Mitglied
Beiträge: 177 Registriert: 17.02.2006 V5,R19,SP9
|
erstellt am: 02. Mrz. 2007 14:13 <-- editieren / zitieren --> Unities abgeben: Nur für HolgerBrehm
Hallo rebel, warum machst du es nicht einfach so:
Code: myselection.Add oproducts.Item(i)
...oder willst du alle Instanzen eines Bauteils in der gleichen Farbe darstellen? ...oder verstehe ich da was nicht? Gruß CAMiCADse Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |