Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  LWPolyline mittels entmake erstellen ?

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:  LWPolyline mittels entmake erstellen ? (2721 mal gelesen)
Mario Scht
Mitglied



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

Beiträge: 156
Registriert: 14.11.2002

Win XP
ACAD 2007

erstellt am: 27. Nov. 2003 10:32    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 liebes Forum,

kann mir bitte jemand helfen?
1. Warum zeichnet mir ACAD keine LWPolylinie?
  (entmake
  (list
    '(0 . "LWPolyline")
    '(6 . "Continuous")
    '(8 . "0")
    '(62 . 2)
    '(70 . 0)
    '(90 . 4)
    '(100 . "AcDbEntity")
    '(100 . "AcDbPolyline")
    (cons 10 (list var1x var1y 0.0))
    (cons 10 (list var2x var2y 0.0))
  ) 
  )
2. Wenn ich eine bestehende LWP habe, wie bringe ich ACAD dazu über entmake die bestehende LWP weiterzuführen?

Wäre nett wenn Ihr mir da helfen könntet.

Grüße Mario

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

Brischke
Moderator
CAD on demand GmbH




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools (d-tools.eu)

erstellt am: 27. Nov. 2003 11: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 Mario Scht 10 Unities + Antwort hilfreich

Hallo Mario,

zeichne mal eine LWPolylinien und geh mit (entget(car(entsel))) drauf.
Dann siehst du eine vollständige Definitionsliste. Dann nimm dir die Zeit, und versuche mit der OnlineHilfe herauszufinden, welcher gruppencode, welche Eigenschaft beschreibt. Sinnvoll ist es auch mal eine weitere LWPolylinie zu zeichnen, und zu schauen was sich in den Gruppencodes alles so geändert hat.

Was mir auf Anhieb aufgefallen ist, dass du 4 Kontrollpunkte (GC 90) definierst, aber nur 2 mitgibst.

Testen, lesen, testen, lesen ... freuen.

Bei Fragen ...

Grüße Holger

