| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Duplicate löschen mit mapclean und overkill (2539 / mal gelesen)
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 15. Feb. 2017 20:55 <-- editieren / zitieren --> Unities abgeben:
Hallo! Das Problem ist, ich habe eine Punktwolke mit ca. 4 mio Punkten (Points) in einer Zeichnung. Dabei liegen viele der Punkte exakt aufeinander. Das zu bereinigen erledigt mapclean oder auch overkill. Bei dieser Datenmenge führen beide Befehle jedoch zum Autocadabsturz, was mich auch nicht verwundert, weil Acad bekannterweise Grenzen in Datenmengenbearbeitung hat und dafür nicht ausgelgt ist. Habt ihr einen Trick (Programm, Lösungsansatz ect) der mir weiterhelfen würde ? ------------------ Gruss Dirk Blog
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: 15. Feb. 2017 22:35 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Ich kenne zwar keine definierten Grenzen, zudem keine die in einen Error laufen (was bei klar definierten Grenzen auch Unsinn wäre), aber Aufräum und ich denke auch MapClean bietet eine Objektwahl an, also die Aktion für in mehrere Durchläufe stückeln? Du schreibst Punktwolke und Points, also kein Punktwolken-Objekt? Ohne es zu testen würde Aufräum sich auch nicht um Punktwolken scheren. Ist nur laut gedacht. Falls es dir "nur" um doppelte Elemente geht, da wäre ja mal interessant wie es mit eigenem Code in .Net ausschaut. Da man sich nur auf eine Vergleichseigenschaft bezieht sollte es mit der Performance möglicherweise besser ausschauen können wie über Autocadfunktionen. ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RL13 Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Bauwesen
Beiträge: 2373 Registriert: 23.10.2008 Civil 3D 2018.1 Civil 3D 2016 64 Bit SP 3 mit DACH und Extensions W7 Professional 64Bit HP Z440 Intel Xeon CPU E5-1620 v4 32 GB RAM NVIDIA Quadro P4000
|
erstellt am: 16. Feb. 2017 09:58 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Zitat: Habt ihr einen Trick (Programm, Lösungsansatz ect) der mir weiterhelfen würde ?
Mein Vorschlag für CIVIL nach dem Motto "von Hinten durch die Brust ins Auge" 1. DGM aus allen Punkten erstellen (Dabei sollten doppelte Punkte bereits ausgeschlossen werden) 2. Im DGM-Stil die Punkte anzeigen lassen 3. mit _AeccSurfaceExtractObjects die Punkte aus dem DGM wieder extrahieren
------------------ mfg Roman Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 17. Feb. 2017 15:48 <-- editieren / zitieren --> Unities abgeben:
Roman genial deine Lösung - vielen Dank, dem werde ich nachgehen. Net hilft da nicht besonders weiter, der Zugriff auf 4 mio points ist auch da schwer. Mit Grenzen meine ich keine Programmfehler, sondern Grenzen was die 1-thread-Autocad applikation schafft und machbar ist. Das ist alltbekannt, dass Autocad nie über seinen Schatten springen wird. Da die Grundtechnologie aus den 80er Jahren nicht auf die neusten i7-Prozessoren angepasst ist und auch nicht wird. Schönes WE! ------------------ Gruss Dirk Blog
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
archtools Mitglied
Beiträge: 823 Registriert: 09.10.2004 Entwickler für AutoCAD, BricsCAD u.a., alle Systeme
|
erstellt am: 18. Feb. 2017 16:20 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Zitat: Original erstellt von cadplayer: Roman genial deine Lösung - vielen Dank, dem werde ich nachgehen. Net hilft da nicht besonders weiter, der Zugriff auf 4 mio points ist auch da schwer. Mit Grenzen meine ich keine Programmfehler, sondern Grenzen was die 1-thread-Autocad applikation schafft und machbar ist. Das ist alltbekannt, dass Autocad nie über seinen Schatten springen wird. Da die Grundtechnologie aus den 80er Jahren nicht auf die neusten i7-Prozessoren angepasst ist und auch nicht wird.Schönes WE!
Dabei geht es nicht um die Möglichkeiten der Prozessoren, denn die haben damit nichts, aber auch gar nichts zu tun. Genau so wenig wie das Threading. Es kann, wenn AutoCAD hier nicht irgendwelche Programmfehler enthält, nur um die Grenzen bezüglich des Speichers gehen und um Grenzen bezüglich der Bearbeitungszeit. Nur Speichergrenzen können dabei zu Fehlern im Programmablauf führen. 4 Mio zu prüfende Datensätze dürften die Speicherkapazität heutiger Rechner nicht überstrapazieren. Aber das hängt im Einzelfall von der Art der Programmierung ab. Rekursiv sollte man nicht an so ein Problem herangehen.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 18. Feb. 2017 17:30 <-- editieren / zitieren --> Unities abgeben:
du meinst allen Ernstes Autocad und Datenverarbeitung haben "auch" gar nichts mit Processorleistung zu tun. Habe ich das richtig verstanden? Gut angenommen ja, die Speicherkapizität zu erhöhen würde das Problem lösen, meine workstation, wie gesagt mit i7 quadri und 16GB RAM ist relativ gut bestückt. Deiner Meinung müsste eine Speichererweiterung abhilfe schaffen. Dem sehe ich kritisch gegenüber. Ein Test mit Civil3d genügt, diese Aussage zu wiederlegen, der integrierte Objectviewer läuft im Vergleich zum Autocad Modelspace wesentlich schneller - also liegt das nicht am Speicher oder Processor sondern an der Software. Meine Aussage bezieht sich darauf, dass Autocad nicht schneller werden würde auch wenn man die Hardware verbessert. In den 80er liefen Programme auf 8bit CPU heute haben wir 64bit und vervielfachen mit mehreren prozessoren. Da ist genügend rechengeschwindigkeit, aber die berechnungsfähigkeit immernoch gering. 1- threading spricht nur einen Prozessor an. Das merke ich darin dass der RAM nich genügend auslagern kann und bei 8GB abstürzt. Moderne Programme nutzen durchaus die volle Breite von 16GB. Das ist meine Sicht, vielleicht liege ich auch falsch. Mir würde es mehr gefallen, Vorschläge zu machen, wie ich das Problem lösen kann !!! ------------------ Gruss Dirk Blog
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: 18. Feb. 2017 18:18 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Zitat: du meinst allen Ernstes Autocad und Datenverarbeitung haben "auch" gar nichts mit Processorleistung zu tun
So eine Aussage kann ich oben gar nicht erkennen. Ich lese nicht einmal den Begriff "Datenverarbeitung" in einem der oberen Posts. Zitat: Ein Test mit Civil3d genügt, diese Aussage zu wiederlegen, der integrierte Objectviewer läuft im Vergleich zum Autocad Modelspace wesentlich schneller
Der Objectviewer in Civil 3D setzt auf eine ganz andere Technik für das Display, kann aber weder doppelte Punkte erkennen noch die Anzeige irgenwelcher Konstruktionsaufgaben/Geometriemodifikationen/nicht mal die Aufgabe von Punktfängen erkennen übernehmen. Daher verstehe ich die Aussage nicht, dass dies ein Beweis für irgendwas wäre. Es stimmt schon, dass AutoCAD ein Single-Threaded System ist, aber da Du programmieren kannst, nutze halt Multithreading für die schnellere Auffindung von doppelten Punkten. Zitat: aber die berechnungsfähigkeit immernoch gering. 1- threading spricht nur einen Prozessor an. Das merke ich darin dass der RAM nich genügend auslagern kann und bei 8GB abstürzt
Schlecht ... mein AutoCAD kann meine 32GB nutzen und stürzt nicht bei 8GB ab. Zitat: Meine Aussage bezieht sich darauf, dass Autocad nicht schneller werden würde auch wenn man die Hardware verbessert
Mein AutoCAD wurde jeweils schneller, wenn ich einen schnelleren Prozessor und/oder schnelleres Memory mit höherem Takt hineingesteckt habe (und im Bios entsprechend angepasst wurde), wenn das bei Dir nicht so sein sollte, dann läuft irgendwas falsch. ------------------
[Diese Nachricht wurde von Ingenieur Studio HOLLAUS am 18. Feb. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
archtools Mitglied
Beiträge: 823 Registriert: 09.10.2004 Entwickler für AutoCAD, BricsCAD u.a., alle Systeme
|
erstellt am: 18. Feb. 2017 19:25 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Zitat: Original erstellt von cadplayer: du meinst allen Ernstes Autocad und Datenverarbeitung haben "auch" gar nichts mit Processorleistung zu tun. Habe ich das richtig verstanden?
Ich meine allen Ernstes, dass die STABILITÄT der Datenverarbeitung durch AutoCAD absolut gar nichts mit der Prozessorleistung zu tun hat. Die Prozessorleistung betrifft AUSSCHLIESSLICH die Ablaufgeschwindigkeit der Datenverarbeitung. Es ist ein ganz allgemeines Grundprinzip der Datenverarbeitung, dass jeder (AUSNAHMSLOS JEDER) Algorithmus auf jeder (AUSNAHMSLOS JEDER) fehlerfrei konstruierten Maschine gleich abläuft. Alles, was auf dem derzeit leistungsfähigsten Rechner der Welt abgearbeitet wird, kann genau so gut auch auf einer Turing-Maschine ablaufen, und wird darauf exakt die gleichen Ergebnisse liefern. Der einzige Unterschied besteht in der Zeit, in der die Maschine das Ergebnis liefert. AutoCAD betreibt keine komplizierte Datenverarbeitung. AutoCAD kann heute deshalb auch problemlos auf heute relativ einfachen Rechnern eingesetzt werden, ohne dass der Anwender wg Performanceverlusten ausgebremst wird. Dass CAD-Systeme besonders leistungsfähige Rechner brauchten, ist schon gut 20 Jahre her. Wenn ein Rechner heute schnell genug ist, um die Spiele eines 12jährigen laufen zu lassen, dann ist er für CAD allemal schnell genug. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 18. Feb. 2017 21:58 <-- editieren / zitieren --> Unities abgeben:
Sehr interessante Beiträge - vielen Dank dafür. Ich muss dafür wirklich mehr meinen Rechner checken. Gute Gedanken habe ich schon mal bekommen. Ist es theoretisch möglich mit mapclean 4 mio punkte nach duplikaten zu bereinigen und ohne ohne Autocad crash?? ------------------ Gruss Dirk Blog
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: 18. Feb. 2017 23:37 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Ergebnis bei 4mio Punkte: Bereinigungsstatistik: Geänderte Objekte :1562501 Gelöschte Objekte :2437500 Erstellte Objekte :0...und nie mehr als 5500MB Speicher gebraucht. (Windows 10 64bit / AutoCAD Map 3D 2017 0.3 Hotfix auf AutoCAD 2017 Update 1.1) ------------------
www.cars4fun.at Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 20. Feb. 2017 09:46 <-- editieren / zitieren --> Unities abgeben:
Der Versuch mir die Punkte aus dem Surface zu extrahieren scheitert genauso wie ein mapclean mit den 4 mio Punkten durchzuführen. So sieht es aus: Warum habe ich nur 8GB von 16 zur Verfügung, habe ich eventuell falsche Sytemeinstellungen ? ------------------ Gruss Dirk Blog
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: 20. Feb. 2017 11:51 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
RL13 Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Bauwesen
Beiträge: 2373 Registriert: 23.10.2008 Civil 3D 2018.1 Civil 3D 2016 64 Bit SP 3 mit DACH und Extensions W7 Professional 64Bit HP Z440 Intel Xeon CPU E5-1620 v4 32 GB RAM NVIDIA Quadro P4000
|
erstellt am: 20. Feb. 2017 13:25 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Zitat: Es kann, wenn AutoCAD hier nicht irgendwelche Programmfehler enthält, nur um die Grenzen bezüglich des Speichers gehen und um Grenzen bezüglich der Bearbeitungszeit. Nur Speichergrenzen können dabei zu Fehlern im Programmablauf führen.
Ich möchte behaupten das beide Punkte zutreffen 1. Es werden des Öfteren Probleme hier im Forum diskutiert, welche auch einfachste Geometriedatenbank-Objekte betreffen und seit Jahren von Autodesk fehlerhaft mitgeschleppt werden. 2. 4 Millionen Punkte mag sich im ersten Augenblick für heutige Speicherprozesse wenig anhören, sobald aber Matrizenoperationen durchgeführt werden müssen und diese eben nicht speichersparend/optimal programmiert sind werden aus den 4 Millionen Punkten mal eben (4.000.000 Punkte * 3 Koordinaten * 8 Byte (Doublewerte))^2 = 9,2 Petabyte ------------------ mfg Roman Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
archtools Mitglied
Beiträge: 823 Registriert: 09.10.2004 Entwickler für AutoCAD, BricsCAD u.a., alle Systeme
|
erstellt am: 20. Feb. 2017 14:48 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Zitat: Original erstellt von RL13:
2. 4 Millionen Punkte mag sich im ersten Augenblick für heutige Speicherprozesse wenig anhören, sobald aber Matrizenoperationen durchgeführt werden müssen und diese eben nicht speichersparend/optimal programmiert sind werden aus den 4 Millionen Punkten mal eben (4.000.000 Punkte * 3 Koordinaten * 8 Byte (Doublewerte))^2 = 9,2 Petabyte
Dass das eine ziemlich absurde Berechnung ist, ist Dir hoffentlich selbst klar. Das trifft nur zu, wenn diese 4 Mio Punkte allesamt in wechseleitiger Beziehung stehen und das in einer (in Ziffern: 1) Operation bearbeitet werden soll. Sowas käme im CAD-Umfeld nur vor, wenn Du beispielsweise durch Raytracing ein absolut genaues globales Beleuchtungsfeld berechnen möchtest. Aber auch da macht man sowas nicht, weil man sinnvollerweise - weil der Einfluss dann marginal wird - schon spätestens nach ein paar hundert Punkten Tiefenberechnung abbricht. Im konkreten Fall geht es nur um den Vergleich eines jeden Tripels mit allen anderen Tripeln. Das erfordert nur minimalsten Speicherbedarf, und die Rechenzeit hängt nur linear von der Anzahl der Punkte ab. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RL13 Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Bauwesen
Beiträge: 2373 Registriert: 23.10.2008 Civil 3D 2018.1 Civil 3D 2016 64 Bit SP 3 mit DACH und Extensions W7 Professional 64Bit HP Z440 Intel Xeon CPU E5-1620 v4 32 GB RAM NVIDIA Quadro P4000
|
erstellt am: 20. Feb. 2017 15:03 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Zitat: Dass das eine ziemlich absurde Berechnung ist, ist Dir hoffentlich selbst klar
jep, was ich damit zum Ausdruck bringen wollte ist, dass es innerhalb des Programmes Berechnungen geben kann, bei denen sich der Speicherbedarf exponentiell zur eigentlichen Objektanzahl verhält, aufgrund von durchzuführenden Operationen. noch ein Beispiel für Matrizen-OPS: FEM (hier hat auch jede Veränderung an einem Punkt Auswirkungen auf die angrenzenden Punkte)
Zitat: Im konkreten Fall geht es nur um den Vergleich eines jeden Tripels mit allen anderen Tripeln. Das erfordert nur minimalsten Speicherbedarf, und die Rechenzeit hängt nur linear von der Anzahl der Punkte ab.
Ja zum minimalen Speicherbedarf, nein zur linear abhängigen Rechenzeit, diese ist im schlechtesten Fall auch quadratisch abhängig von der zu vergleichenden Punkteanzahl(Quicksort-Algorithmus oder auch Bubblesort) ------------------ mfg Roman [Diese Nachricht wurde von RL13 am 20. Feb. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |