Hi Dirk,
wenn die mittlere Kurve eine Spline ist, dann kannst Du auch schon über einen Algorythmus nachdenken, der Spline in Polylinie umbaut, sonst geht's mit 'Ziel = Polylinie' leider nicht.
Wenn Du das Produkt Map3D (oder auch Civil3D) zur Verfügung hast, dann ist dort alles fertig, das nennt sich Bereinigung.
Und der Signatur nach, also ohne Map, hast Du eine schöne Arbeit vor Dir, denn eigentlich versuchst Du etwas, was GIS-Leute immer wieder brauchen und überall mal da mal dort hängt, i.d.R. wegen Ungenauigkeiten in der Zeichnung wie z.B. (Poly-)Linien enden nicht so, dass sie mathematisch genau passen, (Poly-)Linien sind an Kreuzungen nicht gebrochen, doppelte Elemente übereinander (ganz oder teilweise überlagernd), mathematische Genauigkeit für die Berechnung von Schnittpunkten bei tangential treffenden Bögen/Kreisen, .....
Ich möchte Dich keinesfalls entmutigen, aber ich möchte auch nicht verabsäumen, Dich gewarnt zu haben, der Start mit einfachem Beispiel ist halbwegs schnell erledigt, dann kommen die Real-Beispiele.
Auch Autodesk bringt's nicht immer hin, denk mal dran, wie oft das automatische Finden einer Grenze für die Schraffur eine Fehlermeldung bringt (oder bei Befehl '_bpoly'/'gpoly'), auch wenn mich das selbst ärgert, aber ein klein wenig verstehe ich es auch.
Und last but not least. Eine Variante, die möglich wäre:
a) zuerst mal obige Bereinigung (mit Toleranzen)
b) beginnend an einem beiliebigen Punkt in beliebiger Richtung eine Linienverfolgung aufbauen, immer rechts herum, bis die Polylinie geschlossen ist, die verwendeten Teilelemente (aus denen diese Polylinie entstanden ist) markieren mit '1*verwendet', dann an gleichem Punkt wie zuvor ==> links herum Linienverfolgung. Jedes Element den Zähler 'verwendet' hinaufzählen.
c) Teilelemente, deren Einstellung 'verwendet' auf 2 steht, können von zukünftiger Auswahl entfernt werden, denn eine Flächengrenze kann nur einen linken von einem rechten Nachbarn trennen, also 'ZWEI * VERWENDET' bedeutet, dass diese nicht mehr berücksichtigt werden muss.
d) solange es noch Element gibt, die '<2 * verwendet' sind ==> start bei b)
Hoffe es hilft mehr als es abschreckt, - alfred -
------------------
www.hollaus.at