------------------
Holger Brischke
(defun - Lisp over night!
AutoLISP-Programmierung für AutoCAD

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

TK_KE
Mitglied



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

Beiträge: 67
Registriert: 15.07.2003

erstellt am: 27. Nov. 2003 12:21    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 Mario Scht 10 Unities + Antwort hilfreich


pcontinue.txt

 
... und zum Weiterführen gibt's schon ein Tool.
--> Siehe Anhang.
Gruß Thomas

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

Andi L
Mitglied


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

Beiträge: 8
Registriert: 27.11.2003

ACAD 2002

erstellt am: 27. Nov. 2003 22:24    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 Mario Scht 10 Unities + Antwort hilfreich

Hi Mario

Zu 1.: die GC100 müssen nach dem GC0 stehen
      Außerdem wie oben schon bemerkt ist GC90 falsch (2 statt 4 Vertices

  (entmake
  (list
    '(0 . "LWPolyline")
    '(100 . "AcDbEntity")
    '(100 . "AcDbPolyline")
    '(6 . "Continuous")
    '(8 . "0")
    '(62 . 2)
    '(70 . 0)
    '(90 . 2)
    (cons 10 (list var1x var1y 0.0))
    (cons 10 (list var2x var2y 0.0))
  ) 
  )

Zu 2.:
Mit entmake erstellst Du neue Objekte, mit entmod dagegen kannst Du vorhandene Elemente ändern. Bei LwPolylinien mußt Du eigentlich 'nur' nach den vorhandenen Vertices in der DXF-Liste (kriegst Du mit entget)die neuen einfügen. Zusätzlich muß noch die Anzahl der Vertices (GC90) angepaßt werden. Die neuen Liste dann mit entmod in die Zeichnungsdatenkank zurückschreiben. Fertig

Grüße Andi

[Diese Nachricht wurde von Andi L am 27. Nov. 2003 editiert.]

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

spider_dd
Mitglied



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

Beiträge: 1111
Registriert: 27.11.2003

Win 10Pro
Intel(R) Core(TM) i7-7700
NVIDIA Quadro P1000
ACAD, Civil-3D 2018

erstellt am: 28. Nov. 2003 08:33    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 Mario Scht 10 Unities + Antwort hilfreich

Hallo Mario,

hatte ähnliches Problem (Erstellung Polylinie) nur mit variabler Punktanzahl. Habe das auf folgede Weise gelöst:

;  vorab gesetz:
;  anzpkt Anzahl der Punkte der Polylinie
;  x_l Liste mit x-Koordinaten
;  y_l Liste mit y-Koordinaten
;  layername Name des Layer der Polylinie enthalten soll

...
...
...
  (setq p1 (cons 0 "LWPOLYLINE"))
  (setq p2 (cons 100 "AcDbEntity"))
  (setq p4 (cons 100 "AcDbPolyline"))
  (setq p6 (cons 70 0))
  (setq p5 (cons 90 anzpkt))
  (setq p3 (cons 8 layername))
  (setq ee nil)
  (setq ee (list p6 p5 p4 p3 p2 p1))
  ;
  ; nun für alle punkte
  ;
  (setq i 0)
  (repeat anzpkt
    (progn
      (setq pkt (list 10 (nth i x_l) (nth i y_l)))
      (setq ee (cons pkt ee))
      (setq i (1+ i))
    )
  )
  (setq ee (reverse ee))
  (setq neu_pl (entmake ee))


Grüße  spider_dd

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

Mario Scht
Mitglied



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

Beiträge: 156
Registriert: 14.11.2002

Win XP
ACAD 2007

erstellt am: 28. Nov. 2003 09:57    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 an Euch, das war sehr hilfreich!

@ Holger: nach etlichem testen habe ich das von Dir beschriebene freuen gestern Abend endlich erreicht und ACAD hat mir von Zauberhand eine LWP auf den Bildschirm gezeichnet. Jetzt bin ich am tüfteln, wie ich mit ENTMOD den GC 90 um 1 erhöhe und dann die GC 10, 40, 41, 42 einfüge. Ist ENTMOD der richtige Weg?

@ Andi: das mit der Reihenfolge spielt, glaube ich, keine Rolle, zumindest habe ich nie darauf geachtet und es hat trotzdem gefunzt.

@ Spider: Deine Lisp funktioniert, mal sehen, ob ich davon was nutzen kann. Steht das dd für Dresden? Wenn ja, dann schöne Grüße an Dich und die Stadt, wenn nein, dann auch.

Grüße Mario

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

Brischke
Moderator
CAD on demand GmbH




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools (d-tools.eu)

erstellt am: 28. Nov. 2003 10:06    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 Mario Scht 10 Unities + Antwort hilfreich

Hallo Mario,

wenn es nicht unbedingt (entmod sein muß, dann schau mal in den (vl.-.. Funktionen, da gibt es auch ein
(vla-AddVertex ..)
Da brauchst dir darüber keine Gedanken mehr zu machen.

Ansonsten die (entget-Liste mit den Listenbearbeitungsfunktionen so manipulieren, wie du es gerade benötigst. Den Objektnamen und den GC 5 nicht ändern und dann ein (entmod drauf. Geht auch.

Bei Fragen ...

Grüße Holger

------------------
Holger Brischke
(defun - Lisp over night!
AutoLISP-Programmierung für AutoCAD

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

spider_dd
Mitglied



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

Beiträge: 1111
Registriert: 27.11.2003

Win 10Pro
Intel(R) Core(TM) i7-7700
NVIDIA Quadro P1000
ACAD, Civil-3D 2018

erstellt am: 28. Nov. 2003 11:46    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 Mario Scht 10 Unities + Antwort hilfreich

Hallo Mario

Zitat:

Jetzt bin ich am tüfteln, wie ich mit ENTMOD den GC 90 um 1 erhöhe und dann die GC 10, 40, 41, 42 einfüge. Ist ENTMOD der richtige Weg?

versuchs mal auf diesem weg:
  ;
  ;Polylinie wählen und alten GC90 Wert holen
  ;
  (setq poly (ssget))
  (setq poly_name (ssname poly 0))
  (setq poly_def (entget poly_name))
  (setq alt_pkt (cdr (assoc 90 poly_def)))
  ;
  ; neuen GC90 Wert setzen (hier 1+, kann aber auch mehr sein)
  ;
  (setq neu_pkt (1+ alt_pkt))
  (setq poly_def (subst (cons 90 neu_pkt) (assoc 90 poly_def) poly_def))
  ;
  ; jetzt noch neue(n) Punkt(e) hinzufügen
  ;
  (setq poly_def (reverse poly_def))
  (setq neu_pkt (list 10 xkoord ykoord))
  (setq poly_def (cons neu_pkt poly_def))
  ;
  ;dies ggf. für weiter Pkt wiederholen
  ;
  ; und dann Polylinie aktualisieren
  ;
  (setq poly_def (reverse poly_def))
  (entmod poly_def)
  (entupd poly_name)

Zitat:

@ Spider: Steht das dd für Dresden?

es steht


Grüße spider_dd

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

Mario Scht
Mitglied



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

Beiträge: 156
Registriert: 14.11.2002

Win XP
ACAD 2007

erstellt am: 28. Nov. 2003 13:31    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,

@ Holger: Leider habe ich nur LT mit Extender und keine richtige Lisp Hilfe. Allerdings habe ich die Seiten von Mapcar gefunden. (vla-AddVertex ..) ist, glaube ich, noch nichts für blutige Anfänger.
Trotzdem Vielen Dank!

@spider_dd: Die Zeilen sind genau dass, was ich gesucht habe. Das kann ich mir wunderbar umstricken.

War selber etliche Jahre dd-sider. Schöne Stadt.

Danke an Euch und bis zum sicherlich nächsten Mal

Grüße von Mario

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



BIM-Konstrukteur / CAD-Administrator (m/w/d)

Wasser ist lebenswichtig. Seit über 60 Jahren sorgen wir dafür, dass vier Millionen Menschen in Baden-Württemberg bestes Trinkwasser bekommen. Tag für Tag. Rund um die Uhr.

Wir suchen für unser Team der Abteilung Elektro- und Maschinen­technik in Stuttgart einen

BIM-Konstrukteur / CAD-Administrator (m/w/d)


  • Weiterentwicklung, ...
Anzeige ansehenMaschinenbau
dietmarrudolph
Mitglied
Autor, Programmierer, Berater

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

Beiträge: 6
Registriert: 28.11.2003

erstellt am: 28. Nov. 2003 14: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 Mario Scht 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Mario Scht:

@ Andi: das mit der Reihenfolge spielt, glaube ich, keine Rolle, zumindest habe ich nie darauf geachtet und es hat trotzdem gefunzt.


Seit AutoCAD 2000 können dieselben GCs bei einem Objekt mehrfach vorkommen. Entsprechend ist die Reihenfolge wesentlich!


------------------
Dietmar Rudolph
CR/LF GmbH, CADLock, Inc.
Autor "DXF intern", "AutoCAD Objekte", "Das AutoCAD Buch", u.a.

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