| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: AutoCAD Farbpalette (1841 mal gelesen)
|
Dirk.B Mitglied Tischler / Leiter Arbeitsvorbereitung
Beiträge: 534 Registriert: 25.11.2003
|
erstellt am: 05. Jan. 2005 13:31 <-- editieren / zitieren --> Unities abgeben:
Hallo Zusammen! Wie kann man mittels VBA aus der AutoCAD-Farbpalette eine ausgewähle Farbe einem Objet zu weisen. Die Farbpalette öffne ich über: ThisDrawing.SendCommand "_color" & vbCr Ich habs mal so probiert, aber so geht es nicht. Sub Beispiel_Farbpalette() Dim col As New AcadAcCmColor ThisDrawing.SendCommand "_color" & vbCr Dim line As AcadLine Dim startPoint(0 To 2) As Double Dim endPoint(0 To 2) As Double startPoint(0) = 1#: startPoint(1) = 1#: startPoint(2) = 0# endPoint(0) = 5#: endPoint(1) = 5#: endPoint(2) = 0# Set line = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint) ZoomAll line.TrueColor = ???????????????? End Sub Vielen Dank im voraus. Gruß Dirk
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 05. Jan. 2005 14:42 <-- editieren / zitieren --> Unities abgeben: Nur für Dirk.B
Keine Ahnung, wie man die RGB-Werte aus dem Farbdialog rüberbeamt, 'ne Krücke wär eine eigene Userform mit nem Bildchen und drei Scrollbars. Naja zugegeben, ist natürlich nicht so hübsch wie der Standarddialog ;-) Gruss Nancy -- Code:
Private Sub UserForm_Initialize() ScrollBarR.Max = 255 ScrollBarG.Max = 255 ScrollBarB.Max = 255 End SubPrivate Sub ScrollBarR_Change() call farbe End Sub Private Sub ScrollBarG_Change() call farbe End Sub Private Sub ScrollBarB_Change() call farbe End Sub sub farbe() Image1.BackColor = RGB(ScrollBarR.Value, ScrollBarG.Value, ScrollBarB.Value) userform1.Caption = "R: " & ScrollBarR.Value & _ " G: " & ScrollBarG.Value & " B: " & ScrollBarB.Value end sub
[Diese Nachricht wurde von startrek am 05. Jan. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dirk.B Mitglied Tischler / Leiter Arbeitsvorbereitung
Beiträge: 534 Registriert: 25.11.2003
|
erstellt am: 06. Jan. 2005 12:49 <-- editieren / zitieren --> Unities abgeben:
Hallo Nancy! Mit dem "ThisDrawing.SendCommand "_color" & vbCr" komme ich erst einmal klar, da ich damit bevor das Objekt gezeichnet wird die Farbe für die Zeichnung festlege. Sub cmd_click() me.hide ThisDrawing.SendCommand "_color" & vbCr me.show End Sub Danach wird die ausgewählte Farbe ja in der Farbanzeige der Eigenschaftstoolbar übernommen und aktuell gesetzt. Könnte man denn diesen Farbindex nicht in eine Variable übernehmen, um damit weiter arbeiten zu können? Vielen Dank im voraus. Gruß Dirk
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 06. Jan. 2005 14:08 <-- editieren / zitieren --> Unities abgeben: Nur für Dirk.B
F1 auf TrueColor bringt sowas: Code:
Sub Example_TrueColor() [...] Set line = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint) Dim retcolor As AcadAcCmColor Set retcolor = line.TrueColor MsgBox "Red = " & retcolor.Red MsgBox "Green = " & retcolor.Green MsgBox "Blue = " & retcolor.Blue End Sub
Gruss Nancy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |