# # -*- coding: utf-8 -*-

############################################################

import sys

while True:
    # Erstelle die Komponente 'Bolted_Connection'
    bolted_component = mw.new_component('Bolted_Connection')

    # Liste von ausgewählten Knoten
    selected_nodes = mw.selected_nodes()

    # Positionen aller ausgewählten Knoten
    selected_nodes_positions = [mw.node(node_id) for node_id in selected_nodes]

    # Berechne den Mittelpunkt als Durchschnitt der Positionen aller ausgewählten Knoten
    sum_x = sum(node_position.x for node_position in selected_nodes_positions)
    sum_y = sum(node_position.y for node_position in selected_nodes_positions)
    sum_z = sum(node_position.z for node_position in selected_nodes_positions)

    # Mittelpunkt berechnen
    new_node_position = Vector(
        sum_x / len(selected_nodes),
        sum_y / len(selected_nodes),
        sum_z / len(selected_nodes)
    )

    # Erzeuge den neuen Knoten
    new_node_id = mw.new_node(new_node_position)

    # Verbinde jeden ausgewählten Knoten mit dem mittigen Knoten mit line2-Elementen
    for node_id in selected_nodes:
        element_nodes = [node_id, new_node_id]
        created_element_id = mw.new_element('line2', element_nodes)
        mw.set_element_component(created_element_id, 'Bolted_Connection')

    # Frage den Benutzer, ob er weitere Knoten auswählen möchte
    user_input = mw.input("Would you like to pick other nodes? (yes/no): ")
    if user_input.lower().startswith('n'):
        mw.message("User chose to stop the application.")
        break  # Beendet die Schleife und das Skript
    else:
        mw.message("Choose cloud of nodes again and afterwards press Enter!")
