# -*- coding: utf-8 -*-

# Frage den Benutzer nach dem Durchmesser des Bolzens in Millimetern
user_input = mw.input("Bolt diameter in mm?: ")

if user_input.lower() != 'stop':
    try:
        # Alle Knoten abrufen
        all_nodes = mw.all_nodes()

        # Sortiere die Knoten-IDs
        sorted_nodes = sorted(all_nodes)

        # Wähle die IDs der beiden letzten Knoten aus
        last_node1, last_node2 = sorted_nodes[-2:]

        # Erstelle ein Line2-Element, um die beiden Knoten zu verbinden
        element_nodes = [last_node1, last_node2]
        created_element_id = mw.new_element('line2', element_nodes)

        # Neue Komponente erstellen
        new_spider = mw.new_component(name="Bolt_M"+str(user_input))

        # Define Material für die neue Komponente
        if not mw.material("Bolt_M"+str(user_input)):
            mw.new_material(name="Material_Bolt_M"+str(user_input))
            mw.set_material_type("Material_Bolt_M"+str(user_input), "geometric", "CircularBar")
            mw.set_material_property("Material_Bolt_M"+str(user_input), "roundod", float(user_input)/1000)
            mw.set_material_type("Material_Bolt_M"+str(user_input), "mechanical", "Isotropic")
            mw.set_material_property("Material_Bolt_M"+str(user_input), "youngsmodulus", 210000000000.0)
            mw.set_material_property("Material_Bolt_M"+str(user_input), "poissonratio", 0.30)
            mw.set_material_type("Material_Bolt_M"+str(user_input), "density", "simple")
            mw.set_material_property("Material_Bolt_M"+str(user_input), "density", 7850.0)

        # Material der neuen Komponente zuweisen
        mw.set_material(new_spider, "Material_Bolt_M"+str(user_input))

        # Das neue Line2-Element der Komponente zuweisen
        mw.set_element_component(created_element_id, "Bolt_M"+str(user_input))
		
        # Lösche die Komponente 'xxx(2)'
        mw.delete_component("Bolt_M"+str(user_input)+"(2)")

    except ValueError:
        mw.message("Invalid input. Please enter a valid value.")
else:
    mw.message("User chose to stop the application.")
