Hallo Rabbit 007,
ich hab da was geschrieben das schreibt in ein bestimmtes Attribut automatisch die Raumnummer.
Du brauchst dazu Raumpolygone (geschlossene Polylinien)
Die Polylinien kannst du z.B. mit Umgrenzung erstellen. Geht für einen durchschnittlichen Grundriss eigentlich recht schnell (ein par Minuten).
Die Raumnummern liegen entweder als Text oder als Attribut vor.
Also in einer Schleife alle Raumpolygone abklappern, zur Polyinie zoomen, mit sssetfirst Polylinie markieren lassen damit man sieht welche gemeint ist, mit nentsel Raumnummer wählen und die Raumnummer z.B. als EED an eine Polylinie hängen.
Ein Punkt liegt innerhalb einer Umgrenzung wenn ein Strahl von diesem Punkt in beliebiger Richtung diese Umgrenzung mit einer ungeraden Zahl von Schnittpunkten schneidet.
Alle Blöcke in einer Schleife abarbeiten.
Dabei z.B. Basispunkt von Block oder geometrischen Mittelpunkt ermitteln und Schnittpunkte zu den Raumpolygonen finden. Das Polygon mit einer ungeraden Anzahl ist es. Raumnummer auslesen und in Attribut schreiben.
Geht überraschend gut und schnell aber:
Du mußt aufpassen wenn der Startpunkt des Strahls genau auf der Polylinie liegt, dann gibts keinen Schnittpunkt sondern nur einen Berührungspunkt. Das sollte man natürlich berücksichtigen.
Gruß
Andreas
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP