| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Farbindex oder Truecolor? (2462 mal gelesen)
|
wwwilli Mitglied Ingenieur
Beiträge: 410 Registriert: 21.03.2006 ACAD MAP 3D 2012. VestraCAD. Win 7 64bit SP 1, FD 100 GB, Xeon 2,8 GHz, 12 GB.
|
erstellt am: 03. Mai. 2007 14:30 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich möchte für die Erstellung einer Standard-Layerliste die Layereigenschaften in eine Textdatei schreiben, bearbeiten und später wieder nach Wunsch in andere DWGs einlesen. Bei der Farbe hat AC etweder einen Wert wie "weiß", eine Zahl von 0-255 oder ein RGB-Tripel. Beim Abfragen der Farbe kann ich offenbar immer sowohl einen Farbindex als auch eine Truecolor bekommen.
Code: For Each lay In ThisDrawing.Layers intCol = lay.color intRed = lay.TrueColor.Red intGreen = lay.TrueColor.Green intBlue = lay.TrueColor.Blue Next lay
Ich würde aber gerne so auslesen und auch zurückschreiben wie es eingestellt ist: Wenn Farbindex, dann dieser und NICHT Truecolor. Wenn Truecolor, dann nicht Farbindex. Wie bekomme ich das? Die Hilfefunktionen verstehe ich leider nicht dazu. 8(MfG, wwwilli Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 ACAD 2008 Mechanical
|
erstellt am: 03. Mai. 2007 14:33 <-- editieren / zitieren --> Unities abgeben: Nur für wwwilli
werte doch die Property COLORMETHOD des TRUECOLOROBJECTES aus.. die würde ich als ersten Wert in deine Liste schreiben, damit erschlägt du "von Layer" und "von Block" auch gleich .. acColorMethodByACI acColorMethodByBlock acColorMethodByLayer acColorMethodByRGB ------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
Beiträge: 1357 Registriert: 24.07.2002
|
erstellt am: 03. Mai. 2007 15:22 <-- editieren / zitieren --> Unities abgeben: Nur für wwwilli
Hi wwwilli, Wobei hast du denn noch ein Problem?! Beim Ein- oder beim Auslesen der Layereigenschaften?! Hier noch ein Ansatz zum auslesen: Code: Public Sub abc() Dim object As AcadLayer For Each object In ThisDrawing.Layers If object.TrueColor.ColorMethod = acColorMethodByACI Then MsgBox "Layer " & object.Name & " nach ACI-Farben" _ & " Farbe: " & object.color ElseIf object.TrueColor.ColorMethod = acColorMethodByRGB Then If object.TrueColor.ColorName = "" Then MsgBox "Layer " & object.Name & " nach Truecolor-Farben" _ & vbCr & "Rot: " & object.TrueColor.Red _ & vbCr & "Grün: " & object.TrueColor.Green _ & vbCr & "Blau: " & object.TrueColor.Blue Else MsgBox "Layer " & object.Name & " nach Truecolor-Farben" _ & vbCr & "Farbname: " & object.TrueColor.ColorName _ & vbCr & "Farbbuch: " & object.TrueColor.BookName End If End If Next End Sub
Gruß, Carsten
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wwwilli Mitglied Ingenieur
Beiträge: 410 Registriert: 21.03.2006 ACAD MAP 3D 2012. VestraCAD. Win 7 64bit SP 1, FD 100 GB, Xeon 2,8 GHz, 12 GB.
|
erstellt am: 03. Mai. 2007 16:34 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 ACAD 2008 Mechanical
|
erstellt am: 03. Mai. 2007 16:35 <-- editieren / zitieren --> Unities abgeben: Nur für wwwilli
|
wwwilli Mitglied Ingenieur
Beiträge: 410 Registriert: 21.03.2006 ACAD MAP 3D 2012. VestraCAD. Win 7 64bit SP 1, FD 100 GB, Xeon 2,8 GHz, 12 GB.
|
erstellt am: 03. Mai. 2007 17:35 <-- editieren / zitieren --> Unities abgeben:
Hallo. @Carsten Jetzt gerade habe ich ein Problem, Werte aus farbbüchern wieder zurückzuschreiben. Da erwartet SetColorBookColor offenbar einen Dateinamen (.acb) als 2. Parameter, vorher wurde mit .bookname aber etwas anderes geliefert. Danke an Euch bis hierher. MfG, wwwilli
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
Beiträge: 1357 Registriert: 24.07.2002
|
erstellt am: 03. Mai. 2007 18:21 <-- editieren / zitieren --> Unities abgeben: Nur für wwwilli
Hi wwwilli, Probiers mal so: Code: Dim col As New AcadAcCmColor Call col.SetColorBookColor("RAL CLASSIC", "RAL 9006") object.TrueColor = col
Der Nutzen von Truecolor- und Farbbücherfarben hat sich mir persönlich allerdings noch nicht erschlossen. Mir reichen die ACI-Farben. Ist vielleicht Geschmackssache. Gruß, Carsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wwwilli Mitglied Ingenieur
Beiträge: 410 Registriert: 21.03.2006 ACAD MAP 3D 2012. VestraCAD. Win 7 64bit SP 1, FD 100 GB, Xeon 2,8 GHz, 12 GB.
|
erstellt am: 03. Mai. 2007 18:46 <-- editieren / zitieren --> Unities abgeben:
Hallo Carsten, ich arbeite auch nicht mit Farbbüchern, ich möchte nur, dass mein Makro nicht beim ersten Kollegen, der irgendwo eine solche Angabe hat, abstürzt. So wie Du es schreibst, ist es OK. In meiner "Hilfe" steht eindeutig: object.SetColorBookColor (ColorName, ColorBook)
Und damit geht es nicht, sondern mit umgekehrten Parametern. Und dann läuft es auch. Danke.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
Beiträge: 1357 Registriert: 24.07.2002
|
erstellt am: 03. Mai. 2007 18:50 <-- editieren / zitieren --> Unities abgeben: Nur für wwwilli
|
wwwilli Mitglied Ingenieur
Beiträge: 410 Registriert: 21.03.2006 ACAD MAP 3D 2012. VestraCAD. Win 7 64bit SP 1, FD 100 GB, Xeon 2,8 GHz, 12 GB.
|
erstellt am: 03. Mai. 2007 18:54 <-- editieren / zitieren --> Unities abgeben:
P.S. Ansonsten arbeite ich viel mit Truecolor-Farben beim Einfärben von Plänen. Da brauche ich Blassgrün, Blassblau, Zartrosa und so etwas. Dafür auch die hellsten ACI-Farben, die mir vorliegen, noch zu dunkel. MfG, wwwilli Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |