Programmiersprache – die besten Beiträge

Wo ist der Fehler in meinem Python-Skript für Blender?

import bpy

# Funktion zum Erstellen eines Materials
def create_material(name, base_color):
  material = bpy.data.materials.new(name=name)
  material.use_nodes = True
  material.node_tree.nodes["Principled BSDF"].inputs["Base Color"].default_value = base_color
  return material

# Funktion zum Erstellen eines Rechtecks
def create_rectangle(name, location, scale, material):
  bpy.ops.mesh.primitive_cube_add(size=1, location=location)
  rectangle = bpy.context.active_object
  rectangle.name = name
  rectangle.scale = scale
  rectangle.data.materials.append(material)
  return rectangle

# Szene zurücksetzen
bpy.ops.wm.read_factory_settings(use_empty=True)

# Farben für die verschiedenen Seiten der Handyhülle
case_colors = [
  (1.0, 0.8, 0.6, 1.0), # Vorderseite (Beispiel: hellbraun)
  (0.8, 0.8, 0.8, 1.0), # Rückseite (Beispiel: hellgrau)
  (0.0, 0.0, 0.0, 1.0), # Seiten (Beispiel: schwarz)
]

# Farben für Graphen und PCM
graphene_color = (0.0, 1.0, 0.0, 1.0) # Grün
pcm_color = (0.0, 0.0, 1.0, 1.0) # Blau
epoxy_color = (1.0, 1.0, 1.0, 1.0) # Weiß für Epoxidharz

# Länge, Breite und Dicke der Handyhülle
length = 0.15
width = 0.07
thickness = 0.02

# Ursprungskoordinaten
origin = (0, 0, 0)

# Material für Graphen erstellen
graphene_material = create_material("Graphene_Material", graphene_color)

# Material für PCM erstellen
pcm_material = create_material("PCM_Material", pcm_color)

# Material für Epoxidharz erstellen
epoxy_material = create_material("Epoxy_Material", epoxy_color)

# Schleife zum Erstellen der Seiten der Handyhülle mit verschiedenen Farben
for i, color in enumerate(case_colors):
  # Material für die Handyhülle erstellen und zuweisen
  case_material = create_material(f"Case_Material_{i}", color)
  # Handyhüllen-Rechteck erstellen
  create_rectangle(f"HandyHuelle_{i}", origin, (length if i == 0 else width, width if i == 0 else thickness, thickness if i == 0 else width), case_material)

# Graphen in der Mitte platzieren
create_rectangle("Graphene", (origin[0] + length / 2, origin[1] + width / 2, origin[2] + thickness / 2), (width,), graphene_material)

# PCM auf der Innenseite platzieren mit Epoxidharz-Beschichtung
pcm_rectangle = create_rectangle("PCM", (origin[0] + length / 2, origin[1] + width / 2, origin[2] + thickness / 2), (width,), pcm_material)

# Material der Epoxidharz-Beschichtung zuweisen
epoxy_material_node = pcm_material.node_tree.nodes.new(type='ShaderNodeBsdfPrincipled')
epoxy_material_node.location = (-300, 0) # Position des Materialknotens für Epoxidharz
epoxy_material_node.material = bpy.data.materials.get("Epoxy_Material")

# Material der Epoxidharz-Beschichtung verbinden
pcm_material.node_tree.links.new(pcm_material.node_tree.nodes["Material Output"].inputs['Surface'], epoxy_material_node.outputs['BSDF'])

Mir fällt da an sich kein Fehler auf, aber Blender meint:

Python: Traceback (most recent call last):
  File "\Text", line 57, in <module>
  File "\Text", line 13, in create_rectangle
  AttributeError: 'Context' object has no attribute 'active_object'

Hilfe. :D

MfG aus der Nachbarschaft.

Blender 3D, Code, Programmiersprache, Python

Raspberry PI Flask-404 Not Found?

Hallo!

Ich habe das programmiert. Es wird jede Sekunde die Temperatur von der CPU ausgelesen. Jetzt möchte ich Flask einbauen, damit ich mit mehreren PC's darauf zugreifen kann. Aber es funktioniert nicht. Warum?

from flask import Flask, jsonify
import subprocess
import time
import os
from colorama import Fore, Style

app = Flask(__name__)

@app.route("/temp")
def get_cpu_temperature():
  try:
    result = subprocess.run(['vcgencmd', 'measure_temp'], capture_output=True, text=True, check=True)
    temperature_str = result.stdout.strip()
    temperature = float(temperature_str[5:-2]) # Extrahiere die Temperatur aus dem String
    return temperature
  except subprocess.CalledProcessError as e:
    print(f"Fehler beim Ausführen des Befehls: {e}")
    return None

def print_colored_temperature(temperature):
  if temperature is not None:
    if temperature > 49.9:
      print(f"{Fore.RED}Temperatur: {temperature}°C{Style.RESET_ALL}")
    else:
      print(f"Temperatur: {temperature}°C")
  else:
    print("Fehler beim Lesen der CPU-Temperatur.")

def main():
  try:
    while True:
      temperature = get_cpu_temperature()
      print_colored_temperature(temperature)
      time.sleep(1)
      os.system('clear')
  except KeyboardInterrupt:
    print("Programm wurde durch den Benutzer unterbrochen.")
  except Exception as e:
    print(f"Ein Fehler ist aufgetreten: {e}")
     
     


if __name__ == '__main__':
  app.run(host="0.0.0.0")

if __name__ == '__main__':
  main()
  import sys
  sys.exit(main(sys.argv))  
HTML, Code, Programmiersprache, Python, Python 3, Pycharm, Discord, Flask, Discord Bot, ChatGPT

Meistgelesene Beiträge zum Thema Programmiersprache