Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Polylinien-Bögen in mehrere Polylinien-Linien umwandeln

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
Autor Thema:   Polylinien-Bögen in mehrere Polylinien-Linien umwandeln (271 mal gelesen)
BellaRosa
Mitglied
Werkstudentin

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

Beiträge: 6
Registriert: 17.05.2017

Autodesk AutoCAD 2016

erstellt am: 11. Aug. 2017 11:23    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, ich hoffe man kann mir helfen.

Ich bearbeite CAD-Pläne, die in ein GIS-Programm geladen werden müssen. Das GIS-Programm kann keine Bögen erkennen und stellt es als gerade Linien dar. Ich bräuchte also eine Möglichkeit, Polylinien-Bögen in viele einzelne Segmente zu unterteilen um die Form zu behalten.

Gefunden habe ich bereits diese Lösung:
http://ww3.cad.de/foren/ubb/Forum145/HTML/000581.shtml

Mein Problem: Ich habe absolut keine Ahnung von Codes und LISP und wie genau diese funktionieren. Außerdem sind in dem Topic zwei Lösungen geschrieben, welche davon ich jetzt brauche oder besser ist erschließt sich mir nicht...
Außerdem: Funktioniert das auch noch genau so mit AutoCAD 2016 oder gibt es mittlerweile sogar eine integrierte Lösung?

Es wäre sehr nett wenn mir einer von euch Experten bei der Sache weiterhelfen und mir eine exakte Schritt-für-Schritt Anleitung geben könnte, "for Dummies" sozusagen 

Vielen Dank!

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

jupa
Ehrenmitglied V.I.P. h.c.
ehemals CAD-Trainer (ATC) und Konstrukteur (Dipl.-Ing)


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

Beiträge: 5115
Registriert: 16.09.2004

Windows 7 64bit, ACAD Rel. 14 - ACAD 2018

erstellt am: 11. Aug. 2017 12:54    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 BellaRosa 10 Unities + Antwort hilfreich

Hallo BellaRosa,

In dem von Dir gefundenen und verlinkten Thread nimm den Code von Proxy (gleich in der ersten Antwort) und kopiere diesen in eine neue Textdatei. (Code markieren und mit Strg+C in die Zwischenablage kopieren. Notepad starten und neue Text-Datei anlegen. Inhalt der Zwischenablage mit Strg+V hineinkopieren). Die Datei abspeichern mit der Dateinamenserweiterung .lsp  (z.B. b2pl.lsp).
In AutoCAD mußt Du nun diese LISP-Datei laden. Eine Möglichkeit - Befehl appload starten und sich zur gespeicherten Date b2pl.lsp durchhangeln. Andere Möglichkeiten finden sich in der FAQ (suche ich jetzt nicht raus, solltest Du Dir aber mal zu Gemüte führen).
Nun steht Dir in AutoCAD ein neuer Befehl kbla zur Verfügung. Diesen starten, den Aufforderungen in der Befehlszeile folgen und fertig.
Funktioniert übrigens auch in ACAD 2016.
Die anderen dort aufgeführten Varianten habe ich gar nicht erst getestet ...


Jürgen

Anm: Der Bogen wird von dieser Routine nicht automatisch gelöscht - das müßtest Du also am Ende noch selbst tun.

------------------
Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty)

[Diese Nachricht wurde von jupa am 11. Aug. 2017 editiert.]

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

BellaRosa
Mitglied
Werkstudentin

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

Beiträge: 6
Registriert: 17.05.2017

Autodesk AutoCAD 2016

erstellt am: 11. Aug. 2017 13:17    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

Vielen lieben Dank! Es klappt!  

Edit: ähm... doch nicht so ganz. meine Linie ist jetzt kürzer geworden, das soll natürlich nicht sein. Muss ich doch einen anderen code nehmen?

[Diese Nachricht wurde von BellaRosa am 11. Aug. 2017 editiert.]

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

Kuschelfee
Mitglied
Bauzeichnerin


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

Beiträge: 66
Registriert: 07.05.2007

Soficad 20.1
AutoCAD 2016
Windows

erstellt am: 11. Aug. 2017 13:56    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 BellaRosa 10 Unities + Antwort hilfreich

Habe mit gelesen
und auch nochmal probiert.

Es scheint das ein Segment fehlt.
Hier wurde das auch schon behandelt und in eine Funktionierende Lisp geändert.

https://ww3.cad.de/foren/ubb/Forum54/HTML/004124.shtml#000007

Probiere es mal damit.
Genau so wie vor
Befehlsaufruf = kbla
Ansonsten ist es natürlich eine andere Länge (je mehr Scheitelpunkte desto genauer der Wert)

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

BellaRosa
Mitglied
Werkstudentin

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

Beiträge: 6
Registriert: 17.05.2017

Autodesk AutoCAD 2016

erstellt am: 11. Aug. 2017 14:23    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

