Ankündigung

Einklappen
Keine Ankündigung bisher.

Zugriff auf die 3dVew-Color Daten

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Zugriff auf die 3dVew-Color Daten

    Ich würde gerne diese Datenfelder in das N-Panel vom 3D-View einbauen. Ist das möglich? Ich komme mit meinen Fähigkeiten (Die nicht so hoch sind) nicht an die Daten rann.

    Klicke auf die Grafik für eine vergrößerte Ansicht  Name: screenshot_20180913_190849.png Ansichten: 1 Größe: 54,5 KB ID: 18953
    Zuletzt geändert von FilmZeichner; 13.09.2018, 18:22.
    Mein aktuelles Filmprojekt Weihnachtswichtel

  • #2
    Kann das sein das die Felder hard gecodet sind? Heißt das so? Dann geht das wohl nicht über einen Pythonbefehl an zu steuern? Ich mache dann eine andere Lösung.
    Mein aktuelles Filmprojekt Weihnachtswichtel

    Kommentar


    • #3
      Doch, das muss gehen. Die werden in der space_userpref.py definiert und lassen sich über Python ansprechen. Vermutlich lassen die sich ganz einfach in das N-Panel implementieren. In der Source steht zwar "# add hard coded delimiters" aber das bedeutet nicht, dass man das nicht per Python ändern bzw. ansprechen kann.

      In der Version 2.78b nennen sich die beiden ThemegradientColors.gradient und ThemegradientColors.high_gradient. Die lassen sich z.B. über bpy.context.user_preferences.themes[0].view_3d.space.gradients.gradient = Color((.9,.9,.9)) oder bpy.context.user_preferences.themes[0].view_3d.space.gradients.high_gradient = Color((.9,.9,.9)) auch in der 2.8 ändern.

      EDIT: Habe dir ein kleines Script erstellt mit dem es funktioniert. Script ausführen. Das Panel ist dann ganz unten.

      Code:
      import bpy
      from bpy.types import Panel
      from bpy.utils import register_class
      
      class VIEW3D_PT_view3d_tp_colors(Panel):
          bl_space_type = 'VIEW_3D'
          bl_region_type = 'UI'
          bl_label = "Theme Panel Color"
      
          def draw(self, context):
              layout = self.layout
      
              grad = bpy.context.user_preferences.themes[0].view_3d.space.gradients
      
              row = layout.row()
              self.layout.prop(grad, "show_grad", text="Use Gradient")
      
              row = layout.row()
              row.prop(grad, "gradient", text="Gradient Low")
      
              row = layout.row()
              row.prop(grad, "high_gradient", text="Gradient High/Off")
      
              theme_generic_recurse(themedata)
      
      register_class(VIEW3D_PT_view3d_tp_colors)
      Akt. Wettbewerb: Erfindergeist. Mein Blog: Downtown Blendpolis.

      Kommentar


      • #4
        Ich danke dir fett
        Jetzt will dann noch gucken wie ich das in mein Piemenueditor rein bekomme, und wie ich Presets speichern kann.
        Mein aktuelles Filmprojekt Weihnachtswichtel

        Kommentar

        Lädt...
        X