|
Autor
|
Thema: parallele Kopie von 3-D-Poygonen
|
M. Schneider Mitglied Beiträge: 515 Registriert: Aug 2002
|
erstellt am 18. November 2002 um 11:01 Uhr
Guten Tag, ich habe ein 3-D-Polygon erzeugt und möchte dieses parallel verschieben. Ich erhalte nun die Meldung: Objekt bildet keine Ebene. Es müsste doch möglich sein, ein solches Polygon in gleicher Höhenlage zu verschieben.Notgedrungener Ausweg: Alle Höhen auf null setzen. Dies wiederum ist unter „Objekteigenschaften ändern“ nicht möglich, da die Z-Koordinaten der einzelnen Stützpunkte des Polygons nicht zur Bearbeitung angeboten werden. Ich müsste also das Polygon zunächst zerlegen, um die Höhen auf null zu setzen. Ich kann natürlich ein Polygon im ADKS direkt auf null erzeugen, möchte aber z.B. bei der Erzeugung eines Bordsteines, von dem nur die obere hintere Kante aufgemessen wurde, die anderen Kanten mit möglichst geringem Aufwand erzeugen – also: parallele Kopie des Polygons incl. Höheninformation und anschließende gleichmäßige Korrektur der Z-Koordinaten. Ich bitte um einen Lösungsvorschlag. Mit freundlichen Grüßen Mario Schneider
IP: gespeichert |
Klaus Herrmann Mitglied Beiträge: 1165 Registriert: Aug 2002
|
erstellt am 18. November 2002 um 12:14 Uhr
Ja, ich denke auch, dass so etwas besonders für 3D-Modellierung schnell konstruierbar sein muß. Aus einem anderen Programm (PanTerra - uralt, aber top Logik) kenne ich das so:1. Strecke, Polygon oder Teilpolygon auswählen, 2. Abstand horizontal eingeben (Abstand Start und Abstand Ende ->wenn unterschiedlich, ist es zwar nicht mehr parallel, aber auch das kann sehr nützlich sein) 3. bei Bedarf Abstand vertikal eingeben ("-" heißt, Ergebnis hat keine Höhen, "0" heißt, Zielpunkte haben gleiche Höhen, und bei Eingabe verschiedener vert. Abstände für Start und Ziel kann ich sogar ein Gefälle erzeugen. Das Ganze ist sogar eingeschränkt für Bögen möglich und läßt sich bei Bedarf auch auf ein vorhandenes DGM oder eine beliebige Höhenebene projezieren. ... nicht mehr visionär, aber toll, wenns funktioniert. ------------------------------------ Mit freundlichen Grüßen Klaus Herrmann
IP: gespeichert |
M. Müller Mitglied Beiträge: 46 Registriert: Jul 2001
|
erstellt am 18. November 2002 um 12:18 Uhr
Hallo,das Ändern von Polygonpunkten geht sehr gut über die Info-Funktion. Das parallel Erzeugen von Polygonen im Raum kann nicht gehen, denn es ist mathematisch nicht eindeutig. Der orthogonale Vektor zu einer 3D-Linie ist ja im Raum nicht eindeutig, sondern "geht rundherum". Allerdings kann man natürlich eine Polygon räumlich kopieren, vielleicht hilft das ja. Solange es nicht so sehr um die Kurve geht, ist es vielleicht eine Lösung. Gruss, M. Müller ------------------ Dipl.-Ing. Matthias Müller Ing.-Büro Krimmelbein, Bad König
IP: gespeichert |
M. Schneider Mitglied Beiträge: 515 Registriert: Aug 2002
|
erstellt am 18. November 2002 um 14:48 Uhr
Hallo Herr Müller,zunächst vielen Dank für Ihren Kommentar. Genau dies möchte ich tun: ein Polygon räumlich kopieren. Die Verschiebevektoren sind dann bezogen auf einen bestimmten Ausgangspunkt bzw. eine Basislinie orthogonal festzulegen und damit ist die Operation auch mathematisch eindeutig. Die Info-Funktion ist mir natürlich geläufig, aber für die Bearbeitung vieler Punkte nicht geeignet. Die Bearbeitung der Y- und X-Koordinaten der Polygon-Stützpunkte im Dialog „Objekteigenschaften ändern“ wäre meiner Ansicht nach nicht ratsam - Herkömmliche in der Zeichnung. Die Z-Koordinaten der Stützpunkte könnten aber sehr wohl mittels dieses Dialoges gesteuert/verändert werden und ich möchte die Entwicklung bitten, diesen Verbesserungsvorschlag zu prüfen bzw. die beschriebenen Funktionen einzubauen. Mit freundlichen Grüßen M. Schneider
IP: gespeichert |
Klaus Herrmann Mitglied Beiträge: 1165 Registriert: Aug 2002
|
erstellt am 18. November 2002 um 15:01 Uhr
Hallo Herr Müller,das mit der höheren Mathematik mag ja richtig sein, hilft aber in keiner Weise weiter. Herr Schneider hat das an einem konkreten Beispiel festgemacht und ähnliche Probleme wurden hier im Forum schon öfter angesprochen. Egal, ob Bordstein, Deichkrone o.ä., beim Konstruieren vermissen wir eine Funktion, mit der sich in einer definierten Ebene (z.B. XY) von einem 3D-Polygon eine Kopie so erzeugen läßt, dass die einzelnen Teilstrecken in dieser Ebene parallel zueinander liegen und die Stützpunkte die Höhe des Quell-Polygons behalten. Sicher, das ist nur halbes 3D-Denken, aber mathematisch eindeutig und technisch machbar. @ Herr Hoyer Wenn Bedarf besteht, kann ich die Möglichkeiten, die in PanTerra zur Definition eines Abstandspolygons zur Verfügung stehen, noch mal an Beispielen erläutern - ist ne feine Sache. ------------------------------------ Mit freundlichen Grüßen Klaus Herrmann
IP: gespeichert |
Jens Hoyer Moderator Beiträge: 5592 Registriert: Aug 2000
|
erstellt am 19. November 2002 um 08:10 Uhr
Wenn Sie sagen können, wie die parallele Kopie denn aussehen soll (denn das ist ja nicht eindeutig), dann können wir da gerne noch etwas machen. Die Parallelen zu den einzelnen Segmenten kann man eben rings um die Segmentachse drehen. In allen Fällen ist der Abstand der selbe. Welcher Ebene also soll man den Vorrang geben? Deswegen geht das bisher nur, wenn das Polygon eine Ebene bildet, weil dann die Transformnation eindeutig ist. ------------------ Mit freundlichen Grüßen Jens Hoyer K2-Computer Softwareentwicklung GmbH D-06484 Quedlinburg
IP: gespeichert |
M. Schneider Mitglied Beiträge: 515 Registriert: Aug 2002
|
erstellt am 19. November 2002 um 09:14 Uhr
Hallo Herr Hoyer,man sollte jedes Teilsegment immer ausgehend von einer Horizontalen im Anfangs- bzw. Endpunkt des Polygons kopieren. Das heißt im Prinzip wird in der Draufsicht das gleiche Bild entstehen wie bei einer parallelen Kopie in der Ebene. Die so entstehenden Knickpunkte erhalten dann die gleiche Höhe wie ihre entsprechenden Ausgangspunkte bzw. direkt eine evtl. im Statusblock einzugebende Höhenkorrektur (Delta z). Man müsste das zu kopierende Polygon dann also Richtungsweisend rechts oder links antippen können und ausgehend von der Richtung des ersten alten Segmentes im Anfangs– oder Endpunkt das erste Neue in der gleichen Höhenlage (bei dz=0) erzeugen. Oder anders gesagt: Ich könnte mir eine Funktion vorstellen, die zunächst intern alle Z-Werte des zu kopierenden Polygons auf null setzt, dann herkömmlich parallel kopiert und dem so entstandenen Polygon wieder die Ausgangshöhen der Stützpunkte des Ursprungspolygons verleiht bzw. diese direkt mit einer Korrektur (dz) versieht. Es könnte dann bei sehr kurzen Segmenten oder bei entsprechend großen parallelen Abständen (Verschiebung in der Horizontalen) zu Problemen kommen. In diesen Fällen wäre die Funktion mit einer entsprechenden Fehlermeldung evtl. abzubrechen. Wäre dies eine akzeptable Funktion? Ich denke der Programmieraufwand hält sich in Grenzen. Mit freundlichen Grüßen Mario Schneider -------------------------------- Ing.- + Bau- VERMESSUNGEN Dipl. Ing. (FH) M. Schneider Heyweiler b. Kastellaun
IP: gespeichert |
M. Schneider Mitglied Beiträge: 515 Registriert: Aug 2002
|
erstellt am 19. November 2002 um 09:44 Uhr
P.S. In einem nächsten Schritt wäre es dann möglich, das neue, parallel verschobene Polygon aufzulösen und im Bestandsplan in den Endpunkten der Segmente Vermessungspunkte zu setzen, die dann die gleiche bzw. korrigierte Höhe wie ihr Gegenüber erhalten.Dies ist dann mein eigentliches Ziel der ganzen Aktion, da ich diese Punkte zur weiteren Bearbeitung (z.B. Massenberechnungen) brauche. Meine Auftraggeber verlangen z-Koordinaten an den Linien bzw. Polygonen für deren weitere Bearbeitung ! (Datenaustausch per DXF) Bisher: 1.Polygon in der Ebene erzeugen 2.diesen Parallel kopieren 3.die parallele Kopie zerlegen 4.im Bestandsplan neue VP auf den aufgemessenen Punkten platzieren (im Prinzip eine Kopie der Punkte mit neuer Punktnummer) 5.Die neuen Punkte mit einer Höhenkorrektur (dz) auf die Knickpunkte der zerlegten Polygonkopie verschieben 6.das in 1. erzeugten Polygon löschen 7.die Polygonkopie löschen 8.ein Polygon über die alten Knickpunkte erzeugen (mit Verwendung der Punkthöhen) 9.ein Polygon über die neuen Knickpunkte erzeugen (mit Verwendung der Punkthöhen) 10.endlich fertig !!! mit einer entsprechenden neuen Funktion: 1.Polygon über Vermessungspunkte erzeugen 2.diesen Parallel kopieren 3.diese Kopie zerlegen 4.neue Vermessungspunkte auf die Endpunkte der einzelnen Linien setzen 5.schon fertig !!! Die oben beschriebenen Anwendungen beziehen sich natürlich speziell auf den Vermessungsbereich und den Bestandsplan, die mögliche Kernel-Funktion wäre meiner Ansicht nach aber in sehr vielen anderen Bereichen einsetzbar. Mit freundlichen Grüßen Mario Schneider ----------------------------------- Ing.- + Bau- VERMESSUNGEN Dipl. Ing. (FH) M. Schneider Heyweiler b. Kastellaun
IP: gespeichert |
M. Müller Mitglied Beiträge: 46 Registriert: Jul 2001
|
erstellt am 20. November 2002 um 09:21 Uhr
@Herr Herrmann, unsere Beiträge hatten sich zeitlich überschnitten. Mein Beitrag bezog sich nur auf Herr Schneider's Beitrag, Ihren hatte ich noch nicht gelesen ;-)Ansonsten stimme ich zu: Ich hatte vor kurzem im DGM-Forum ja eine ähnliche Frage gestellt bzw. nach dem Modul Geländemodellierung gefragt, von dem ich mir derartige Funktionen erhofft hatte. Inzwischen "probieren wir auch damit herum", zuerst mit dreidimensionalen Polygonen Bruchkanten zu zeichnen und dann über diese einen Horizont im DGM zu erzeugen ("Parameter - Höhen aus CAD-Objekten - Polygone" etc.). Ob man nun eine komfortable Pfadkonstruktion im DGM hätte oder entsprechende 3D-Konstruktionsmöglichkeiten für Polygone - ich denke, beides würde einem helfen. Da mir aber derzeit der Weg über die Polygone auch etwas besser ersheint, möchte ich an dieser Stelle auch noch einen Wunsch für hierzu äußern. Neben den oben genannten räumlichen Parallelkopieen, die ich auch für sinnvoll halte (wobei ich gestehen muß, daß ich mir nicht alle Ausführungen von Ihnen, Herr Schneider, detailiert durchgelesen habe, hätte ich gerne eine Konstruktionsfunktion "Winkel (bzw. Gefälle in %) des Polygon zur xy-Ebene", und zwar um ein 3D-Polygon mit einem vorgegebenen Gefälle konstruieren zu können ;-) Das Parallelkopieren des 3D-Polygones könnte man vielleicht mit der einfachen Rechenvorschrift "Parallelkopie jedes Polygonpunktes in der jeweiligen xy-Ebene" beschreiben ... grübel ... ich denke, das müsste das Problem bzw. die Problemlösung exakt erfassen. Da ein Polygon aus gerade Segmenten besteht, müsste man das auf die Stützpunkte reduzieren können, die dann bei der Kopie wieder verbunden werden. Nun bin ich mir aber nicht sicher, ob sich die so erzeugten Segmentkopien auch wirklich im Raum schneiden. Mmmh .. sorry .. ich habe jetzt mal nur laut gedacht, war nicht so 100% ausgegoren :-) Gruß, M. Müller ------------------ Dipl.-Ing. Matthias Müller Ing.-Büro Krimmelbein, Bad König [Dieser Beitrag wurde von M. Müller am 20. November 2002 editiert.]
IP: gespeichert |
Klaus Herrmann Mitglied Beiträge: 1165 Registriert: Aug 2002
|
erstellt am 21. November 2002 um 09:52 Uhr
Hallo Herr Hoyer,ich habe mich bemüht, die gewünschte Funktionsweise möglichst exakt zu beschreiben. Aber ich weiß auch, dass Programmfunktionen, die in meinem Kopf durch jahrelange Verwendung "modelliert" sind, für andere evtl. schwer nachzuvollziehen sind, weil sie die Programmlogik nicht kennen. Wenn eine parallele Kopie des Polygons in der XY-Ebene möglich ist, sollte es doch auch möglich sein, bei einem 3D-Polygon eine soche eindeutige Kopie zu berechnen, indem die Z-Koordinaten dafür ignoriert und erst hinterher an die Stützpunkte übertragen werden. Das wäre genau das, was wir brauchen!!! Und wenn dann noch die Möglichkeit hinzukäme, für Anfang und Ende des Polygons verschiedene Abstände einzugeben und für die Höhen des Zielpolygons gleich eine Differenzhöhe festzulegen - wäre super. (gehört vielleicht eher in "Wünsche und Anregungen", aber weil wir gerade bei diesem Thema sind...) ------------------------------------ Mit freundlichen Grüßen Klaus Herrmann
IP: gespeichert |
M. Schneider Mitglied Beiträge: 515 Registriert: Aug 2002
|
erstellt am 21. November 2002 um 17:14 Uhr
Hallo zusammen,ich freue mich sehr über die mittlerweile doch recht ausgiebige Diskussion und stelle fest, dass die Grundidee auf allgemeine Zustimmung stößt. Viele Vorschläge wurden in den obigen Beiträgen etwas unterschiedlich formuliert, führen aber im Endeffekt zum gleichen Ergebnis bzw. verfolgen das gleiche Ziel. Weiterhin bin ich mir sicher, dass vielen GV-Anwendern, die dieses Forum nicht nutzen bzw sich nicht an diese Diskussion beteiligen, die Funktionen begrüßen und einsetzen würden. GeoVision³ könnte um eine sehr nützliche Funktion erweitert werden, die lange nicht jedes andere CAD-Produkt zu bieten hat. Daher die Frage an Sie, Herr Hoyer: Wie ist Ihre Meinung hierzu und sehen Sie eine Möglichkeit der Erweiterung um die vorgeschlagene Kernel-Funktion? Wie schnell könnte eine solche zur Verfügung stehen? Es würde meine tägliche Arbeit und die vieler anderer User ungemein erleichtern/beschleunigen und dass ist ja sicherlich unser aller Ziel. Mit freundlichen Grüßen Mario Schneider ---------------------------- Ing.- + Bau- VERMESSUNGEN Dipl. Ing. (FH) M. Schneider Heyweiler b. Kastellaun
IP: gespeichert |
M. Schneider Mitglied Beiträge: 515 Registriert: Aug 2002
|
erstellt am 07. Januar 2003 um 10:53 Uhr
Sehr geehrter Herr Hoyer,zunächst wünsche ich Ihnen und allen K2-lern noch ein gutes neues Jahr 2003. Wie ist denn der derzeitige Stand der Dinge zu obigem Thema? Ich brauche dringend eine entsprechende Funktion!!! Des Weiteren hatte ich kürzlich telef. Kontakt mit der Fa. Ares. Im Kanalkataster sind daraufhin einige Korrekturen / Veränderungen vorgenommen worden. Ist bereits eine Version freigegeben, die diese Änderungen beinhaltet? Brauche ich genauso dringend!!! Ich bitte um kurze Info. Mit freundlichen Grüßen Mario Schneider ------------------------------- Ing.- + Bau- VERMESSUNGEN Dipl. Ing. (FH) M. Schneider Heyweiler b. Kastellaun
IP: gespeichert |
Jens Hoyer Moderator Beiträge: 5592 Registriert: Aug 2000
|
erstellt am 07. Januar 2003 um 16:20 Uhr
Vielen Dank für Ihr Wünsche, die ich hiermit zurückgebe: Alles Gute zum Jahreswechsel, Gesundheit und viel Erfolg!Nun zum 3D-Polygon. Sie konstruieren ein 3D-Polygon und möchten dieses vektoriell z.B. in der Z-Achse um 12 cm vektoriell kopieren. Dann schlage ich folgenden Weg vor: - 3D-Polygon erzeugen - Kopie vektoriell verschieben - 3D einschalten - Erster Punkt Verschiebevektor: X=0; Y=0; Z=0 - Zweiter Punkt Verschiebevektor: X=0; Y=0; Z=0,12 - Objekt antippen Wir wissen aber alle, daß der Abstand der Stützpunkte danach z=12 cm beträgt, aber der Abstand der Linien kürzer ist. Wollten Sie das?
------------------ Mit freundlichen Grüßen Jens Hoyer K2-Computer Softwareentwicklung GmbH D-06484 Quedlinburg
IP: gespeichert |
M. Schneider Mitglied Beiträge: 515 Registriert: Aug 2002
|
erstellt am 07. Januar 2003 um 21:50 Uhr
Ja und nein !Sie haben natürlich Recht: Die oben beschriebene Funktionalität hat zur Folge, dass der parallele Abstand der Linien kleiner ist, als die eingegebene Z-Korrektur. Dies käme im Vermessungswesen einer nachträglichen Korrektur der Reflektorhöhe gleich. Die Längs- und Querverschiebungen dürfen aber nicht an die X und Y-Achsen gebunden sein, sondern sind natürlich direkt vom Vektor der Strecke abhängig. Dies wäre eine erste durchaus brauchbare Variante. (Eine Eingabe der Verschiebevektoren in X und Y unter „Kopie vektoriell verschieben“ erscheit mir daher als nicht praktikabel.) Eine zweite Möglichkeit wäre meiner Meinung nach Folgende: Das Ergebnis sollte eine parallele Kopie der einzelnen RÄUMLICHEN Polygonseiten sein, die dann nach einer erfolgten Parallelverschiebung wieder miteinander verbunden (getrimmt) werden. Die neue Funktion müsste also das Polygon Strecke für Strecke abarbeiten, eine bestimmte Parallelverschiebung in X, Y, und/oder Z anbringen, die Strecken verbinden und wiederum als Polygon vereinigen. Ausgangspunkt hiefür ist dann der Anfangs- bzw. Endpunkt des alten Polygons, der dem angetippten Fangpunkt am Nächsten liegt. Querabstand nach rechts bzw. links bezöge sich dann auf die XY-Ebene, Höhen- und Längskorrekturen müssten unter Berücksichtigung der jeweiligen Steigung berechnet werden. Die eingegebene Z-Korrektur bezieht sich dann immer auf die Lotrechte zum Gelände und damit ist auch der Abstand der Linien identisch. Die Varianten 1 und 2 müssten dann durch einen Schalter auszuwählen sein. Mit freundlichen Grüßen Mario Schneider
------------------------------- Ing.- + Bau- VERMESSUNGEN Dipl. Ing. (FH) M. Schneider Heyweiler b. Kastellaun
IP: gespeichert |
Jens Hoyer Moderator Beiträge: 5592 Registriert: Aug 2000
|
erstellt am 07. Januar 2003 um 22:38 Uhr
Aber das ist doch genau wie draußen!Sie nehmen Bordstein unten auf und wissen, Bordstein oben ist 12 cm höher. Sie erzeugen mit Ihrem oben beschriebenen Weg neue Vermessungspunkte (+12 cm) und verbinden diese. Das Ergebnis ist das gleiche wie beim vektoriellen Kopie Verschieben. Auch die Z-Höhen auf Null zu setzen, dann eine Kopie zu erzeugen und die Z-Höhen wieder zu setzen scheint mir nicht richtig. Was setzen Sie denn für Werte? Zalt+0,12? Ich glaube, ich muß da nochmal drüber nachdenken... ------------------ Mit freundlichen Grüßen Jens Hoyer K2-Computer Softwareentwicklung GmbH D-06484 Quedlinburg [Dieser Beitrag wurde von Jens Hoyer am 07. Januar 2003 editiert.]
IP: gespeichert |
M. Schneider Mitglied Beiträge: 515 Registriert: Aug 2002
|
erstellt am 08. Januar 2003 um 09:42 Uhr
Ich glaube, wir reden da etwas aneinander vorbei.Was Sie beschreiben, bezieht sich ausschließlich auf „vektorielle Kopie verschieben“ in Z-Richtung. Dies wird durch die vorhandene Funktion realisiert. Ich nehme aber sehr stark an, dass dies bei einer späteren Volumenberechnung zu Problemen führt, da dann verschiedene Stützpunkte lagemässig exakt übereinander liegen. Viel mehr messen wir den Bordstein VORNE UNTEN auf und möchten durch parallele Kopien die Bordsteinkanten HINTEN OBEN, VORNE OBEN (auch nicht genau senkrecht über vorne unten) und beispielsweise die Vorderkante der Rinnenplatte erzeugen. Hier ist eine parallele Kopie (in der Lage) bisher nur möglich, wenn das Polygon mit Z=0 erzeugt wurde. Daher meine Überlegung, die Z-Höhen zunächst auf Null zu setzen. Danach sollten die Z-Werte, wie Sie schon vermuteten, auf Zalt + 0,12 gesetzt werden. Mit freundlichen Grüßen Mario Schneider ---------------------------- Ing.- + Bau- VERMESSUNGEN Dipl. Ing. (FH) M. Schneider Heyweiler b. Kastellaun
IP: gespeichert |
BWP Mitglied Beiträge: 1677 Registriert: Okt 2001
|
erstellt am 08. Januar 2003 um 10:10 Uhr
Morgen zusammen,ich glaube, Herr Schneider, Sie möchte eine parallele Kopie mit Eingabe des z-Abstandes erstellen können. D.h. Wenn Sie ein Polygon haben und eine paralle Kopieren bzw. vektoriell verschieben, möchten Sie zusätzlich ein delta h eingeben, dass sich das Polygon entsprechend auf die z-Höhen absetzt. Momentan bewegen sich die Kopien immer auf den gleichen z-Höhen, wie der Ursprung. z.B. eine Linie AP= x=5,y=5,z=0 EP= x=10,y=10,z=5 Kopie verschieben/parallele Kopie Abstand:x=5,y=0 Abstand auf der z-Achse:12 Ergebnis der Kopie: AP:x=10,y=5,z=12 EP:x=15,y=5,z=17 MfG M.Nalik BWP
IP: gespeichert |
M. Schneider Mitglied Beiträge: 515 Registriert: Aug 2002
|
erstellt am 08. Januar 2003 um 10:46 Uhr
Hallo Herr Nalik,Die von Ihnen beschriebene Vorgehensweise ist mir natürlich geläufig. Ergebnis wäre aber, wenn ich Sie richtig verstehe: AP: x= 10, y=5, Z=12 EP: x= 15, ==>y=10<==, Z=17 Dadurch ergibt sich aber ein Abstand der Linien in der Horizontalen von 3,536m, da Sie eine Verschiebung nur auf der X-Achse vorgenommen haben. Mit freundlichen Grüßen Mario Schneider ---------------------------------------- Ing.- + Bau- VERMESSUNGEN Dipl. Ing. (FH) M. Schneider Heyweiler b. Kastellaun
IP: gespeichert |
Klaus Herrmann Mitglied Beiträge: 1165 Registriert: Aug 2002
|
erstellt am 08. Januar 2003 um 19:00 Uhr
Es ist zwar etwas kompliziert, aber sehr wichtig. Meiner Meinung nach gibt es zwei Wege, die zu unterschiedlichen Zielen führen:1. die von mir weiter oben beschriebene Variante, die parallele Kontur-Kopie so zu erzeugen, als hätten die Stützpunkte keine Höhen. Dadurch schneiden sich die erzeugten Parallelen der Teilstrecken und die entstehenden Schnittpunkte bekommen dann die Originalhöhe oder die um einen Betrag X geänderte Höhe der Ausgangsstützpunkte. Das ließe sich programmtechnisch einfach umsetzen und funktioniert für Polygone, die etwa! in der XY-Ebene liegen, z.B. bei einem aufgemessenen Bordstein, hinreichend genau. Nachteil: je größer die Höhenunterschiede und je schärfer die Knicke, um so weniger exakt ist das Ergebnis. Zwar bekommt der Stützpunkt genau z.B. 1 Meter Höhendifferenz und die Linie in der Ebene genau einen Meter Abstand, aber durch eine andere Länge der Teilstrecken und durch das vorhandene Ausgangsgefälle hat weder das entstandene Polygonsegment exakt das gleiche Längsgefälle wie das Original noch stimmt das Quergefälle exakt. 2. das vektorielle Verschieben einer "starren" Kopie des 3D-Polygons. Hier müßte eine komfortable Möglich keit zur Eingabe des Verschiebungsvektors geschaffen werden. Vorteil: die Kopie ist exakt, die Teilstücke sind auch im Raum parallel. Nachteil: die Abstände zwischen den Teilstrecken variieren stark. Wenn der aufgemessene Bord einer 100°-Kurve am Beginn um 2cm quer zur Fahrbahn und 12 cm nach oben verschoben wird, ist der Abstand der Linien in XY am Ende der Kurve in Bezug auf die Fahrbahnachse negativ, ein DGM kommt damit nicht klar. Andere Varianten einer exakten Konturkopie scheitern dann wohl wirklich an nicht vorhandenen Schnittpunkten der Parallelen. Aber mit den o.a. Möglichkeiten könnten wir schon eine Menge Probleme lösen. ------------------------------------ Mit freundlichen Grüßen Klaus Herrmann
IP: gespeichert |
Klaus Herrmann Mitglied Beiträge: 1165 Registriert: Aug 2002
|
erstellt am 11. August 2004 um 09:07 Uhr
Hallo K2,inzwischen haben wir August 2004 und ich suche mal wieder krampfhaft nach Möglichkeiten, von gemessenen Geländekanten palallele Kopien so zu erstellen, wie es mit 2D-Polygonen schon jetzt funktioniert, aber dass meine Stützpunkte hinterher auch wieder die Höhen der Augangspunkte bekommt, ggf. mit Addition eines Dela Z. Ist das wirklich so kompliziert??? Und um mit GV 3D-Objekte komfortabel zu erstellen, kann das nur der erste Schritt einer Reihe von Kopier- und Verschiebungsfunktionen sein... ----------------------------------- Mit freundlichen Grüßen Klaus Herrmann
IP: gespeichert |
M. Schneider Mitglied Beiträge: 515 Registriert: Aug 2002
|
erstellt am 11. August 2004 um 16:39 Uhr
Hallo Herr Herrmann,schön, dass Sie das Thema noch mal „aufwärmen“. Zunächst: Siehe auch hier http://www.geovision3.net/de/ubb/Forum34/HTML/000054.html Das Thema gehört ja eigentlich in „Wünsche und Anregungen“. Aber wegen Vollständigkeit und Bezug bleibe ich mal hier. Das aktuelle Beta-Release ist in dieser Hinsicht schon einen großen Schritt weiter - mehr oder weniger über einen Umweg (ungewollt!?). Es ist nun möglich, aus einer zu selektierenden Folge von VP-Verbindungen eine Mauersignatur mit wählbarem Abstand zum Original zu erzeugen. Das so entstandene Polygon hat die Höhen der Quell-VP-Verbindungen! Die Anzahl der Stützpunkte ist allerdings ungleich der Summe der benutzten Vermessungspunkte! (an K2: Warum?) Auch kann bisher noch kein deltaH eingegeben werden. Durch „Kopie vektoriell verschieben“ kann das Polygon jedoch angehoben oder abgesenkt werden. Was sagt uns das: Alle gewünschten Funktionen zur parallelen Kopie eines 3D-Polygons sind im Programm mittlerweile vorhanden. Da dürfte es doch endlich möglich sein, diese Einzelbefehle zu EINER Funktion zusammenzusetzen. Daher noch mal meine große, große Bitte an die Entwicklung: Wir brauchen DRINGEND einen entsprechenden Befehl, der automatisch abgebrochen wird, wenn der eingegebene parallele Abstand so groß wird, dass sich Linien kreuzen und/oder dadurch die Anzahl der Stützpunkte der Polygon-Kopie ungleich der Stützpunktanzahl des Originals ist. Zitat von Herrn Hoyer vom 19.Nov.2002: „Wenn Sie sagen können, wie die parallele Kopie denn aussehen soll (denn das ist ja nicht eindeutig), dann können wir da gerne noch etwas machen.“ Und noch mal den Blick in die Zukunft: Wenn wir mal SO weit sind, wünsche ich mir wieder einen Befehl (wie er bereits im alten Bestandsplan vorhanden war), mit dem ich auf alle Polygonstützpunkte neue Vermessungspunkte setzen kann, die ihre Höhe dann automatisch vom entsprechenden Stützpunkt erhalten. Das hieße: 1. neuen Befehl „VP-Erzeugen > von Polygonstützpunkten“ anwählen, 2. im Statusblock Startpunktnummer, Obj.def. Arbeitsphase und Verbindungsart einstellen, 3. gewünschtes Polygon tippen, 4. Anfangspunkt tippen. Und schon hätten wir in der Höhe versetzte, parallele Vermessungspunkte UND Linien, als wenn wir sie draußen mit großem (Zeit-)Aufwand gemessen hätten. Das wär’ doch was, oder? Ich bitte meine Hartnäckigkeit zu entschuldigen, aber mir liegt diese Angelegenheit wirklich sehr am Herzen. Mit freundlichen Grüßen Mario Schneider
IP: gespeichert |
Jens Hoyer Moderator Beiträge: 5592 Registriert: Aug 2000
|
erstellt am 02. September 2004 um 18:13 Uhr
Ich muß nochmal auf diesen Wunsch zu sprechen kommen. Wir möchten das nämlich realisieren.Damit aber nicht die ganze Arbeit bei uns liegt, wäre es vernünftig, wenn Sie mir folgenden Wunsch erfüllen: Zeichnen Sie bitte mal ein Polygon mit drei Stützpunkten und unterschiedlichen Z-Werten. Dann erzeugen Sie manuell bitte durch Konstruktion eine Parallele dazu. Schicken Sie mir bitte das Ergebnis. Damit wir nicht mehr aneinander vorbei reden, halte ich es nämlich für besser, wenn Sie uns einfach mal zeigen (!) was Sie als Ergebnis haben möchten. Bitte einmal konstruieren und dann per Mail zu mir senden. Danke. ------------------ Mit freundlichen Grüßen Jens Hoyer K2-Computer Softwareentwicklung GmbH D-06484 Quedlinburg
IP: gespeichert |
M. Schneider Mitglied Beiträge: 515 Registriert: Aug 2002
|
erstellt am 02. September 2004 um 18:53 Uhr
Zitat Herr Hoyer: „Wir möchten das nämlich realisieren.“Jippiiiiiiiie!!!!!!!!!!!!!!!!! Aber gerne, Herr Hoyer – nichts lieber als das. Werde Ihnen morgen so gegen 10 Uhr per eMail ein Beispielmodell zusenden – habe vorher noch einen Termin. Mit freundlichen Grüßen und einen schönen Feierabend Mario Schneider
IP: gespeichert |
Jens Hoyer Moderator Beiträge: 5592 Registriert: Aug 2000
|
erstellt am 03. September 2004 um 12:37 Uhr
Vielen Dank für das Modell. Da haben Sie sich aber wirklich Mühe gegeben!!Nach meiner EInschätzung haben Sie folgendes gemacht: 1. Projektion des 3D-Polygons in die XY-Ebene 2. von diesem eine parallele Kopie erzeugt 3. dann die Punkthöhen korrigiert und zwar 1.Punkt aus Original --> 1.Punkt aus Kopie usw. Ergebnis:
- in Draufsicht sieht das alles parallel aus
- der 3D-Abstand der Polygonstücken ist überall unterschiedlich
- die Steigungen der Polygonstücken von Original und Kopie sind überall unterschiedlich
- würde man Flächen aus Original und Kopie bilden, dann wären diese verwunden (solche "Bordsteine" kann man nicht im Baumarkt kaufen)
- wenn durch Schlaufenbildung Punkte wegfallen, funktioniert die Zuordnung nicht mehr, da die Punktanzahlen von Original und Kopie dann unterschiedlich sind. In diesem Fall müßte man im Schlaufenschnittpunkt irgendeine (!) Höhe mitteln
Und nun? ------------------ Mit freundlichen Grüßen Jens Hoyer K2-Computer Softwareentwicklung GmbH D-06484 Quedlinburg
IP: gespeichert |
Jens Hoyer Moderator Beiträge: 5592 Registriert: Aug 2000
|
erstellt am 03. September 2004 um 12:38 Uhr
... Das kann ich unmöglich im Kernel als "Parallelkopie" verkaufen. Das wäre, wenn überhaupt, was Superspezielles. Man könnte dafür ein AddOn schreiben oder als spezielle Operation in BP einbauen, wobei das aber nicht "parallele Kopie" heißen sollte, denn das ist es nicht.
IP: gespeichert |
Klaus Herrmann Mitglied Beiträge: 1165 Registriert: Aug 2002
|
erstellt am 03. September 2004 um 13:11 Uhr
Hallo Herr Hoyer,welchen Namen das Kind bekommt, ist eigentlich zweitrangig. Sie haben natürlich recht, dass da keine echte Parallelität der Segmente im Raum entsteht. Also vielleicht 2D-Parallelkopie o.ä. ? Allerdings fände ich den Einbau dieser Funktion im Kernel eigentlich richtiger: bestimmt 90 % aller GV-Programme sind für Anwender gemacht, die damit ein Stück Erdoberfläche in irgend einer Form bearbeiten wollen, nicht Mathematiker oder 3D-Modellierer von Maschinenteilen o.ä. Und die meisten dieser Anwender werden früher oder später darüber stolpern, dass es sehr hinderlich sein kann, wenn man zu einem dreidimensionalen Polygon einfach keine in der Draufsicht parallele Linie hinbekommt. Es sei denn, sie würden nur mit reinen Zeichnungsstrichen mit Z=0 arbeiten. Dammkronen, Bordsteinkanten, parallel verlegte Medien und vieles mehr lassen sich mit einer solchen Funktion sehr komfortabel und zeitsparend bearbeiten, das weiß ich aus eigener Erfahrung. Zusatzfunktionen wie Vorgabe einer Höhendifferenz, evtl. sogar unterschiedlicher Abstände am Anfang und Ende des Linienzuges und vielleicht sogar eine Projektion ins jeweilige ADKS wären die Krönung des ganzen. Ich werde Ihnen gleich auch noch ein kleines Mustermodell fertigmachen (komme erst jetzt dazu) nur unter der Verwendung dieser Funktion in unserem Panterra, aber vom Hauptanliegen wird sich das mit Herrn Schneiders Modell decken, denke ich. Und ehrlich, wenn man die Produktionstoleranz von Bordsteinen berücksichtigt, wird die Verwindung, die an einer wenig geneigten Straße entsteht, locker eingehalten. ----------------------------------- Mit freundlichen Grüßen Klaus Herrmann IB Otter+Riedel
IP: gespeichert |
M. Schneider Mitglied Beiträge: 515 Registriert: Aug 2002
|
erstellt am 03. September 2004 um 13:27 Uhr
Hallo Herr Hoyer,jetzt verstehe ich aber langsam die Welt nicht mehr! Ist denn so schwer zu verstehen, was ich mit dieser neuen Funktion erreichen will? Ich will doch lediglich den örtlichen Messaufwand durch nachträgliche, automatisierte Bearbeitung in der CAD stark minimieren. Also noch mal - Was machen wir denn draußen: 1. Wir messen die obere HINTERE Kante eines Bordsteines auf 2. Nun messen wir den Punkt in der Rinne (also identisch mit „Bordstein VORNE unten“) auf 3. Danach den Teerrand, der gleichzeitig die Vorderkante der Rinne darstellt. Es werden also jeweils mindestens 3 Punkte gemessen, bei denen der erste ausreichen würde, könnte man die restlichen mit delta H in der CAD parallel kopieren. Wir erstellen doch hier keine Doktorarbeiten, was soviel heißt, dass die erhaltene 3D-Abstand von Original zu Kopie und die Steigungen doch nicht EXAKT identisch sein müssen. Das ist bei einem Aufmass aller Punkte in der Örtlichkeit doch auch nicht der Fall. Außerdem habe ich bei aufgemessenen Punkten in Bögen, die mit geraden Linien verbunden werden, sowieso meist keine parallelen Ergebnisse. Eine parallele 2D-Kopie mit berücksichtigtem Höhenunterschied liefert da meist sogar Ergebnisse, die der Realität näher kommen, als gemessene und später verschobene Punkte. P.S.: Wie soll ich denn „Da haben Sie sich aber wirklich Mühe gegeben!!“ deuten? Was hatten Sie denn nach Ihrem Beitrag vom 02.09. erwartet? Mit freundlichen Grüßen Mario Schneider Die Erstellung dieses Beitrages hat sich mit dem von Herrn Herrmann zeitlich überschnitten.
IP: gespeichert |
Jens Hoyer Moderator Beiträge: 5592 Registriert: Aug 2000
|
erstellt am 03. September 2004 um 13:37 Uhr
@Herr SchneiderSo wie ich es geschrieben habe. @Herr Herrmann Sie haben das wohl mißverstanden. Es ist sehr wohl ein Problem, wie die Funktion heißt. Wenn die Funktion Parallelkopie heißt, muß sie das auch können. @Beide bzw. alle Sie bekommen die Funktion, sagte ich schon.
IP: gespeichert |
Jens Hoyer Moderator Beiträge: 5592 Registriert: Aug 2000
|
erstellt am 03. September 2004 um 13:58 Uhr
Ich muß jetzt doch nochmal was schreiben.Sie beschweren sich hier, als ob wir zu blöd sind, eine parallele Kopie von einem Polygon im Raum zu erzeugen. Ich muß im Namen meiner Entwickler auch mal sagen, dass wir nicht geistig unterbemittelt sind, sondern dass das mathematisch nicht geht. Das was Sie fordern ist nicht realisierbar. Das haben Sie selbst mit Ihrem Modell nachgewiesen. das was Sie nicht zeichnen oder konstruieren können, können wir auch nicht programmieren. Mathematisch geht das eben nicht. Auch wenn es real existiert und mit einer Handbewegung und zwischen zwei Fingern gezeigt werden kann. Sie haben den Thread hier mit "parallele Kopie von 3-D-Polygonen" überschrieben. Und nicht ich. Ich habe nur gesagt, dass das (was Sie wollen und oben beschrieben haben) nicht geht. Wir werden Ihnen eine Funktion gemäß Ihrer Anforderungen erstellen. Aber diesen Thread kann ich nicht mit "erledigt, ab Build xyz" abschließen. Das Genauigkeit jetzt irrelevant ist, nehmen wir zur Kenntnis. Sie bekommen die Funktion, sobald das zweite Modell hier ist. ------------------ Mit freundlichen Grüßen Jens Hoyer K2-Computer Softwareentwicklung GmbH D-06484 Quedlinburg
IP: gespeichert |
Lars Hiob Mitglied Beiträge: 799 Registriert: Aug 2003
|
erstellt am 03. September 2004 um 14:32 Uhr
Ich glaub hier werden Erbsen gespalten, oder vielleicht sogar Haare.Nun mal anders betrachtet. Der screen shot hat seine Wurzeln zwar in HAL, wurde aber in einem Programm aus QLB gemacht. Von mir aus kann die Bezeichnung aber so bleiben, denn alle wissen ja was mit einem "parallelen Strang" gemeint ist. @Herrn Schneider: Wenn man überlegt wieviel Mühe Sie in diesen Wunsch gesteckt haben, da kann ich Sie nur bedauern, wenn sich jetzt Hr. ... an der Threadüberschrift stört.
IP: gespeichert |
Jens Hoyer Moderator Beiträge: 5592 Registriert: Aug 2000
|
erstellt am 07. September 2004 um 17:25 Uhr
@Herr Herrmann:Ich habe ein Quellpolygon 3D. Die vordere Abstandsverbreiterung soll 8 m sein, die hintere 5 m. Bisher gibt es zwei Möglichkeiten, die Breitenverziehung aufzuteilen: a) gleichmäßige Verziehung entlang der Länge des 3D-Polygons b) gleichmäßige Verziehung entlang der Länge des 2D-Polygons In beiden Fällen kommt nicht exakt Ihr Beispielpolygon raus. Daher meine Frage: Wie soll die Breiten- bzw. auch Höhenänderung über das Polygon aufgeteilt werden? Oder: Wie haben Sie das in Ihrem Modell gemacht? ------------------ Mit freundlichen Grüßen Jens Hoyer K2-Computer Softwareentwicklung GmbH D-06484 Quedlinburg
IP: gespeichert |
Klaus Herrmann Mitglied Beiträge: 1165 Registriert: Aug 2002
|
erstellt am 07. September 2004 um 18:43 Uhr
Hallo Herr Hoyer,ich glaub, ich habs rausbekommen, wie unser Panterra das rechnet (weil ich habe nicht selbst konstruiert sondern die dort vorhandene Funktion "Abstände" genutzt): 1. horizontale Abstände werden in 2D ermittelt, 2. die neuen Punkte liegen exakt auf der Winkelhalbierrenden des Quellpolygons 3. der Abstand wird ermittelt, in dem die Länge des bisherigen Polygonabschnitts mit der Gesamtlänge ins Verhältnis gesetzt wird und dieser Quotient dann mit der Differenz aus Anfangs- und Endabstand multipliziert wird. 4. das Ergebnis wird mit dem Anfangsabstand addiert (bzw. subtrahiert) und ergibt den Abstand, um den die Teilsttrecke virtuell parallel verschoben wird und so der Scnittpunkt mit der Winkelhalbierenden entsteht. Sehr kompliziert geschrieben - ich mach morgen noch eine Skizze dazu, da müßte es deutlich werden. Auf jeden Fall sieht das Ergebnis ansprechend aus und erfüllt nach unseren bisherigen Erfahrungen hervorragend seinen Zweck, trotz mathematischer Unzulänglichkeiten. Jetzt muß ich aber los - sonst Ärger...
IP: gespeichert |
Klaus Herrmann Mitglied Beiträge: 1165 Registriert: Aug 2002
|
erstellt am 08. September 2004 um 08:22 Uhr
Nun der Nachtrag: Das Polygon hat eine Gesamtlänge von 10m, der erste Teilabschnitt ist 5m lang: 5m/10m=0,5 Der Abstand der Kopie soll am Anfang 1m und am Ende 2m betragen. Die Differenz beträt also 1m. Multiplikation des Quotienten mit der Abstandsdifferenz: 0,5*1=0,5 Addition mit dem Abstand am Anfang: 0,5+1=1,5 Beide Teilstrecken werden also um 1,5m parallelverschoben (alles 2D) und der entstehende Schnittpunkt ist der neue Stützpunkt der Abstandskopie. Dieser liegt immer auf der Winkelhalbierenden, deshalb sieht das auch bei mehreren Abstandskopien mit verschiedenen Parametern korrekt aus. Anfangs- und Endpunkt der Abstandskopie entsprechen jeweils den Endpunkten der Parallelverschiebung des jeweiligen Segmentes mit dem Anfangs- bzw. Endabstand. "horizontale und vertikale Abstandskopie" ist vielleicht wirklich der treffendste Name für diese Funktion: kein "parallel" und nicht exakt 3D.
IP: gespeichert |
Jens Hoyer Moderator Beiträge: 5592 Registriert: Aug 2000
|
erstellt am 09. September 2004 um 12:06 Uhr
Nach 2 Jahren Diskussion haben wir im neuen Kernel (Build >= 2892) eine Funktion "Erzeuge Polygon als Abstandskopie" bereitgestellt.Ablauf:
- Referenzobjekt auswählen (Linie, Polygon, Füllpolygon)
- die Position des Antippens bestimmt, welches Ende vorn bzw. hinten ist
- man kann auf dem Referenzpolygon zwei Stationen bestimmen (von..bis), auf welche dann das Quellpolygon reduziert wird. Vorgabe ist beide Offsets=0, also das komplette Quellpolygon
- man kann einen vorderen und hinteren Höhenversatz eingeben
- man kann einen parallelen Abstand für das Zielpolygon festlegen oder aber einen Abstand am vorderen Ende und einen Abstand am hinteren Ende
- der Verziehungsmodus (siehe unten) kann gewählt werden
- man kann einstellen, ob die Höhen an den Schnittpunkten per Index übernommen werden oder ob sie gemittelt werden
Und so wird es gemacht (für unsere Mitbewerber zum Mitschreiben):
- das Quell(-Teil)polygon wird ins ADKS projeziert
- entsprechend Verziehungsmodus wird eine parallele Kopie berechnet
- entsprechend Höhenmodus werden die Höhen in den Schnittpunkten gesetzt bzw. gemittelt
- entsprechend Verziehungsmodus werden die Höhen um den Höhenversatz korrigiert
- Schlaufen werden entfernt
- das Ergebnis wird wieder in die Welt transformiert
- doppelte Punkte werden entfernt
- fallen erster und letzter Punkt des 2D-Polygons zusammen, so wird auch das Zielpolygon am Ende mit dem Anfang verschnitten und geschlossen
IP: gespeichert |
Jens Hoyer Moderator Beiträge: 5592 Registriert: Aug 2000
|
erstellt am 09. September 2004 um 12:08 Uhr
Danke an Herrn Schneider und insbesondere Herrn Herrmann, der sich wirklich Mühe gegeben hat, uns die Entwicklung zu vereinfachen und Nacharbeiten zu reduzieren.------------------ Mit freundlichen Grüßen Jens Hoyer K2-Computer Softwareentwicklung GmbH D-06484 Quedlinburg
IP: gespeichert |
Klaus Herrmann Mitglied Beiträge: 1165 Registriert: Aug 2002
|
erstellt am 09. September 2004 um 12:46 Uhr
Hervorragend !!!
IP: gespeichert |
M. Schneider Mitglied Beiträge: 515 Registriert: Aug 2002
|
erstellt am 09. September 2004 um 12:50 Uhr
Hallo Herr Hoyer,wir haben zu danken und die Wartezeit hat sich auf jeden Fall gelohnt! Ich habe gerade mit Begeisterung die Animation verfolgt. Das Ergebnis ist, wie Sie schon richtig sagten, nicht zuletzt durch die Beiträge von Herrn Herrmann um vieles besser und umfangreicher geworden, als ich es bei der Eröffnung des Thread erwartet hätte. Obwohl noch nicht getestet, sage ich schon mal an Sie und Ihr Team: Super gelungen und nochmals vielen Dank! Mit freundlichen Grüßen Mario Schneider
IP: gespeichert | |