also ich habe jetzt das hier verwendet, indem ich meine bestehende gespeicherte Datei damit ersetzt habe
Code:
(defun c:kbla (/ elem selem pts selemType ptst pte bogenL)
  (setq elem (entlast))
  (command "_.DIVIDE" (setq selem(car (entsel)))(getint "\nAnzahl der Segmente:"))
  (setq selemType (cdr(assoc 0 (entget selem))))
  (if (member selemType '("ARC" "CIRCLE"))
    (progn
      (setq selem (vlax-ename->vla-object selem)
    ptst (vlax-curve-getStartPoint selem)
    pts (list ptst)
    pte (vlax-curve-getEndPoint selem)
    bogenL (vlax-get-Property selem (if (= "ARC" selemType)'ArcLength 'Circumference))
    )
      (while (setq elem(entnext elem))
(setq pts(cons (cdr(assoc 10 (entget elem))) pts))
(entdel elem)
)
      (setq pts (cons (if (= "ARC" selemType)pte ptst)pts))
      (entmake(append(list
      '(0 . "LWPOLYLINE")
      '(100 . "AcDbEntity")
      '(67 . 0)
      '(410 . "Model")
      (cons 8 (vlax-get-property selem "LAYER"))
      '(100 . "AcDbPolyline")
      (cons 90 (length pts))
      '(70 . 0)
      '(43 . 0.0)
      '(38 . 0.0)
      '(39 . 0.0))
    (apply 'append (mapcar  '(lambda (x)
(list (cons 10 x) '(40 . 0.0) '(41 . 0.0) '(42 . 0.0))
)
    pts
    )
    )
    (list '(210 0.0 0.0 1.0))
    )
      )
      (terpri)
      (princ bogenL)
      )
    (alert "Keinen Kreis oder Bogen gewählt!")
    )
  (princ)
  )

AutoCAD gibt mir jetzt aber die Meldung raus, ich hätte keinen Bogen oder Kreis gewählt... ich wähle aber nach wie vor eine polylinie aus, die einen bogen darstellt.

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

cadffm
Moderator
良い精神




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

Beiträge: 17695
Registriert: 14.06.2002

System: F1
und Google

erstellt am: 11. Aug. 2017 15: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 Nur für BellaRosa 10 Unities + Antwort hilfreich

..und dieses Programm möchte gerne einen KREIS oder einen BOGEN, KEINE POLYLINIE 

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

KlaK
Ehrenmitglied
Dipl. Ing. Vermessung, CAD- und Netz-Admin


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

Beiträge: 1824
Registriert: 02.05.2006

AutoCAD LandDesktop R2 bis 2004
Civil 3D 2005 - 2014
Bricscad V11-V17 pro
Plateia, Canalis
Visual Basic

erstellt am: 11. Aug. 2017 15: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 BellaRosa 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von BellaRosa:
Edit: ähm... doch nicht so ganz. meine Linie ist jetzt kürzer geworden, das soll natürlich nicht sein.

Was aber logisch ist da die Sekante immer kürzer ist als die Bogenlinie ...
Um dies zu optimieren gibt es Programme die nicht von einer festen Anzahl von Bogenteilungen ausgehen sondern hierfür einen max. Sekantenabstand verwenden. Natürlich verkürzt sich auch hier die Gesamtlänge der Polylinie aber es wird ein Optimum zwischen Anzahl der neuen Segmente und erforderlicher Genauigkeit erzeugt. In der Vermessung verwende ich als Sekantenabstand i.A. 10 - 20 cm, für GIS-Anwendungen könnte man aber auch auf 0,5 bis 1,0 Meter gehen.

Cadmium hatte mal so ein Programm (pl_convert.vlx), war als Testversion kostenfrei aber nur eine gewisse Zeit lauffähig.

Grüße
Klaus 

PS.: habe auch so ein Programm, dass 2D-Polylinien in 3D-Polylinien umwandelt. Allerdings eingebaut in ein größeres Projekt und in VBA programmiert. Sollte ich wirklich mal herausziehen und separat lauffähig machen ...

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

jupa
Ehrenmitglied V.I.P. h.c.
ehemals CAD-Trainer (ATC) und Konstrukteur (Dipl.-Ing)


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

Beiträge: 5115
Registriert: 16.09.2004

Windows 7 64bit, ACAD Rel. 14 - ACAD 2018

erstellt am: 12. Aug. 2017 08:22    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 BellaRosa 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von KlaK:

Was aber logisch ist da die Sekante immer kürzer ist als die Bogenlinie ...

Ich befürchte, BellaRosa  bezieht sich darauf, daß ein Segment fehlt (und deshalb "zu kurz"). Obwohl dieses Problem bereits in dem verlinkten Thread angesprochen wird, das hatte ich übersehen - sorry.
Muß also doch eine andere Lösung her ...  (Bin selbst aber bis nächste Woche nicht mehr online  ).


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

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: 13243
Registriert: 30.11.2003

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

erstellt am: 12. Aug. 2017 18:13    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 BellaRosa 10 Unities + Antwort hilfreich

Die Datei  Curves2SegmentPL.VLX.txt aus dem Beitrag runterladen und auf Festplatte speichern .... umbenennen in Curves2SegmentPL.VLX .... per Drag&Drop aus dem Windowsexplorer in die aktuelle Zeichnung ziehen ... Aufrufen mit C2PL oder -C2PL .... Anweisungen im Programm folgen ...

------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - 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



Technischer Redakteur (m/w)
MAN Die MAN Diesel & Turbo sucht am Standort Augsburg für den Bereich After Sales / Kundenservice zum frühestmöglichen Eintrittstermin eine/n Technischer Redakteur (m/w) Ihre Aufgaben Erstellung und Pflegen von technischen Dokumentationen sowie Montage- und Wartungsanleitungen für das Engineering After Sales Geschäft Erstellung und Pflegen von Serviceinformationen Selbstständige Recherche ...
Anzeige ansehenTechnische Dokumentation
BellaRosa
Mitglied
Werkstudentin

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

Beiträge: 6
Registriert: 17.05.2017

Autodesk AutoCAD 2016

erstellt am: 14. Aug. 2017 14:08    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

Vielen Dank euch allen. Es klappt jetzt soweit 

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)2017 CAD.de