| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: 2D-Bruchkanten automatisiert auf 3D-Punkte anheben – Zwischenpunkte löschen (1248 / mal gelesen)
|
ktww Mitglied
Beiträge: 429 Registriert: 10.08.2009
|
erstellt am: 07. Dez. 2021 07:55 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen! Ich habe von einem Vermesser einen Lageplan bekommen mit den Vermessungspunkten und den Bruchkanten. Die Bruchkanten sind 2D und liegen auf dre Hohe=0.0. Die Punkte habe ich als Autocad-Punkte in 3D vorliegen oder als Block mit dem Attribut Höhe. Leider hat der Vermesser den Verlauf der Bruchkanten verschönert und Zwischenpunkte eingefügt, an denen aber kein Vermessungspunkt mit einer Höhe liegt. Nun möchte ich die 2D-Bruchkanten automatisiert auf die Höhe der 3D-Punkte anheben. Meine Idee war, aus den 3D-Autocad-Punkten ein DGM zu machen und dann alle Bruchkanten auf die Höhe des DGM anzuheben. Das funktioniert auch bei den Scheitelpunkten der Bruchkanten gut, die einen Deckungsgleichen 3D-Autocad-Punkt haben (Grün markiert). Bei den nachträglich eingefügten Punkten (rot) aber nicht, da die Vermaschung des DGM nicht stimmt. Gibt es eine Möglichkeit die 2D-Bruchkanten nur dort anzuheben, wo ich einen zugehörigen Autocad Punkt habe? Die Zwischenpunkte der Bruchkante sollten ignoriert werden also die Höhe auf 0 belassen. Hintergrund: Ich brauche die Bruchkanten für das Programm laser_as-2D, welches mir aus einem Laserscan ein ausgedünntes Netz erstellt und dabei 3D-Bruchkante berücksichtigt. Bin um jede Anregung dankbar. LG
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
greli Mitglied Bautechniker, CAD-Admin
Beiträge: 289 Registriert: 17.02.2006 Civil3d 2005-2019 Windows 10 x64 Intel Xeon 3.5Ghz 16GB Ram NVIDIA Quadro K2200
|
erstellt am: 07. Dez. 2021 15:52 <-- editieren / zitieren --> Unities abgeben: Nur für ktww
|
ktww Mitglied
Beiträge: 429 Registriert: 10.08.2009
|
erstellt am: 07. Dez. 2021 16:31 <-- editieren / zitieren --> Unities abgeben:
Man muss zu seiner Verteidigung sagen, dass die Pläne schon älter sind und nicht als Grundlage für ein DGM gedacht waren. Habe das Problem aber sehr oft. Teilweise werden die Punkte mit Splines verbunden, teilweise Bogen eingepasst usw. Bedeutet im Nachhinein einen großen Aufwand. Deswegen die Hoffnung, daß es da irgend ein Tool gibt. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin
Beiträge: 2812 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2022 AEC-Collection Plateia, Canalis Visual Basic
|
erstellt am: 07. Dez. 2021 18:25 <-- editieren / zitieren --> Unities abgeben: Nur für ktww
Hallo, Hatte mal vor ewigen Zeiten so ein Tool in VBA geschrieben, allerdings wurden da die Höhenkoten aus Texten übernommen. KÖnnte man natürlich auch auf Civil Punkte ändern. Zwischenpunkte ohne Höhen wurden anschließend proportional eingerechnet. Waren Bogen in den 2D-Polylinien wurden diese bei der Bildung der 3D-Polylinien auch aufgeteilt. Muss mal nachsehen ob ich das noch irgendwo finde (war 2006 wenn ich mir meine Forumsfragen hier ansehe) Grüße Klaus [Edit] Habs gefunden, braucht eine Koordinatendatei (PNr X Y Z), daraus werden die Texte gelesen und in eine Zeichnung mit 3D-Koordinaten geschrieben. Anschließend werden alle 2D-LW-Polylinien in 3D-Polylinien umgewandelt und auf die Texthöhen gebracht. Zum Schluss kann man noch fehlende Zwischenpunkte einrechnen lassen. War damals ein Programm für >500.000 Vermessungspunkte auf einer Fläche von ca. 100 qkm. Konnte man gar nicht auf einmal bearbeiten sondern mußte es Rasterweise machen. Wenn Du ein Beispiel hast (Koordinatendatei und Zeichnung mit Polylinien) können wir das ja mal testen ob das noch funktioniert oder ob es wegen normalen Polylinien angepasst werden muß. LW-Polylinien haben nur XY-Werte, alte 2D-Polylinien XYZ.
[Diese Nachricht wurde von KlaK am 07. Dez. 2021 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ktww Mitglied
Beiträge: 429 Registriert: 10.08.2009
|
erstellt am: 09. Dez. 2021 08:55 <-- editieren / zitieren --> Unities abgeben:
Hallo Klaus! Danke für das Angebot, ich hab dir ein BSP zusammengestellt. Die Textdateien (Tab getrennt und , getrennt) enthalten die Koordinaten aus den Blöcken (Befehl DATENEXTRAKT). Die Höhe ist der Attributwert. Die Nummern hab ich einfach eingefügt. Ich hoffe du kannst etwas damit anfangen. LG Christoph Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin
Beiträge: 2812 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2022 AEC-Collection Plateia, Canalis Visual Basic
|
erstellt am: 09. Dez. 2021 11:28 <-- editieren / zitieren --> Unities abgeben: Nur für ktww
Hallo Christoph, Wie zu erwarten muss ich das Programm etwas ändern und inzwischen fehlende VBA-Elemente anpassen (Dateiauswahl, Fortschrittsbalken). Ist halt doch ein älteres Programm (32 Bit) dass jetzt nicht mehr 100% kompatibel ist. Aber durchaus machbar, gib mir mal 1-2 Tage Grüße Klaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ktww Mitglied
Beiträge: 429 Registriert: 10.08.2009
|
erstellt am: 09. Dez. 2021 12:56 <-- editieren / zitieren --> Unities abgeben:
|
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9803 Registriert: 01.12.2003 Map/Civil 3D 2005-2025, aktuelle SPs.
|
erstellt am: 10. Dez. 2021 00:03 <-- editieren / zitieren --> Unities abgeben: Nur für ktww
Mit Bordmitteln von Civil 3D würde ich das über ein (HilfsDGM) lösen. 1. 3D Daten (Punkten aus Datei) importieren, Befehl: ImportPoints 2 DGM erstellen über Befehl: CreateSurface 2.1 Daten für das DGM zuerst nur aus Civil Punkten (Doppekte Punkte korrigieren), dann 2.2 Alle Linien (hier vielleicht Kabel und Gebäude weglassen) als mit Bruchkanten "ohne Punktverbindung", eigentlich nur die 2D Punktverbindung angezeigte Bruchkantenkreuzungen bei bedarf korrigieren. Einzelne DGM Kanten zur Verbesserung noch umdrehen 3. Anschließend alle Linien und Polylinien auf Höhe von DGM bringen Befehl: FeatureElevFromSurface 4. Zuletzt einzelne Kantenhöhen nachbessern durch Interpolation zwischen Punkten Befehl: SetFeatureGrade Mit etwas Übung in 10 min erledigt und man hat auch gleich noch doppelte Punkte, Höhenfehler und kreuzende Kanten entdeckt. Ich hab mal einen kurzen (8min) Screencast dazu aufgezeichnet: https://autode.sk/3oHRUhW
------------------ Mit freundlichem Gruß Udo Hübner www.CAD-Huebner.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ktww Mitglied
Beiträge: 429 Registriert: 10.08.2009
|
erstellt am: 10. Dez. 2021 09:54 <-- editieren / zitieren --> Unities abgeben:
Hallo Udo! Vielen Dank für das Video und den Aufwand!!!!! So ähnlich hab ich es bis jetzt auch immer gemacht, wenn auch ohne die doppelten Punkte heraus zu arbeiten. Habe auch Autocad Punkte anstatt civil Punkte genommen. In Summe ging aber mit der Nacharbeit (DGM-Kanten drehen etc.) viel Zeit drauf. Das Beispiel ist auch nur ein kleiner Ausschnitt. Das tatsächliche Projekt ist sicher um das 20 bis 30-fache größer. LG Christoph
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin
Beiträge: 2812 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2022 AEC-Collection Plateia, Canalis Visual Basic
|
erstellt am: 10. Dez. 2021 20:08 <-- editieren / zitieren --> Unities abgeben: Nur für ktww
Hallo Christoph, Probier mal beiliegendes Programm (Zip-datei vorher entpacken) Wenn Du VBA installiert hast, einfach in die Zeichnungsoberfläche ziehen Aufruf mit: (command "_vbarun" "SetZ") Aber in Deiner Ausgangszeichnung sind noch einige Fehler drin, da ist schon einiges an Nacharbeit nötig ... Zwei Polylinien bestehen aus jeweils zwei Teilstücken an deren Ende aber kein Höhenpunkt ist. Verbindet man die beiden Teilstücke mit JOINFEATURES und lässt das Programm noch einmal laufen wird dieser Zwischenpunkt auch eingerechnet. Ob das so richtig ist mußt Du natürlich selber entscheiden Grüße Klaus
PS.: Bei Problemen gerne auch über PN oder EMail PPS: Ist eine vereinfachte Version, die ich zufällig gesehen habe, aber nachdem Deine Blöcke auch überall das Attribut Hoehe haben ... [Diese Nachricht wurde von KlaK am 10. Dez. 2021 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ktww Mitglied
Beiträge: 429 Registriert: 10.08.2009
|
erstellt am: 13. Dez. 2021 10:04 <-- editieren / zitieren --> Unities abgeben:
Hallo Klaus! Das Tool ist super ... vielen Dank! Klappt eigentlich problemlos, genau das, was ich mir vorgestellt habe!!! Das ich noch einiges nachbearbeiten muss, ist mir bewusst. Aber der Aufwand ist mit dem Tool deutlich gesunken! Vielen Dank und schöne Feiertage! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |