| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Polylinien-Fläche zu Linie umwandeln möglich? (9333 mal gelesen)
|
DeHiro Mitglied Maschinenbautechniker
Beiträge: 10 Registriert: 26.03.2009
|
erstellt am: 26. Mrz. 2009 13:21 <-- editieren / zitieren --> Unities abgeben:
Hallo Zusammen! Erstmal sorry, sollte ich mich unklar ausdrücken, aber ich bin absoluter CAD Neuling.(ok, vor 20 jahren mal ein paar Stunden CAD auf einem 268er Rechner gehabt) Für ein Projekt zur Erstellung von GPS Karten verwende ich DXF Files. Auf diesem File sind tausende von Polylinien. Einge haben den Anfangs und Endpunkt an der gleichen Stelle, sind also "richtig" geschlossen. Nun habe ich das Problem, das beim Import dieses DXF Files in meine Kartenerstellungssoftware genau diese "geschlossenen" Polylinien aber als Fläche importiert werden. Meine frage nun: besteht die Möglichkeit, diese speziellen Flächen-Polylinien zu selektieren , und so zu verändern, das einfache Polylinien daraus werden? Hat jemand eine Idee? Gruss Robert
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
oerli Mitglied Selbständiger Konstrukteur im Innenausbau
Beiträge: 45 Registriert: 17.02.2009 -Vista Ultimate -AMD Phenom(tm)8650 Triple-Core Processor 2.30GHz -4GB Arbeitsspeicher -Grafikkarte NVIDIA GeForce 9600GT mit 1GB Ram -AutoCAD 2007 -AutoCAD 2009
|
erstellt am: 26. Mrz. 2009 13:28 <-- editieren / zitieren --> Unities abgeben: Nur für DeHiro
|
DeHiro Mitglied Maschinenbautechniker
Beiträge: 10 Registriert: 26.03.2009
|
erstellt am: 26. Mrz. 2009 13:33 <-- editieren / zitieren --> Unities abgeben:
Hallo Patrik so einfach ist es leider nicht, ich spreche von tausenden Polylinien, und diese geschlossenen sind gut versteckt... Als erstes müsste man die alle auf einmal finden. Und auch auf einmal umwandeln. Mir werden auf diesem Layer 1200 Linien bzw Elemente angezeigt, es geht um eine topografische Karte! gruss Robert Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 bis ACA 2013 Arcibem System: Windows Internet-Startseite: http://www.archi.de
|
erstellt am: 26. Mrz. 2009 13:39 <-- editieren / zitieren --> Unities abgeben: Nur für DeHiro
Hallo Robert, und herzlich Willkommen auf CAD.de eventuell reicht es schon, alle Polylinien auszuwählen, und bei diesen unter den Eigenschaften "offen" einzustellen. Grüsse, Henning ------------------ Henning Jesse VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 26. Mrz. 2009 13:41 <-- editieren / zitieren -->
Hi, mit 'Schnellauswahl' kannst Du mal nach Objekttyp = 'Polylinie' und nach Eigenschaft 'Geschlossen' = 'ja' suchen bzw. die gefunden Elemente selektieren lassen. Damit hast Du mal alle geschlossenen Polylinien selektiert, ABER (musste doch kommen ) im Eigenschaftsfenster jetzt 'geschlossen' auf 'nein' zu stellen kann negative Folgen haben, nämlich dass das letzte Stück der Polyline dann geometrisch fehlt, damit fällt aus meiner Sicht das aus. Also bleibt aus meiner Sicht nurmehr 'ursprung' und aus diesen geschlossenen Polylinien werden einzelne Linien und Bögen. Mit Programmierung könnte man alle Polylinien nehmen und auf zwei aufteilen, inwieweit Dir solche Mittel zur Verfügung stehen, weiss ich nicht. Und noch ein kleiner Tip, vielleicht mal auf die andere Seite geschaut: Mit welcher Software lest Du denn das DXF ein, wenn es eine 'echte' GIS-Software ist, dann sollte beim Import oder bei der Darstellung wohl ein Hakerl oder eine Einstellungsmöglichkeit vorhanden sein, ob ich ein Thema als Flächen oder als Linien einlesen will, mal schauen. - alfred - ------------------ www.hollaus.at |
DeHiro Mitglied Maschinenbautechniker
Beiträge: 10 Registriert: 26.03.2009
|
erstellt am: 26. Mrz. 2009 13:59 <-- editieren / zitieren --> Unities abgeben:
Hallo Henning der Kartensoftware ist es egal ob zu oder offen. Nur diese auch "physisch" geschlossenen machen Probleme. Wiztigerweise ist es so , sobald nur ein Element dieser geschlossenen Flächenpolylinie(Sorry für den Ausdruck) auf dem Layer unter hunderten ofener ist, erstellt meine Kartensoftware alle polylinien als Flächen. gruss Robert Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DeHiro Mitglied Maschinenbautechniker
Beiträge: 10 Registriert: 26.03.2009
|
erstellt am: 26. Mrz. 2009 14:36 <-- editieren / zitieren --> Unities abgeben:
|
DeHiro Mitglied Maschinenbautechniker
Beiträge: 10 Registriert: 26.03.2009
|
erstellt am: 26. Mrz. 2009 18:35 <-- editieren / zitieren --> Unities abgeben:
Hallo Alfred das geht leider nicht. Alle Linien sind gleich, nur die Pseudoflächen in Form geschlossener Polylinen (also die mit Anfangs- und Endpunkt an der gleichen Stelle)reagiert beim konvertieren ins Kartenprogrammm anderst! Aufgabe wäre es, die geschlossenen Polylinen auf einmal zu selektieren und dann zu "öffnen", evtl in dem ein Punkt entfernt wird. Ist das lösbar? Von Hand wäre das eine Arbeit von Wochen gruss Robert
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 26. Mrz. 2009 18:44 <-- editieren / zitieren -->
Hi Robert, ich halte es mal für fraglich, wenn ein Programm etwas automatisch umbaut (Linien zu Flächen) ohne eine Option dafür anzubieten, das eben nicht zu machen. Zitat: geschlossenen Polylinen auf einmal zu selektieren und dann zu "öffnen", evtl in dem ein Punkt entfernt wird
...das 'auf einmal selektieren' hab ich oben schon erklärt, einen Punkt zu entfernen bedeutet Datenveränderung an unbekannter Stelle ==> kann das wirklich Dein Wunsch sein? Zitat: Ist das lösbar? Von Hand wäre das eine Arbeit von Wochen
JA, entweder händisch in Wochen oder mit Programmierung auseinandersetzen. - alfred - ------------------ www.hollaus.at |
DeHiro Mitglied Maschinenbautechniker
Beiträge: 10 Registriert: 26.03.2009
|
erstellt am: 26. Mrz. 2009 18:57 <-- editieren / zitieren --> Unities abgeben:
Hallo Alfred vielen Dank für die Hilfe! Da das ganze später sowiso als "flache" Karte auf einem GPS Bildschirm erscheint, wäre das fehlen eines Punktes bei einer Auflösung von 1:5000 unerheblich. Ich sehe für mich nur 2 Lösungen, bleiben lassen, oder mittels anderer Software etwas verändern, programmieren kann ich nicht(leider) PS. Autocad (bzw ich habe hier das ZWCAD) ist nee tolle Sache, als Maschinenbautechniker wäre ich vielleicht beim Konstruieren geblieben, hätte es so was schon 1988 gegeben. Gruss Robert
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 bis ACA 2013 Arcibem System: Windows Internet-Startseite: http://www.archi.de
|
erstellt am: 26. Mrz. 2009 20:26 <-- editieren / zitieren --> Unities abgeben: Nur für DeHiro
Hallo Robert, nun, wenn Dir die Veränderung/Löschung der Anfangspunkte egal ist, dann probier mal das Programm: Code: (defun c:move-pl-1st-p ( / ss m ele eig p) (setq ss (ssget '((0 . "LWPOLYLINE"))) z -1) (or (setq m (getreal "x-Verschiebung [0.01]: ")) (setq m 0.01)) (while (setq ele (ssname ss (setq z (1+ z)))) (setq eig (entget ele) p (cdr (assoc 10 eig))) (entmod (subst (cons 10 (list (+ m (car p)) (cadr p))) (cons 10 p) eig)) ) )
es verschiebt den ERSTEN Punkt einer Polylinie in X-Richtung. Geht aber nur mit 2D-Polylinien. mit 3D-Pl's ist mir jetzt zu aufwändig Allerdings wundert mich wirklich, wie Deine Kartensoftware überhaupt am Markt sein kann, bei solchen Fehlern . Grüsse, Henning Wie LISP Tool laden ------------------ Henning Jesse VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 26. Mrz. 2009 22:07 <-- editieren / zitieren --> Unities abgeben: Nur für DeHiro
@Henning hier "darfst" du subst nicht einsetzen, weil subst dir alle Elemente in der Liste ersetzt welche deinem "Filter" [hier: (assoc 10 eig)] entsprechen. Es werden also alle dotpairs der Liste ersetzt welche dem ersten gc10+gleichem Wert entsprechen - hier besonders blöd weil du Anfangs UND Endpunkt verschiebst , somit sind Sie beiden verschoben und immernoch identisch! Ich wollte eigentlich auch einen 5Zeiler schreiben, aber ich überlegte und da kam mir in den Sinn das es mit 5Zeilen eng wird. Versatz nicht um festen Wert - lieber berechnen lassen Nur die Polylinien bearbeiten bei denen es nötig ist und hinterher die entmod-liste noch zusammenstückeln DAS war mir für die Uhrzeit jetzt zuviel für etwas was nur ein Mensch braucht. Aber dein SUBST war mir der Post wert ------------------ die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 bis ACA 2013 Arcibem System: Windows Internet-Startseite: http://www.archi.de
|
erstellt am: 26. Mrz. 2009 22:49 <-- editieren / zitieren --> Unities abgeben: Nur für DeHiro
[Stirnklatsch] Autsch[/Stirnklatsch] Man sollte doch testen... Besser so (Mist schon 8 Zeilen ): Code: (defun c:move-pl-1st-p ( / ss m ele eig p hinten vorn) (setq ss (ssget '((0 . "LWPOLYLINE"))) z -1) (or (setq m (getreal "x-Verschiebung [0.01]: ")) (setq m 0.01)) (while (setq ele (ssname ss (setq z (1+ z)))) (setq eig (entget ele) p (assoc 10 eig)) (setq vorn (reverse (while (/= 10 (car (setq 1st (car eig)))) (setq eig (cdr eig) vorn (cons 1st vorn))))) (if (member p (setq hinten (cdr (member p eig)))) (entmod (append vorn (list (cons 10 (list (+ m (cadr p)) (caddr p)))) hinten)) ) ) )
Grüsse, Henning------------------ Henning Jesse VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de [Diese Nachricht wurde von wronzky am 27. Mrz. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 27. Mrz. 2009 07:18 <-- editieren / zitieren --> Unities abgeben: Nur für DeHiro
|
DeHiro Mitglied Maschinenbautechniker
Beiträge: 10 Registriert: 26.03.2009
|
erstellt am: 27. Mrz. 2009 12:44 <-- editieren / zitieren --> Unities abgeben:
Hallo Henning, und cadffm, Ihr Nachtarbeiter! Wahnsinn, das ist ja ein Ding! Vielen Dank, ich werde es heute Abend ausprobiern! Zum Thema Kartensoftware: Magellan ist nun mal nicht sehr darauf bedacht, Kunden die Möglichkeit zu geben, selbst Karten zu erstellen. Die verkaufen die lieber selbst. Aber im GIS Bereich für Profis gibt es einige, allerdings eingeschränkte möglichkeiten. Und damit muss ich leider leben, da nur diese Software die Karten ins Magellanformat schreibt Gruss Robert Erfolgsmeldung gibts erst heute Abend, bei der Arbeit darf ich nicht ...... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DeHiro Mitglied Maschinenbautechniker
Beiträge: 10 Registriert: 26.03.2009
|
erstellt am: 29. Mrz. 2009 18:34 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank an dieses hilfsbereite Forum, besonderst an Henning! es hat super funktioniert. Dadurch ist es erst möglich geworden, mein kleines Kartenprojekt weiterzuführen. im wahren Sinne: Hochachtungsvolle Grüsse (Wenn ich nur auch programmiern könnte, aber alles ist leider nicht möglich) Robert Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |