Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Polylinien glätten

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Polylinien glätten (6819 mal gelesen)
schachtelmacher
Mitglied
Verpackungsmittelmechaniker, Entwicklung


Sehen Sie sich das Profil von schachtelmacher an!   Senden Sie eine Private Message an schachtelmacher  Schreiben Sie einen Gästebucheintrag für schachtelmacher

Beiträge: 86
Registriert: 07.01.2004

erstellt am: 13. Apr. 2005 07:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Test.dxf.txt

 
Hallo liebe Cadgemeinde,

ich weiss - suchen!
Ja, aber da habe ich nichts befriedigendes gefunden.

Am Besten seht Ihr Euch mal die Testdatei an.
Die rote Polylinie ist das Original, sehr kantig, da aus einem Grafikprogramm eine Outline generiert wurde.
Das kann ich nicht verhindern, da es Kundendaten sind.
Zum plotten ist das aber unmöglich.
Gibt es ein Programm - Lisp oder ähnliches, um diese rote Linie ungefähr so zu generieren, dass ca. die weisse herauskommt?
Die weisse Linie habe ich mit der Hand nachgezeichnet!
Bei mir kommt es nicht auf 10tel und 100tel an, so genau muss das nicht sein.

Wäre schön, wenn Ihr mir weiterhelfen könntet.

Grüsse

schachtelmacher

p.s. die Testdatei ist nur ein Ausschnitt!

------------------
"Es gibt keine Probleme, sondern nur Lösungen"

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

thoumsen
Mitglied
Konstrukteur Metallbau, Betriebsinformatiker, usw usw..


Sehen Sie sich das Profil von thoumsen an!   Senden Sie eine Private Message an thoumsen  Schreiben Sie einen Gästebucheintrag für thoumsen

Beiträge: 100
Registriert: 25.11.2003

...

erstellt am: 13. Apr. 2005 07:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für schachtelmacher 10 Unities + Antwort hilfreich

moin moin schachtelmacher.

ungesehen würde ich dir corel empfehlen.
dort kann man so ziemlich alles glätten.
für mich ist das in solchen fällen schon fast ein allheilmittel.

gruss aus frangn
..thoumsen

------------------
>> fanatismus ist der tod jeder guten idee  <<

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

schachtelmacher
Mitglied
Verpackungsmittelmechaniker, Entwicklung


Sehen Sie sich das Profil von schachtelmacher an!   Senden Sie eine Private Message an schachtelmacher  Schreiben Sie einen Gästebucheintrag für schachtelmacher

Beiträge: 86
Registriert: 07.01.2004

erstellt am: 13. Apr. 2005 08:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo thoumsen,

...schon, aber wie exportierst Du die Daten dann?
Wenn ich das mache habe ich zwar eine geglättete Linie aber
wieder tausende von klizeklizekleinen Vektoren!

Gruss

schachtelmacher

------------------
"Es gibt keine Probleme, sondern nur Lösungen"

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADmium
Moderator
Maschinenbaukonstrukteur




Sehen Sie sich das Profil von CADmium an!   Senden Sie eine Private Message an CADmium  Schreiben Sie einen Gästebucheintrag für CADmium

Beiträge: 13508
Registriert: 30.11.2003

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 13. Apr. 2005 08:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für schachtelmacher 10 Unities + Antwort hilfreich

.. Mal was zum Testen.
Sowas?
[Edit.. come soon]

------------------
  - Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

[Diese Nachricht wurde von CADmium am 13. Apr. 2005 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Theodor Schoenwald
Ehrenmitglied



Sehen Sie sich das Profil von Theodor Schoenwald an!   Senden Sie eine Private Message an Theodor Schoenwald  Schreiben Sie einen Gästebucheintrag für Theodor Schoenwald

Beiträge: 1672
Registriert: 16.04.2002

erstellt am: 13. Apr. 2005 11:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für schachtelmacher 10 Unities + Antwort hilfreich

Hallo,

so ein Tool suche ich  auch schon lange.
Die Fa. CAM-Partner hat mit vor einigen Jahren, dafür ein Tool verkauft.
Das Problem war es funktioniert nicht richtig.
Wenn sich jemand die Arbeit machen will, die Lispdatei zu überarbeiten, kann ich das Tool zu Verfügung stellen.

Gruß

Theodor Schönwald

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Goofy007
Mitglied
Vermessungstechniker


Sehen Sie sich das Profil von Goofy007 an!   Senden Sie eine Private Message an Goofy007  Schreiben Sie einen Gästebucheintrag für Goofy007

Beiträge: 578
Registriert: 06.11.2004

Map3D 2018 und Civil3D 2018

erstellt am: 13. Apr. 2005 11:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für schachtelmacher 10 Unities + Antwort hilfreich

AutoCad Map kann das. Map -> Zeichnung bereinigen -> Objekte vereinfachen. Dabei kann man auch noch den Toleranzwert angeben.

mfg Didi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

thoumsen
Mitglied
Konstrukteur Metallbau, Betriebsinformatiker, usw usw..


Sehen Sie sich das Profil von thoumsen an!   Senden Sie eine Private Message an thoumsen  Schreiben Sie einen Gästebucheintrag für thoumsen

Beiträge: 100
Registriert: 25.11.2003

...

erstellt am: 13. Apr. 2005 12:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für schachtelmacher 10 Unities + Antwort hilfreich

schachtelmacher,

hab mir mal deine dxf vorgenommen..
- in corel 11 importiert
- mit knotenauswahl alle knoten der linie markiert
- eine kurvenglättung (knotenreduzierung) von 5 durchgeführt
- alles dann direkt als dwg-datei exportiert

mit dem kurvenglättungswert muss man ein bischen spielen un das ergebnis überprüfen

gruss aus frangn
thoumsen

------------------
>> fanatismus ist der tod jeder guten idee  <<

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

flaschenpost
Mitglied
Architekt


Sehen Sie sich das Profil von flaschenpost an!   Senden Sie eine Private Message an flaschenpost  Schreiben Sie einen Gästebucheintrag für flaschenpost

Beiträge: 497
Registriert: 29.09.2004

ADT 2004 / Windows XP

erstellt am: 13. Apr. 2005 14:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für schachtelmacher 10 Unities + Antwort hilfreich

Hallo Schachtelmacher,

schau mal, ob Dir das schon hilft. Kommt auf den Einsatzzweck an. Wichtig ist, dass es eine LWPOLYLINIE ist -
sonst vorher mal 'konvert' aufrufen. Mit der Anzahl der Teilstücke erhöht sich die Genauigkeit.


(defun c:redpp (/ owahl anzt pnae plit p1 p2 n nr)
(print "Polylinien wählen")
(setq owahl (ssget '((0 . "LWPOLYLINE"))))
(setq anzt (getint "\nAnzahl der Teilstücken: "))
(setq nr 0)
(repeat (sslength owahl)
  (command "_.divide" (ssname owahl nr) anzt "")
  (setq p1 (cdr (assoc 10 (entget(ssname owahl nr)) )))
  (setq p2 (cdr (assoc 10 (reverse (entget(ssname owahl nr))) )))
  (setq plist nil)
  (repeat (1- anzt)
   (setq pnae (cdr (assoc 10 (entget(ssname (ssget "L") 0)))) )
   (setq plist (cons pnae plist))
   (entdel(ssname (ssget "L") 0))
   (print pnae)
  )
   (setq n -1)
   (command "_pline" p1)
  (repeat (1- anzt)
   (setq n (1+ n))
   (command (nth n plist))
  )
   (command p2)
   (command "")
   (setq nr (1+ nr))
);repeat
)

Gruß Carsten

edit: Alle gewählten Linien müssen in voller Länge sichtbar sein.
      Die neuen Linien können dann, wenn gewünscht, mit _pedit > kurve Angleichen geglättet werden.


[Diese Nachricht wurde von flaschenpost am 13. Apr. 2005 editiert.]

[Diese Nachricht wurde von flaschenpost am 13. Apr. 2005 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

schachtelmacher
Mitglied
Verpackungsmittelmechaniker, Entwicklung


Sehen Sie sich das Profil von schachtelmacher an!   Senden Sie eine Private Message an schachtelmacher  Schreiben Sie einen Gästebucheintrag für schachtelmacher

Beiträge: 86
Registriert: 07.01.2004

erstellt am: 14. Apr. 2005 07:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Zitat:
Original erstellt von flaschenpost:
Hallo Schachtelmacher,

schau mal, ob Dir das schon hilft. ........


@ flaschenpost,

habe es probiert, hilft leider nicht, denn dann müsste ich vorher
wissen, wieviele Teilstücke ich brauche und fast unmöglich rauszufinden, da die Konturen sehr sehr komplex sind.
Aber sonst ein schönes Programm!

Danke

@ thoumsen

also das mit Corel 11 funktioniert schon, aber beim Exportieren
habe ich Probleme nach dwg. Die Zeichnung lässt sich bei mir
unter Autocad 2004 nicht öffnen - ungültige Datei.
Wenn ich über dxf gehe habe ich zwar geglättete Kanten,
aber trotzdem tausende Vektoren auch wenn Corel nur wenige Knoten
anzeigt. Das DXF ist schlimm.

Es wäre natürlich schöner ohne Corel auszukommen - export, import, bearbeiten, export, import
und dann trotzdem nicht ganz das gewünschte Ergebnis!
Momentan aber das einzige, da bisschen hilft.

Danke

Grüsse

schachtelmacher

------------------
"Es gibt keine Probleme, sondern nur Lösungen"

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

thoumsen
Mitglied
Konstrukteur Metallbau, Betriebsinformatiker, usw usw..


Sehen Sie sich das Profil von thoumsen an!   Senden Sie eine Private Message an thoumsen  Schreiben Sie einen Gästebucheintrag für thoumsen

Beiträge: 100
Registriert: 25.11.2003

...

erstellt am: 14. Apr. 2005 08:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für schachtelmacher 10 Unities + Antwort hilfreich


Test2Spilne.dwg.txt

 
moin schachtelmacher,

sorry aber mit mir fällt eben erst auf dass ich dir ja ne datei anhängen wollte...
ich hatte es mit corel probiert. es wurde dann direkt in acad 2000 gespeichert. in der dwg ist die linie dann als spline erzeugt worden.
ich weiss natürlich nicht ob das das richtige für dich ist.

hier ist sie nun..

gruss aus frangn..
thoumsen

------------------
>> fanatismus ist der tod jeder guten idee  <<

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

flaschenpost
Mitglied
Architekt


Sehen Sie sich das Profil von flaschenpost an!   Senden Sie eine Private Message an flaschenpost  Schreiben Sie einen Gästebucheintrag für flaschenpost

Beiträge: 497
Registriert: 29.09.2004

ADT 2004 / Windows XP

erstellt am: 14. Apr. 2005 11:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für schachtelmacher 10 Unities + Antwort hilfreich

Hallo Schachtelmacher,

es gibt die Möglichkeit, anstatt Anzahl Teilstücke die gewünschte Teillänge anzugeben. Die wird dann in Abhängigkeit von der Länge der Polylinie etwas modifiziert, da es gleiche Teilungen ohne Rest werden. Der Vorteil wäre gleiche Teilung bei unterschiedlich langen Linien.

(defun c:redpts (/ owahl anzt teil_l pnae plit p1 p2 n nr)
(print "Polylinien wählen")
(setq owahl (ssget '((0 . "LWPOLYLINE"))))
(setq teil_l (getreal "\nLänge der Teilstücke: "))
(setq nr 0)
(repeat (sslength owahl)
  (command "_.area" "_O" (ssname owahl nr))
  (setq anzt (/ (getvar "PERIMETER") teil_l))
  (if (< anzt 2)
      (setq anzt 2)
      (progn 
        (if (> (- anzt (fix anzt)) 0.5)
          (setq anzt (1+ (fix anzt)))
          (setq anzt (fix anzt))
        )
      )
  )
  (command "_.divide" (ssname owahl nr) anzt "")
  (setq p1 (cdr (assoc 10 (entget(ssname owahl nr)) )))
  (setq p2 (cdr (assoc 10 (reverse (entget(ssname owahl nr))) )))
  (setq plist nil)
  (repeat (1- anzt)
  (setq pnae (cdr (assoc 10 (entget(ssname (ssget "L") 0)))) )
  (setq plist (cons pnae plist))
  (entdel(ssname (ssget "L") 0))
  (print pnae)
  )
  (setq n -1)
  (command "_pline" p1)
  (repeat (1- anzt)
  (setq n (1+ n))
  (command (nth n plist))
  )
  (command p2)
  (command "")
  (setq nr (1+ nr))
);repeat
)

Gruß Carsten


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADmium
Moderator
Maschinenbaukonstrukteur




Sehen Sie sich das Profil von CADmium an!   Senden Sie eine Private Message an CADmium  Schreiben Sie einen Gästebucheintrag für CADmium

Beiträge: 13508
Registriert: 30.11.2003

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 16. Apr. 2005 11:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für schachtelmacher 10 Unities + Antwort hilfreich


VertexReduce.VLX.txt

 
So, wie versprochen (mit neuem Ansatz) :
Funktion im Anhang reduziert -wenn möglich- die Anzahl der Stützpunkte bei den ausgewählten/auszuwählenden Polylinien. Die abgefragte Korridorbreite gibt den maximalen Abstand der upgedaten Kurve zur ursprünglichen Kurve an.
Viel Spaß beim testen.

Edit : Anhang-Update
------------------
                - Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."


[Diese Nachricht wurde von CADmium am 19. Apr. 2005 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

scj
Mitglied
 


Sehen Sie sich das Profil von scj an!   Senden Sie eine Private Message an scj  Schreiben Sie einen Gästebucheintrag für scj

Beiträge: 554
Registriert: 09.08.2001

erstellt am: 19. Apr. 2005 19:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für schachtelmacher 10 Unities + Antwort hilfreich


VertexReduce_err.dwg.txt


Kanal2D.dwg.txt

 
Hallo!
Ich habe das VertexReduce mal für das beiliegende Beispiel ausprobiert und erhielt keine ganz korrekte Lösung.
(Mein Kanal2d-Projekt lieferte die Anlage 2.)
Woran liegt's?
Ich nehme mal an, unsere Ansätze sind ähnlich:
Geradengleichung aus 2 Punkten PA und PE
.Untersuchung, ob irgendein Zwischen-Punkt zwischen PA und PE weiter als die halbe Kanalbreite von PA-->PE entfernt ist
.Wenn ja: PA wird PE
.Wenn nein: nächster Punkt wird PA
usw.
Mit besten Grüßen aus der Rhön
Jochen www.black-cad.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADmium
Moderator
Maschinenbaukonstrukteur




Sehen Sie sich das Profil von CADmium an!   Senden Sie eine Private Message an CADmium  Schreiben Sie einen Gästebucheintrag für CADmium

Beiträge: 13508
Registriert: 30.11.2003

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 19. Apr. 2005 22:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für schachtelmacher 10 Unities + Antwort hilfreich

@scj : hab ich auch schon bemerkt, liegt an meiner fehlerhaften Nutzung  der Property Coordinates, ist aber bereits berichtigt. Ansonsten verfolge ich einen etwas anderen Ansatz, der auch bei gekrümmten Kurven  greift, auch wenn das vielleicht zu Lasten des Laufzeitverhaltens geht.
Bei Interesse können wir das gerne mal intern ausdiskutieren.

Update : Siehe etwas weiter oben!

------------------
- Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz