| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | | | PNY wird von NVIDIA zum Händler des Jahres gewählt – zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: Linien automatisiert Verbinden (2594 / mal gelesen)
|
Hellfish122 Mitglied
Beiträge: 15 Registriert: 18.06.2019 AutoCAD Civil 3D 2020 AutoCAD Civil 3D 2014 (verstaubt in der Ecke)
|
erstellt am: 18. Jun. 2019 16:25 <-- editieren / zitieren --> Unities abgeben:
Hallo Liebe CAD Gemeinde, nach einiger Zeit des Lesens ist es an der Zeit meine erste Frage zu stellen. Also: Gibt es eine Möglichkeit (vielleicht kennt auch jemand ein Skript?) aneinanderhängende einfache Linien mehr oder weniger automatisch zu verbinden ohne jede Einzelne manuell auswählen zu müssen? Ich habe Vermessungsdaten aus einem Steinbruch, die Vermessungspunkte liegen als Blöcke vor, und dazwischen sind schon Etagenmäßig einzelne einfache Linien (mit z Koord.) vorhanden. Ich benötige aber pro Etage Komplette Linien (Polylinie, 3D Polylinie), würde aber gerne jede Etagenkante manuell ansteuern dafür. Sprich: ich will die Ausgangslinie definieren und von da weg soll das Programm automatisch jede folgende Linie quasi mitnehmen (klar, das kann nur bei super sauberem Datenmaterial funktionieren) und natürlich stoppt es wenn mehr als 2 Linien an einem Punkt vorliegen. mir ist Klar dass man mit dem Befehl "Verbinden" einfach dann das ganze Gebiet auswählen kann und dann alles darin mehr oder weniger gut zusammengefügt wird . Allerdings entstehen da auch Kunstwerke in denen Mehr als 2 Linien in einem Punkt liegen (warum ist mir nicht ganz klar) Wenn man aber nicht ein komplettes Feld auswählen will (geht aufgrund der Datendichte im Plan nicht) wäre dies eine effiziente Möglichkeit. Meine Frage ist wohl recht Spezifisch, allerdings will ich nicht ganz Glauben das noch keine diese Überlegung angestellt hat danke schon mal für den hoffentlich folgenden Input! lg Jürgen edit: ich habe eine Beispiezleichnung meiner Daten angehängt. (danke für den Hinweis) Ziel der Ganzen Aktion ist aktuell zwischen manchen Linien effizient eine Böschungssignatur (skript) einfügen zu können (obere linie, untere linie, signaturabstand) [Diese Nachricht wurde von Hellfish122 am 19. Jun. 2019 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3424 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 19. Jun. 2019 10:25 <-- editieren / zitieren --> Unities abgeben: Nur für Hellfish122
Servus, also bis zu den Kunstwerken konnte ich dir folgen..... Eventuell helfen dir Anzeigen, isometrischen oder von der Seite, um eine bessere/leichtere Auswahl zu treffen. ------------------ <----- Bitte Systeminfo eintragen, warum siehst du hier. Schöne Grüsse aus der Steiermark Bernd P. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
symantec Mitglied user
Beiträge: 466 Registriert: 07.05.2002 AutoCAD AutoCAD Map 3D AutoCAD Civil 3D InfraWorks Urbano Navisworks
|
erstellt am: 19. Jun. 2019 11:15 <-- editieren / zitieren --> Unities abgeben: Nur für Hellfish122
|
cadffm Ehrenmitglied V.I.P. h.c. 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 19. Jun. 2019 11:42 <-- editieren / zitieren --> Unities abgeben: Nur für Hellfish122
@Jürgen Leider hängt deinem Post keine DWG/Screenshot an, so ist es mehr Zufall ob sich jemand darunter das Richtige Vorstellt oder nicht Ich bin mir zumindes tnicht sicher, außer in dem Punkt das es grundsätzlich um zusammenhängende Objekte geht die ausgewählt werden sollen, jedoch durch Wahl eines Objektes und durch die automtische Auswahl der weiteren daran hängenden Objekte. Stichwort Kettenwahl. Wie du selbst bereits dargelegt hast ist dieses Thema nicht komplett "einfach", es gibt da gewisse Festlegungen die getroffen werden müssen (vom Programmierer/Auftraggeber). _ >"ich will die Ausgangslinie definieren und von da weg soll das Programm automatisch jede folgende Linie" >"quasi mitnehmen (klar, das kann nur bei super sauberem Datenmaterial funktionieren)" JA, oder aber man baut die Option eines "Fuzziabstandes" ein,so wie es ihn auch bei der Option Verbinden des Befehls PEDIT gibt. [i]>"und natürlich stoppt es wenn mehr als 2 Linien an einem Punkt vorliegen." Das ist nicht "natürlich", sondern ein Wunsch von dir, Das Programm könnte ebensogut nur einer von beiden Linien folgen, oder beiden, diese beiden Varianten kommen viel häufiger vor bei den vorhandene Programmerweiterungen.
>"Allerdings entstehen da auch Kunstwerke in denen Mehr als 2 Linien in einem Punkt liegen (warum ist mir nicht ganz klar)" Ganz einfach (ohne einen konkreten Fall von dir zu kennen): Versuche doch mal selbst einen eindeutigen Algorithmus zu schreiben für diesen Fall. Ausgehend von Linien - dazu sei erwähnt das eine Linie einen Anfangsüunkt und eineb Endpunkt hat. Im Gegensatz zu deinem Wunsch wird sollen bei "Verbinden" aber alle entsprechend zusammenhängenden Objekte verbunden werden. Ich bin gespannt auf deinen Lösungsansatz um "Kunstwerke" anders zu handeln und dennoch dem Ziel von dem Befehl zu entsprechen. Spätestens dann bräuchten wir aber auch ein DWG-Beispiel um dem Problem und Lösungsansatz foglen zu können. >"Meine Frage ist wohl recht Spezifisch, allerdings will ich nicht ganz Glauben das noch keine diese Überlegung angestellt hat" "Ungesehen" bin ich sicher, du wirst keinen Gedanken haben auf den nicht vorher bereits jemand kam (liegt in der Natur der Sache/Zeit), ich würde auch noch weiter gehen und behaupten: Es wird auch bereits alle Lösungen geben / soweit möglich. Die Frage ist nur ob du a) davon erfährst und b) davon Nutzen hast Seltene Ausnahmen bestätigen die Regel.
_ Auch wenn es unter Umständen nicht perfekt passt, wie gesagt habe ich nicht alles komplett verstanden, in AutoCAD fällt mir zu dem Thema Kettenwahl folgendes ein: Installierte Expresstools sollten Stnadard sein und damit stehen einem FASTSEL (siehe auch FSMODE / ON) zur Verfügung. Man wählt ein Objekt, Autcad wählt alle anhängenden Objekte (Kettenwahl) automatisch. ABER: a) Es stoppt nicht bei "2 oder mehr mögliche Linien gefunden" und noch weiter weg von der Aufgabe b) Es findet eine Objektwahl ZAUN statt, es werden also nicht nur am Ende zusammentreffende Objekte gesucht, sondern alle "kreuzenden" Objekte gewählt. Dein Wunsch geht weitestgehend oder komplett nur mit einer Programmerweiterung, bleibe ich bei der einfachen Kettenwahl bei der nur am Ende zusammentreffende Objekte gewählt und weiter verfolgt werden, so verlinke ich hier mal ein Beispiel von vielen : [URL=http://www.lee-mac.com/chainsel.html ]Kettenwahl[/URL] . Auch hier werden bei 2 und mehr möglichen Objekte ALLE weiterverfolgt.. also nicht gestoppt. Mehr kann ich dazu wohl nicht beitragen
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hellfish122 Mitglied
Beiträge: 15 Registriert: 18.06.2019 AutoCAD Civil 3D 2020 AutoCAD Civil 3D 2014 (verstaubt in der Ecke)
|
erstellt am: 19. Jun. 2019 13:37 <-- editieren / zitieren --> Unities abgeben:
|
Hellfish122 Mitglied
Beiträge: 15 Registriert: 18.06.2019 AutoCAD Civil 3D 2020 AutoCAD Civil 3D 2014 (verstaubt in der Ecke)
|
erstellt am: 19. Jun. 2019 13:37 <-- editieren / zitieren --> Unities abgeben:
Danke für die Ausführliche Stellungnahme! Ich werde mir wohl tatsächlich mal die Zeit nehmen müssen um so nen Algoritmus zu erstellen, aber die Einarbeitungszeit in diese Materie wird mir der Chef wohl nicht zahlen wollen meine Prinzipieller Ansatz wäre (da von mir ein Linearer Vorgang gewünscht wird) Startobjekt, Startpunkt, und Bewegungsrichtung definieren lassen, -bei fehlender Fortsetung von Objekten --> Operation beenden und Linie erstellen -bei Multiplen Objekten in einem Punkt nach Spezifikation fragen --> Auswahl des zu verfolgenden Objekts durch Benutzer wie gesagt, es geht um Vermessungszüge die eigentlich im Idealfall recht sauber vorliegen, und wie im (seit kurzem) Startext angehängtem Beispiel nicht zu oft mit anderen Linien kollidieren. Eventuell schieße ich mit meinen überlegungen ja auch übers Ziel hinaus, aber anscheinend steht mir diese art der Bearbeitung in Zukunft öfter bevor, und da würde es sich lohnen die Geschichte mit minimaler Handarbeit ablaufen lassen zu können. Aktuell verwende ich Verbinden, und breche dann die falsch verbundenen wieder Auf. Danke für den Tipp mit " FASTSEL"! Das werde ich mir gleich mal ansehen, möglicherweise reicht es ja wenn ich die besagte Linie damit auswähle und vor dem verbinden aus dem Arbeitsbereich rausschiebe und bereinige vor dem Verbinden. unterm Strich bleibt CAD zeichnen wohl doch immer (zum Teil) Handarbeit und das ist ja auch gut so, sonst sind manche von uns wohl auch ihren job los (KI sei dank) 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: 2799 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2022 AEC-Collection Plateia, Canalis Visual Basic
|
erstellt am: 19. Jun. 2019 14:45 <-- editieren / zitieren --> Unities abgeben: Nur für Hellfish122
Im Prinzip ist der Algorithmus gar nicht so wild. Wir haben das in unseren Anfangsautocadzeiten uns auch von einem externen Programmierer entwickeln lassen (weshalb ich die Routine auch nicht weitergeben kann), war gar nicht so teuer. Inzwischen könnte ich das auch selber und hab das Prog auch schon weiter an unsere Bedürfnisse angepasst. - Du brauchst eine Liste der zu behandelnden Elemente (Selectionset nach zu behandelnder Ebene) - daraus machst Du aus den Anfangs- und Endpunkten eine zweite Liste (gerundet nach Fuzzyabstand) in der Du vermerkst wie viele Linien davon weggehen und welche Linie das ist (entity oder Handle) - Dann fügst du die Linien, beginnend bei denen mit einem oder mehr als zwei Linien, neu zusammen (evtl. andere Ebene) bis zu dem Endpunkt der wieder nur eine oder mehr als zwei Linien hat und löscht evtl. die schon vorhandenen. Grüße Klaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ingenieur Studio HOLLAUS Mitglied CAD / CAFM / GIS Beratung-Programmierung-Schulung
Beiträge: 1049 Registriert: 06.11.2008 Autocad 2 bis Autocad 2020 (+Map3D, +Civil3D, +Infraworks) RKV .... CAFM+mehr HMap ... Vermessung und Verkehr OoC .... Raumplanung CBox ... Tools für AutoCAD und BricsCAD (kostenfrei)
|
erstellt am: 24. Jun. 2019 08:45 <-- editieren / zitieren --> Unities abgeben: Nur für Hellfish122
|
CADsolutions Mitglied Konstrukteur Straßenbau
Beiträge: 403 Registriert: 04.01.2013 AutoCAD Civil 3D 2018.2 Windows 7 64bit
|
erstellt am: 02. Jul. 2019 18:50 <-- editieren / zitieren --> Unities abgeben: Nur für Hellfish122
Zitat:Ziel der Ganzen Aktion ist aktuell zwischen manchen Linien effizient eine Böschungssignatur (skript) einfügen zu können (obere linie, untere linie, signaturabstand) Moin, MAPCLEAN kann auch nicht schaden, wenn man vor hat die Daten als Bruchkanten einem DGM zuzuführen. Anbei ein Bildchen, welche Auswahl sich für mich bewehrt hat.. Anschließend einfach alles auswählen und "VERBINDEN". Ich würde daraus auch ein DGM machen und diesem einen Höhenlinienstil geben. Dann kannst Du deutlich sehen, wo die Böschungen sind. Für die Böschungssignatur brauchst Du keinen Skript. Die ist in den DACH Extension enthalten. Anbei mal die aufbereiteten Daten.. Gruß CADso Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|