Objekte benennen

Später soll die Farbe der Objekte geändert werden, deshalb ist es eine gute Idee, eindeutige Namen zu verwenden. Im ersten Schritt ersetzen wir die Hashmarken durch eindeutige Namen.

Aufgaben/Handlungsanweisungen

  • Setze im Script create_clock.py die neue Liste ein.
  • Ergänze die folgenden Zeilen in der nun schon vierten Version der create-Funktion.
  • Tausche im clock_ctrl.py auch die Funktionsnummer wieder aus.
1
2
3
4
5
6
7
8
9

clocknames = [["seconds"],
              ["hour_01", "hour_02", "hour_03", "hour_04"],
              ["hour_05", "hour_06", "hour_07", "hour_08"],
              ["minute_01", "minute_02", "minute_03", "minute_04"] +
              ["minute_05", "minute_06", "minute_07", "minute_08"] +
              ["minute_09", "minute_10", "minute_11"],
              ["minute_12", "minute_13", "minute_14", "minute_15"]]

Nun können wir, nachdem das Objekt erstellt worden ist, auch den Namen an das Objekt vergeben.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
     - names for all clock elements
     - smaller sizes for the minute elements
     - define the space between clock elements
     - create all parts of a clock

    """
    rows = len(parts)
    distances = [9.5, 3.75, 3.75, 1.6, 3.75]

    for row in range(rows):
        cols = len(parts[row])
        for col in range(cols):
            distance = distances[row]
            x = row * 3
            y = col * distance + distance
            obj = bpy.ops.mesh.primitive_cube_add(location=(x, y, 0))

            if row == 3:
                bpy.ops.transform.resize(value=(0.5, 0.5, 0.5))

            obj = bpy.context.object
            obj.name = parts[row][col]
            print(obj.name)


def create_v5(parts):
    """ Create and compose a berlin-clock

Wo kann ich die Änderungen sehen? In der rechten oberen Ecke findet man den Outliner der alle Objekte einer Szene auflistet und auch die Namen anzeigt (eventuell muss Collection 1 aufgeklappt werden, das ist ein neuer Container-Typ in Blender 2.8). Wenn ein Objekt ausgewählt worden ist, erscheint der Name auch neben der Koordinaten-Anzeige.

../../../_images/berlin-clock-namen.png