############################ EXPORT CRVs ############################
import rhinoscriptsyntax as rs
import sys
import csv
import ast  # Um Strings wieder in Listen umzuwandeln
sys.path.append("P:\\WWW\\mraontu\\dm2")
import DM_lib as dm
reload(dm)
############################
# Rhino Setup
rs.UnitSystem(4)                                        # km = 5, meters = 4, cm = 3 etc
rs.ShowGrid(None, 0)
rs.ShowGridAxes(None, 0)
rs.ViewDisplayMode(rs.CurrentView(), "shaded")
rs.DeleteObjects(rs.AllObjects())
rs.EnableRedraw(False)
############################
# Datei importieren
#file_path = "C:\\Users\\rothl\\dm2\\3DM\\OSM_obj_testfile.3dm"   
#rs.Command("-_Import \"" + file_path + "\" _Enter", echo=False)
############################
rs.Sleep(1000)  # Warte eine Sekunde
rs.Redraw()

def import_closed_curves(file_path="C:\\Users\\rothl\\dm2\\export_test\\test_kontur_curves.csv", layer_name="Imported_Curves"):
    if not rs.IsLayer(layer_name):
        rs.AddLayer(layer_name, [255, 0, 0])

    with open(file_path, "r") as f:
        reader = csv.reader(f)
        for row in reader:
            points = [ast.literal_eval(pt) for pt in row]  # String-Koordinaten in Listen umwandeln
            crv = rs.AddCurve(points, degree=1)  # Kurve mit Grad 3 erstellen (anpassbar)
            if crv:
                rs.CloseCurve(crv)  # Sicherstellen, dass die Kurve geschlossen ist
                rs.ObjectLayer(crv, layer_name)

    print("fin import {file_path}")

import_closed_curves("C:\\Users\\rothl\\dm2\\export_test\\test_kontur_curves.csv", "Test crv import")  # Datei importieren