| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: ACAD 2012: Schraffur wird erst angezeigt und dann doch bemängelt (3787 mal gelesen)
|
Plenz Mitglied
Beiträge: 71 Registriert: 01.09.2010 ACAD Archi 2015
|
erstellt am: 11. Sep. 2014 13:46 <-- editieren / zitieren --> Unities abgeben:
Ich möchte per AutoLISP verschiedene Flächen schraffieren. Bei einer dieser Flächen kommt die Meldung "Point is outside of boundary" (ja, ist ein englisches AutoCAD). Das Verrückte: wenn ich "-HATCH" eintippe und mit dem Cursor über diese Fläche gehe, kommt eine korrekte Voranzeige der Schaffur. Aber wenn ich dann in die Fläche klicke, kommt wieder diese Fehlermeldung. Die Störstelle ist mir bekannt: eine der umgrenzenden Linien soll lotrecht auf eine andere Linie treffen, was sie anscheinend nicht tut. Allerdings ist der gemessene Abstand zwischen den Linien = 0.00000. Und wenn ich unter den Schraffuroptionen "gap" z.B. auf 0.1 setze, bringt das überhaupt nichts. Ich kann auch sämtliche Flächen schraffieren, die sich um die betreffende Fläche herum befinden. Folglich muss diese Fläche eine korrekte Umgrenzung haben. Wieso ist die Vorschau "schlauer" bzw. fehlertoleranter als die echte Ausführung? Und wie überrede ich AutoCAD, die Fläche dann doch gemäß der Vorschau zu schraffieren?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jupa Ehrenmitglied V.I.P. h.c. Ruheständler
Beiträge: 6050 Registriert: 16.09.2004 Windows 10 64bit, ACAD Rel. 14 - ACAD 2023
|
erstellt am: 11. Sep. 2014 13:59 <-- editieren / zitieren --> Unities abgeben: Nur für Plenz
[Glaskugelmodus] Befinden sich innerhalb der zu schraffierenden Kontur weitere Inseln und ist die Inselerkennung möglicherweise deaktiviert (HPISLANDDETECTIONMODE)? [/Glaskugelmodus] Jürgen ------------------ Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty) [Diese Nachricht wurde von jupa am 11. Sep. 2014 editiert.] [Diese Nachricht wurde von jupa am 12. Sep. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Entsorger01 Moderator Techniker
Beiträge: 3263 Registriert: 07.07.2006 ACAD 2021 Acrobat Prof. Creative Suite WIN10
|
erstellt am: 11. Sep. 2014 14:12 <-- editieren / zitieren --> Unities abgeben: Nur für Plenz
Lösch bis auf diese Fläche alles andere aus der Zeichnung raus und lad sie hier hoch. Ansonsten wird's ein Rätselraten ------------------ Gruß Michi "Es ist schon alles gesagt, nur noch nicht von allen." (Karl Valentin) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jupa Ehrenmitglied V.I.P. h.c. Ruheständler
Beiträge: 6050 Registriert: 16.09.2004 Windows 10 64bit, ACAD Rel. 14 - ACAD 2023
|
erstellt am: 11. Sep. 2014 14:18 <-- editieren / zitieren --> Unities abgeben: Nur für Plenz
|
Plenz Mitglied
Beiträge: 71 Registriert: 01.09.2010 ACAD Archi 2015
|
erstellt am: 11. Sep. 2014 15:26 <-- editieren / zitieren --> Unities abgeben:
Ja sorry erst mal - neuer Job, neues AutoCAD Hab den Eintrag gerade korrigiert. Ich wollte vorhin schon eine Demo-Zeichnung anhängen. Aber nachdem ich alle irrelevanten Sachen gelöscht hatte, funktionierte die Schraffur plötzlich. Inzwischen habe ich die Sache aber weiter analysiert. Es geht eigentlich darum, dass ich die Fläche mit einer Polylinie umranden möchte. Mittel der Wahl ist dafür der Befehl _BOUNDARY. Der funktionierte aber nicht immer, dagegen schien das Schraffieren zuverlässiger zu sein, deshalb wollte ich Schraffuren erzeugen, die Eckpunkte auslesen und speichern, die Schraffur löschen und die Eckpunkte nachzeichnen. Wie auch immer: auf der beigefügten Zeichnung kann man die Fläche schraffieren, aber _BOUNDARY erzeugt nach wie vor den besagten Fehler. Fragt sich also, wo der Unterschied ist, warum das eine funktioniert und das andere nicht, vielleicht bringt mich das ja schon weiter. _BOUNDARY funktioniert übrigens, wenn man die beiden roten Kreise durch eine Linie verbindet, dann wird die problematische Ecke abgeschnitten. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Entsorger01 Moderator Techniker
Beiträge: 3263 Registriert: 07.07.2006 ACAD 2021 Acrobat Prof. Creative Suite WIN10
|
erstellt am: 11. Sep. 2014 15:40 <-- editieren / zitieren --> Unities abgeben: Nur für Plenz
Zitat: Original erstellt von Plenz: ...deshalb wollte ich Schraffuren erzeugen, die Eckpunkte auslesen und speichern, die Schraffur löschen und die Eckpunkte nachzeichnen.
Mal unabhängig von dem "_BOUNDARY-Problem" - Wenn du eine Schraffur hast, kannst du mit SCHRAFFEDIT eine neue Umgrenzung (Polylinie nicht mit der Schraffur verknüpft) erzeugen. Das auslesen der Eckpunkte usw. ist überflüssig. ------------------ Gruß Michi "Es ist schon alles gesagt, nur noch nicht von allen." (Karl Valentin) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Entsorger01 Moderator Techniker
Beiträge: 3263 Registriert: 07.07.2006 ACAD 2021 Acrobat Prof. Creative Suite WIN10
|
erstellt am: 11. Sep. 2014 15:58 <-- editieren / zitieren --> Unities abgeben: Nur für Plenz
So, nun zur Umgrenzung. Aus irgendeinem, mir nicht bekannten Grund, stört sich _BOUNDERY an der kurzen Linie links neben dem "Problemeck". Wenn man die löscht, oder nur den Endpunkt verschiebt, funktioniert der Befehl einwandfrei. Anderer Würgarround: sehr weit herauszoomen. Dann kommt ACAD offenbar mit dem Fuzzy-Abstand rechnerisch nicht mehr klar und erstellt die Umgrenzung. ------------------ Gruß Michi "Es ist schon alles gesagt, nur noch nicht von allen." (Karl Valentin) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Plenz Mitglied
Beiträge: 71 Registriert: 01.09.2010 ACAD Archi 2015
|
erstellt am: 11. Sep. 2014 16:48 <-- editieren / zitieren --> Unities abgeben:
Danke für deine Bemühungen, aber das Korrigieren von Knackpunkten hilft mir nicht weiter. Wenn mein Programm abbricht und ich irgendwas per Hand korrigieren muss, um das Programm erneut laufen zu lassen, kann ich ja gleich alles per Hand machen. Ich habe mir gerade ein Script gebastelt, dass sämtliche Linien an beiden Seiten um 0.1 verlängert. Aus allen Berührungspunkten sind somit Kreuzungen geworden. Eindeutiger geht's doch gar nicht für die Umgrenzungserkennung, aber das Problem besteht weiterhin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADraxas Mitglied Landschaftsarchitekt
Beiträge: 55 Registriert: 27.08.2008 PC: HP Z230, Win7 64bit, Intel Xeon E3-3,4 Ghz, 16 GB RAM, AcadMap 2015 SP2, WS-Landcad 2015, Firefox
|
erstellt am: 11. Sep. 2014 16:56 <-- editieren / zitieren --> Unities abgeben: Nur für Plenz
Hallo Michi, hallo Plenz, ein interessanter Fall. Ich messe an der Problemecke einen Abstand zwischen der senkrechten und der (rechten) waagerechten Linie von "Abstand = 0.00000007". Toleranz auf 0.1 sollte also auch helfen können. Aber der Boundery-Befehl ist meiner Erfahrung nach schon immer etwas zickig gewesen... (Ich glaube , dass Umgrenzung auf denselben Toleranzwert zurückgreift, wie unter Schraffur eingestellt, wenn ich mich recht erinnere) Ein Verbinden der beiden Linien zu einer PL hat vorerst keine Wirkung. Danach allerdings kann ich beim 3. Versuch eine Schraffur erzeugen, vor allem, wenn ich vorher eine Vorschau der Fläche "darunter" erzeugt habe. Weiß der Teufel, wieso? Schraffieren mit Objektwahl geht übrigens ... Ich schicke mal ein Bild mit der ersten Fehlermeldung. Vielleicht mal mit bereinigen, falls ein AutoCAD-Map greifbar ist? Viel Erfolg!
Volker Ach, das Bild vergessen... [Diese Nachricht wurde von CADraxas am 11. Sep. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Plenz Mitglied
Beiträge: 71 Registriert: 01.09.2010 ACAD Archi 2015
|
erstellt am: 11. Sep. 2014 18:04 <-- editieren / zitieren --> Unities abgeben:
Wieso ist BOUNDARY zickiger als Schraffieren? Ich kann mir nicht vorstellen, dass Autodesk zwei verschiedene Algorithmen für die selbe Aufgabe programmiert hat. Und wenn irgendwelche Lücken wirklich das Problem wäre, könnte man ja mit der Einstellung GAP die Fehlertoleranz vergrößern. Und vor allem: die Schraffur-Voransicht funktioniert. Warum wird beim Klicken nicht einfach das schraffiert, was die Voransicht zeigt? Rätsel über Rätsel... 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: 11. Sep. 2014 18:41 <-- editieren / zitieren --> Unities abgeben: Nur für Plenz
Die Voransicht läuft über ganz andere Programmteile, dies mit der "Schraffieren" Funktion zu erledigen wäre wohl der total PerformanceGau (ist so ja bereits schlimm genug). Das Boundary und Schraffur andere Routinen nutzen merkst du ja, da braucht man es nicht mehr in Frage zu stellen. Toleranz: Nicht (nur) der Toleranzwert spielt da mit, nein, Acad arbeitet in weiten Teilen mit der display...fragmichnichtwiedasheißt. Es ist also abhängig davon was/WIE am Monitor zu sehen ist bei dem Ablauf. (Zoome weit genug weg, dann wird dir auch die Umgrenzung erstellt). Und generell: Du wirst daran nichts wirklich ändern können. ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jupa Ehrenmitglied V.I.P. h.c. Ruheständler
Beiträge: 6050 Registriert: 16.09.2004 Windows 10 64bit, ACAD Rel. 14 - ACAD 2023
|
erstellt am: 11. Sep. 2014 19:30 <-- editieren / zitieren --> Unities abgeben: Nur für Plenz
Zitat: Original erstellt von Plenz:
Ich kann mir nicht vorstellen, dass Autodesk zwei verschiedene Algorithmen für die selbe Aufgabe programmiert hat.
Eine solche Aussage (wenn es denn eine Feststellung sein soll) halte ich für sehr gewagt und im konkreten Fall übersteigt der Einfallsreichtum der AutoCAD-Programmierer offenbar Dein Vorstellungsvermögen Aber zur Sache. Die Geometrie enthält einige Unsauberkeiten. Im Bild1 habe ich mal einen der von mir untersuchten Bereiche gekennzeichnet (unten links). Die von rechts kommende Linie ist zu lang, in Bild2 mit "zurückstuzen" (sollte "zurückstutzen" heißen )gekennzeichnet. Nach dem stutzen blieb das Problem weiterhin bestehen. Habe ich als nächstes die kleine waagerechte Linie gelöscht (Bild3) und voila - "Umgrenzung" funktioniert problemlos (funktioniert übrigens auch ohne die obere Linie zu stutzen). Nachdem ich die Linie erneut eingezeichnet habe (vom Endpunkt links lotrecht auf die senkrechte, trifft die Senkrechte auch wieder ein wenig zu tief) geht Umgrenzung immer noch. Ohne das nun weiter zu untersuchen, wo die kleinen Unsauberkeiten herkommen lehne ich mich mal weit aus dem Fenster und sage - Problemverursacher sind Unsauberkeiten bei der Geometrieerstellung. Bei 100% intakter Geometrie tauchen die Probleme auch nicht auf. Jürgen ------------------ Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jupa Ehrenmitglied V.I.P. h.c. Ruheständler
Beiträge: 6050 Registriert: 16.09.2004 Windows 10 64bit, ACAD Rel. 14 - ACAD 2023
|
erstellt am: 12. Sep. 2014 06:04 <-- editieren / zitieren --> Unities abgeben: Nur für Plenz
Oh sorry, ich sehe erst jetzt, daß sowohl Michi als auch Volker bereits zu den gleichen Erkenntnissen gekommen waren. (Hatte an der Zeichnung bißchen rumgetestet, war zwischenzeitlich mal weg, dann Beitrag fertiggestellt - inzwischen waren andere schneller ). Jürgen ------------------ Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jupa Ehrenmitglied V.I.P. h.c. Ruheständler
Beiträge: 6050 Registriert: 16.09.2004 Windows 10 64bit, ACAD Rel. 14 - ACAD 2023
|
erstellt am: 12. Sep. 2014 07:05 <-- editieren / zitieren --> Unities abgeben: Nur für Plenz
Zitat: Original erstellt von Plenz: aber das Korrigieren von Knackpunkten hilft mir nicht weiter.
Dann aber vielleicht das Erstellen "sauberer" Geometrie? (Eine der Grundvoraussetzungen, damit AutoCAD "funktioniert"). Sicher, rein theoretisch dürfte AutoCAD dort nicht meckern. Aber vermutlich kommt es doch mit dem kleinen 7*10^-8 Absatz und der um 0,2° abgehenden Linie an die Grenzen seiner Rechengenauigkeit und verheddert sich? Ich kann es nicht mit Bestimmtheit sagen und wenn man tatsächlich genau eine solche Geometrie bräuchte und wöllte, dann hätte man in der Tat ein Problem. Aber in Deinem Fall ist die Geometrie so doch bestimmt ohnehin nicht gewollt, oder? Also meine Empfehlung: Nicht versuchen, vorhandenen Pfusch (nicht persönlich nehmen) irgendwie zu übertünchen, sondern das Problem an der Wurzel angehen. Jürgen ------------------ Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADraxas Mitglied Landschaftsarchitekt
Beiträge: 55 Registriert: 27.08.2008 PC: HP Z230, Win7 64bit, Intel Xeon E3-3,4 Ghz, 16 GB RAM, AcadMap 2015 SP2, WS-Landcad 2015, Firefox
|
erstellt am: 12. Sep. 2014 08:33 <-- editieren / zitieren --> Unities abgeben: Nur für Plenz
Moin, @ Jupa: saubere Geometrie ist nicht immer einfach. Wenn ich einen Erschließungsplan konstruiere (und ich weiß, ich arbeite ziemlich sauber...), bin ich schon manchmal erstaunt, woran sich Acad stört bzw. wie ungenau dann am Ende manches ist. Nun bin ich in der glücklichen Lage, über AcadMap zu verfügen, und kann über die Bereinigungsfunktion und Topologieen geschlossene Polylinien erstellen. @ Plenz: In Deinem Fall hilft wohl doch nur manuelles Nacharbeiten, z.B. über runden/fasen mit Radius Null. Oder du lädst Dir eine Testversion von Map runter... Oder s.u.: Nicht mit Solid sondern z.B. Ansi31 schraffieren. --- Noch ein paar Anmerkungen zum Schraffieren bzw. Umgrenzung: Umgrenzung ist ein Befehl, der Trotz Toleranz von Null meiner Erfahrung nach sowohl über Lücken "springen" kann als auch spitze Winkel gerne abkürzt, so dass die entstandene Geometrie nicht mehr mit den ursprünglichen Objekten übereinstimmt. Der Befehl sollte dehalb mit Vorsicht genossen werden. Da hilft dann nur: an die Seite kopieren und z.B. über Ausrunden mit Null aus den Ursprungsobjekten ein geschlossenes Neues erstellen. Für exakte Konstruktionen ist Umgrenzung deshalb eigentlich kaum tauglich, aber ob die Abweichungen in den Flächengrößen ins Gewicht fallen hängt auch noch von vielen anderen Faktoren ab (Einheiten, Maßstab...) . Schraffieren ist ein Befehl zur Darstellung, nicht zur Konstruktion, und braucht deshalb wohl nicht so ganz genau zu sein. Würde ich deshalb auch nur im Notfall zur Umgrenzungserzeugung verwenden. Es hängt übrigens auch von der Art und Skalierung der Schraffur ab. Ein Solid ist immer empfindlicher als Ansi31 oder AR-BRSTD, die in Deiner DWG bei mir beide auf Anhieb ohne Probleme funktionierten. Wahrscheinlich "prüft" Acad nur die Stellen der Umgrenzung, wo die Schraffur auf die Linie trifft. Wenn also in der Problemecke eine "Lücke" in der Schraffur ist, kann er die Fläche trotzdem problemlos schraffieren. Wie hinterher die resultierende Umgrenzungslinie aussieht ist eine andere Frage (In Deinem Fall habe ich es geprüft: sie wird an der Problemstelle tatsächlich korrekt erstellt!). -> Lösungsansatz? s.o. Außerdem habe ich den Eindruck, dass es auch noch von der Stelle abhängt, wo Du in die Fläche klickst... Viel Erfolg Volker Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Plenz Mitglied
Beiträge: 71 Registriert: 01.09.2010 ACAD Archi 2015
|
erstellt am: 12. Sep. 2014 11:05 <-- editieren / zitieren --> Unities abgeben:
Erst mal vielen Dank für alle Antworten. Ja, laut dieser Quelle gibt es tatsächlich mehrere Algorithmen für dieselbe Aufgabe, was auch andere Autoren grübeln lässt... Zweifellos machen unsaubere Zeichnungen Probleme. Nur wie gesagt: wenn ich mit der Methode "try and error" erst mal die Unsauberkeiten finden und säubern muss, kann ich die Polygone ja gleich per Hand zeichnen. Verrückterweise kann man die Unsauberkeiten auch nicht einfach "verstecken". Ich habe mal die Endpunkte sämtlicher Linien mit Kreisen R=0.01 versehen, diese sollten alle eventuellen Lücken überdecken. Das Ergebnis: die Anzahl der nicht schraffierbaren Flächen erhöhte sich drastisch. Ich habe dann statt der Kreise kleine quadratische Polygone in der selben Größe hinzugefügt. Das war auch nicht besser, siehe beigefügtes Bild. Es hilft wohl nicht - ich lasse mir alle Flächen markieren, wo keine Umgrenzung gefunden wurde, und da muss ich dann ein Polygon per Hand reinzeichnen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADraxas Mitglied Landschaftsarchitekt
Beiträge: 55 Registriert: 27.08.2008 PC: HP Z230, Win7 64bit, Intel Xeon E3-3,4 Ghz, 16 GB RAM, AcadMap 2015 SP2, WS-Landcad 2015, Firefox
|
erstellt am: 12. Sep. 2014 11:28 <-- editieren / zitieren --> Unities abgeben: Nur für Plenz
Hallo Plenz, hast Du es denn mal mit Schraffieren mit Ansi31, Skalierfaktor 2 (statt Solid) und anschließender Umrandungserstellung versucht, wie ich vorgeschlagen hatte? Wie ist das Ergebnis? Volker Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jupa Ehrenmitglied V.I.P. h.c. Ruheständler
Beiträge: 6050 Registriert: 16.09.2004 Windows 10 64bit, ACAD Rel. 14 - ACAD 2023
|
erstellt am: 12. Sep. 2014 11:31 <-- editieren / zitieren --> Unities abgeben: Nur für Plenz
Zitat: Original erstellt von Plenz:
Ich habe mal die Endpunkte sämtlicher Linien mit Kreisen R=0.01 versehen, diese sollten alle eventuellen Lücken überdecken.
Das Problem sind nicht eventuelle Lücken. Man kann mit verschiedenen Methoden dafür sorgen, daß in der Umgrenzung definitiv keine Lücken vorhanden sind, und trotzdem hat ACAD bei manchen "geometrischen Konstellationen" (ich will nicht schon wieder den unschönen Begriff verwenden) Schwierigkeiten bei der Berechnung der Schraffurgrenze(n). Diesbezügliche Problem sind schon alt, ein namhafter Autor von ACAD-Lehrbüchern hat z.B. vor vielen Jahren schon mal empfohlen, auf die Verwendung von Assoziativschraffuren besser zu verzichen. (Dem schließe ich mich zwar nicht an, will damit aber andeuten, daß "Schraffur" schon von jeher etwas "problematisch" ist.) Du hast IMHO die richtige Schlußfolgerung gezogen: Deinen Automatismus anwenden wo's klappt, und wenn der störrische Esel partout nicht will, muß man eben händisch ran. (Wenn's bei Dir häufig vorkommt wäre das vllt. auch ein Fall für den Support ...?) Jürgen ------------------ Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty) [Diese Nachricht wurde von jupa am 12. Sep. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jupa Ehrenmitglied V.I.P. h.c. Ruheständler
Beiträge: 6050 Registriert: 16.09.2004 Windows 10 64bit, ACAD Rel. 14 - ACAD 2023
|
erstellt am: 12. Sep. 2014 11:36 <-- editieren / zitieren --> Unities abgeben: Nur für Plenz
Zitat: Original erstellt von CADraxas: Schraffieren mit Ansi31, ... Wie ist das Ergebnis?
Bin zwar nicht der Plenz, aber ich kann das Ergebnis vorwegnehmen: Ich habe alle meine Tests mit grober ANSI31 gemacht - und kann an seiner Geometrie die Probleme nachstellen. Jürgen ------------------ Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADraxas Mitglied Landschaftsarchitekt
Beiträge: 55 Registriert: 27.08.2008 PC: HP Z230, Win7 64bit, Intel Xeon E3-3,4 Ghz, 16 GB RAM, AcadMap 2015 SP2, WS-Landcad 2015, Firefox
|
erstellt am: 12. Sep. 2014 12:09 <-- editieren / zitieren --> Unities abgeben: Nur für Plenz
ookkayyy. Merkwürdig. Bei mir hat das für die fragliche Fläche, wie geschrieben, auf Anhieb gefunzt. Dann weiß ich auch nicht weiter. Vielleicht gibt es ein Ergänzungstool zum Bereinigen wie in Map? Hab leider keine Zeit, selbst zu suchen... Muss das Problem mit meiner Maus lösen... Volker Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Plenz Mitglied
Beiträge: 71 Registriert: 01.09.2010 ACAD Archi 2015
|
erstellt am: 18. Sep. 2014 17:53 <-- editieren / zitieren --> Unities abgeben:
So, ich hab mal wieder das Motto "wenn man nicht alles selbst macht..." umgesetzt. Das beigefügte Programm findet die Umgrenzung einer Fläche, indem es sich wie ein Blinder an einer Wand entlang tastet. Es geht erst mal vom Ausgangspunkt zur nächstgelegenen Linie, biegt nach rechts ab und läuft in 0.01 Abstand (Variable "ti") parallel zur Wand, bis es gegen ein Hindernis stößt. Dann schaut es, ob es sich noch neben der besagten Wand befindet oder nicht mehr. Wenn ja, handelt es sich um eine einfache Raumecke, das Programm biegt nach rechts ab und folgt der neuen Linie. Wenn nein, ist das Hindernis erst mal irrelevant. Das Programm geht zurück bis zu der Linie, der es gefolgt war, und beschreibt dort einen Kreisbogen nach links, bis es auf ein Hindernis stößt. Ist dieses Hindernis identisch mit der bisherigen Linie, dann ist diese irrelevant, und das Programm versucht sein Glück auf der gegenüberliegenden Rückseite. Anderenfalls folgt es der neuen Linie. Das Programm funktioniert nur mit Linien, also nicht mit Kreisen, Polylinien etc. Das ließe sich wohl noch machen, aber spätestens bei Ellipsen und Splines wird diese Methode wirklich kompliziert. Und das Programm findet keine Inseln. Aber ich wollte eigentlich auch nur mal ausprobieren, ob man so etwas überhaupt mit AutoLISP verwirklichen kann.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADraxas Mitglied Landschaftsarchitekt
Beiträge: 55 Registriert: 27.08.2008 PC: HP Z230, Win7 64bit, Intel Xeon E3-3,4 Ghz, 16 GB RAM, AcadMap 2015 SP2, WS-Landcad 2015, Firefox
|
erstellt am: 18. Sep. 2014 19:44 <-- editieren / zitieren --> Unities abgeben: Nur für Plenz
Hallo Plenz, hört sich kompliziert an... Die neue Linie wird also mit dem Uhrzeigersinn erstellt in einem Abstand von 0,01 zu den Ursprungslinien? Mir ist noch etwas eingefallen: unter dem Befehl "Doppelte Objekte bereinigen" der Express-Tools kann man auch Linien miteinander verbinden oder die übereinander liegen zu einer zusammenfasssen. Der Numeric Fuzz definiert dabei die erlaubte Abweichung der beiden Linien bzw. ihrer Endpunkte zueinander ("The Numeric Fuzz value allows you to control the precision with which OVERKILL makes numeric comparisons.") Das funktioniert von Acad2008 bis 2015. Ich habe es bei mal Deiner Datei probiert; hilft aber leider in diesem speziellen Fall nicht weiter, schade. War einen Versuch wert... Viel Erfolg mit Deiner Routine. Volker Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Plenz Mitglied
Beiträge: 71 Registriert: 01.09.2010 ACAD Archi 2015
|
erstellt am: 19. Sep. 2014 09:20 <-- editieren / zitieren --> Unities abgeben:
Zitat: Die neue Linie wird also mit dem Uhrzeigersinn erstellt in einem Abstand von 0,01 zu den Ursprungslinien?
Ja, aber nur eine temporäre Linie zum Abtasten der Geometrie. Gleichzeitig werden die Schnittpunkte der "echten" Linien ermittelt und gesammelt, aus ihnen wird das abschließende Polygon gebildet. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADraxas Mitglied Landschaftsarchitekt
Beiträge: 55 Registriert: 27.08.2008 PC: HP Z230, Win7 64bit, Intel Xeon E3-3,4 Ghz, 16 GB RAM, AcadMap 2015 SP2, WS-Landcad 2015, Firefox
|
erstellt am: 19. Sep. 2014 15:09 <-- editieren / zitieren --> Unities abgeben: Nur für Plenz
Wow! Selbst programmiert? Ich bin über eine Grundschulung vor Jahren nie hinausgekommen,obwohl es eigentlich am Anfang gar nicht so schwer ist. Aber so etwas würde ich nicht hinkriegen... Mal getestet im Vergleich mit dem Umgrenzungsbefehl? Also an Objekten wo der funktioniert. Schönes Wochenende Volker Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Plenz Mitglied
Beiträge: 71 Registriert: 01.09.2010 ACAD Archi 2015
|
erstellt am: 15. Okt. 2014 14:47 <-- editieren / zitieren --> Unities abgeben:
Erst mal danke für die Blumen. Ich habe nie einen Kursus gehabt. Mein erstes AutoCAD war Version 12, und damals wurden noch viele dicke Handbücher mitgeliefert, da stand alles drin, was man wissen musste. Ich habe inzwischen einen Grund für die Problematik entdeckt. Die mir vorliegenden Zeichnungen wurden offensichtlich gar nicht mit AutoCAD erstellt, sondern mit anderen Programmen und dann nach ACAD exportiert. Jedenfalls kranken die Zeichnungen daran, dass die Endpunkte der Linien oftmals nicht genau aufeinander liegen. Es gibt Lücken, die beim Finden der Umgrenzung stören, auch wenn sie nur im Mikrometerbereich liegen. Ich habe deshalb ein Programm geschrieben, dass die Endpunkte sämtlicher Linien miteinander vergleicht, und wenn zwei Punkte einen Abstand größer Null aber kleiner 0.001 haben, wird der eine Punkt genau auf den anderen geschoben. Nach dieser Behandlung funktioniert das Umgrenzen bzw. Schraffieren erheblich besser Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADraxas Mitglied Landschaftsarchitekt
Beiträge: 55 Registriert: 27.08.2008 PC: HP Z230, Win7 64bit, Intel Xeon E3-3,4 Ghz, 16 GB RAM, AcadMap 2015 SP2, WS-Landcad 2015, Firefox
|
erstellt am: 15. Okt. 2014 15:39 <-- editieren / zitieren --> Unities abgeben: Nur für Plenz
Zitat: Original erstellt von Plenz: Mein erstes AutoCAD war Version 12, und damals wurden noch viele dicke Handbücher mitgeliefert, da stand alles drin, was man wissen musste.
Mit Version 12 habe ich auch angefangen. Ich erinnere mich an 2 schwarze Bildschirme: einer für die Befehlseingaben und einer für die Zeichnung. Da habe ich eine Menge Tastaturkurzbefehle gelernt - unschlagbar in der Geschwindigkeit... ergänze ich immer noch als erstes. Das Handbuch für Benutzeranpassungen hatte es mir auch angetan, weil da so gründlich erklärt wurde. Kein Vergleich mit den Hilfedateien von heute. Für das Bereinigen von nicht kongruenten Punkten habe ich zum Glück Map zur Verfügung, das bietet etwas ähnliches (sogar mit Gewichtung und variablem Abstand) - kann ich empfehlen. Aber wie gesagt: selbst programmiert: Hut ab! Schöne Grüße Volker
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Plenz Mitglied
Beiträge: 71 Registriert: 01.09.2010 ACAD Archi 2015
|
erstellt am: 16. Okt. 2014 09:20 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von CADraxas: Für das Bereinigen von nicht kongruenten Punkten habe ich zum Glück Map zur Verfügung, das bietet etwas ähnliches
Was ist das? (Google liefert zu viele Treffer über Landkarten.) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADraxas Mitglied Landschaftsarchitekt
Beiträge: 55 Registriert: 27.08.2008 PC: HP Z230, Win7 64bit, Intel Xeon E3-3,4 Ghz, 16 GB RAM, AcadMap 2015 SP2, WS-Landcad 2015, Firefox
|
erstellt am: 16. Okt. 2014 17:21 <-- editieren / zitieren --> Unities abgeben: Nur für Plenz
AutoCAD Map 3D. Ab Version 14 schon gibts da zur Vorbereitung der Erstellung von Topologien die Map-Bereinigung (Befehl in Version 2008 z.B.: _mapclean) Damit kann man verschiedene Bereinigungsvorgänge einzeln oder zusammen durchführen: "Die Liste Bereinigungsvorgänge zeigt eine Liste der verfügbaren Bereinigungsvorgänge an. Um einen Bereinigungsvorgang durchzuführen, fügen Sie ihn zur Liste Ausgewählte Vorgänge hinzu. Wählen Sie ihn hierfür aus der Liste Bereinigungsvorgänge aus, und klicken Sie auf Hinzufügen. Weitere Informationen über die einzelnen Bereinigungsvorgänge erhalten Sie, wenn Sie auf eine der folgenden Verknüpfungen klicken: Doppelte Objekte löschen Kurze Objekte löschen Kreuzende Objekte brechen Unterlängen verlängern Angenommener Schnittpunkt Knotenanhäufungen fangen Pseudoknoten auflösen Überlängen löschen Objekte vereinfachen Objekte mit Nulllänge Polylinien bereinigen" SEEHHR praktisch - würde auch Dein Problem in nullkommanichts lösen (man muss allerdings wissen, was man da tut, da bei manchen Bereinigungsvorgängen die Geometrie - in Abhängigkeit von der definierten Toleranz - geändert wird... Volker
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|