| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY wird von NVIDIA zum Händler des Jahres gewählt – zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: Linie durch Polylinie ersetzen (8060 mal gelesen)
|
jukni Mitglied Techniker
Beiträge: 175 Registriert: 28.03.2002 Autocad 2006 -WIN XP Prof. -Intel Core2 Duo E6700-4GB -PNY Quadro FX3500
|
erstellt am: 26. Feb. 2003 10:27 <-- editieren / zitieren --> Unities abgeben:
Hallo. Wir arbeiten mit Autocad 2002. Vielleicht hat jemand eine Lisp oder einen Rat. Ich brauche folgendes: Eine normale Linie soll durch eine Polylinie ersetzt werden. Diese Polyline soll den gleichen Layer und die gleichen End und den gleichen Mittelpunkt haben. Diese Funktion würde ich gern unter ein Werkzeugicon legen. Klicke ich nun auf die normale Linie wird diese automatisch durch eine gleichwertige Polylinie ersetzt. Danke Jürgen.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
c@s Mitglied cad kommunikation
Beiträge: 269 Registriert: 07.08.2002 win 10<P> AutoCad 2018
|
erstellt am: 26. Feb. 2003 11:01 <-- editieren / zitieren --> Unities abgeben: Nur für jukni
|
Wolli Mitglied Konstrukteur
Beiträge: 704 Registriert: 28.02.2001 Win7 64Bit+32Bit VM-Ware I7 12GB ACAD Mech 2010 Inventor Pro 2010 + 2012 Ansys 13 NLS
|
erstellt am: 26. Feb. 2003 11:09 <-- editieren / zitieren --> Unities abgeben: Nur für jukni
|
Thomas Rausch Mitglied
Beiträge: 1200 Registriert: 26.03.2001 Intel Xeon 3,6 GHz 32 GB RAM NVIDIA Quadro P2000 Windows 10 Enterprise AutoCADmap 3D 2023 WS-Landcad 2023 QGIS 3.28.5
|
erstellt am: 26. Feb. 2003 11:16 <-- editieren / zitieren --> Unities abgeben: Nur für jukni
|
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2494 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 26. Feb. 2003 11:16 <-- editieren / zitieren --> Unities abgeben: Nur für jukni
Hi, oder via Lisp: Code:
(defun C:L2PL (/ SGET) (princ "Linien wählen...") (setq SGET (ssget (list (cons 0 "LINE")))) (if SGET (progn (command "_.pedit" "_m" SGET "" "_y" "") (princ (strcat "\nOK, " (itoa (sslength SGET)) " Linie(n) zu(r) Polylinie(n) konvertiert !" ) ;_ end of strcat ) ;_ end of princ ) ;_ end of progn (princ "\nKeine Linien gewählt !") ) ;_ end of if (princ) ) ;_ end of defun
Die Lisp dann wie gewohnt in 'nen WK einbauen: ^c^c(if (null c:l2pl)(load "l2pl.lsp"))(princ);l2pl; ------------------ Ciao, Marc [Diese Nachricht wurde von marc.scherer am 26. Februar 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jukni Mitglied Techniker
Beiträge: 175 Registriert: 28.03.2002 Autocad 2006 -WIN XP Prof. -Intel Core2 Duo E6700-4GB -PNY Quadro FX3500
|
erstellt am: 26. Feb. 2003 11:16 <-- editieren / zitieren --> Unities abgeben:
Hallo Wolfgang. Das ist alles gut und schön. Aber das wichtigste ist das die neu erstellte oder umgewandelte Polylinie nicht aus zwei Punkten besteht, sondern auch in der Mitte einen Punkt hat, also aus drei Punkten besteht. Nur so kann ich die Linie knicken. Gruss Jürgen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2494 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 26. Feb. 2003 11:20 <-- editieren / zitieren --> Unities abgeben: Nur für jukni
|
Angelika Hädrich Ehrenmitglied V.I.P. h.c. Application Engineer
Beiträge: 5123 Registriert: 12.07.2000 Der erreicht am meisten, der immer auch anders kann, als er vorhatte.
|
erstellt am: 26. Feb. 2003 11:30 <-- editieren / zitieren --> Unities abgeben: Nur für jukni
|
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 26. Feb. 2003 11:49 <-- editieren / zitieren --> Unities abgeben: Nur für jukni
Hallo Jukni, auf die Schnelle - ohne Error-Handling, Variablenrückstellung,... Code:
(defun c:lplmdp (/ as);Linie zur Polylinie mit 3 Punkten (setvar "OSMODE" 0) (setq as (ssget "_X" (list '(-4 . "<and") '(0 . "LINE") '(8 . "0");Hier den Layernamen der PL eintragen '(-4 . "and>") ) ) as (if as (bau_elemli as))) (mapcar '(lambda (X / npt) (setq npt (mapcar '(lambda (P) (/ P 2.0) ) (mapcar '(lambda (A B) (+ A B) ) (cdr(assoc 10(entget X)))(cdr(assoc 11(entget X))) ) ) ) (command "_.pedit" X "_Y" "_E" "_I" npt "_X" "") ) as) (princ) ) (defun bau_elemli (asatz / n elemli) (setq n 0) (repeat (sslength asatz) (setq elemli(cons (ssname asatz n) elemli) n (1+ n)) ) elemli )
Bei Fragen ... Grüße Holger ------------------ Holger Brischke CADlon - Lisp over night! Wieder 2 neue Tool's im FreeDownload Wissen wie es gemacht wird? Jetzt Quellcode für die Hälfte
[Diese Nachricht wurde von Brischke am 26. Februar 2003 editiert.] [Diese Nachricht wurde von Brischke am 26. Februar 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2494 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 26. Feb. 2003 12:06 <-- editieren / zitieren --> Unities abgeben: Nur für jukni
Hi, ich hab' auch noch einen... Code:
(defun C:XL2PL (/) ;;; Geklaut von Axel Strubbe-Zettler ;-) (defun XORDRAW (P1 P2 P3 /) (grdraw P1 P3 -1) (grdraw P2 P3 -1) ) ;_ end of defun (defun GET-PT (P1 P2 / P PP) (setq PP (grread 't 1)) (XORDRAW P1 P2 (cadr PP)) (while (= 5 (car (setq P (grread 't 1)))) (XORDRAW P1 P2 (cadr PP)) (XORDRAW P1 P2 (cadr P)) (setq PP P) ) ;_ end of while (XORDRAW P1 P2 (cadr PP)) (if (= 3 (car P)) P ) ;_ end of if ) ;_ end of defun ;;; Geklaut von Axel Ende (princ "Linien wählen...") (setq ENAME (car (entsel))) (if (= (cdr (assoc 0 (setq EDATA (entget ENAME)))) "LINE" ) ;_ end of = (progn (setq XENAME (vlax-ename->vla-object ENAME) PKT (vlax-curve-getpointatparam XENAME (/ (vlax-curve-getendparam XENAME) 2) ) ;_ end of vlax-curve-getPointAtParam ) ;_ end of setq ;;; Nochmal geklaut von Axel (if (setq P3 (cadr (GET-PT (setq P10 (cdr (assoc 10 EDATA))) (setq P11 (cdr (assoc 11 EDATA))) ) ;_ end of get-pt ) ;_ end of cadr ) ;_ end of setq (setq PKT P3) ) ;_ end of if ;;; Geklaut Ende (command "_.pedit" ENAME "_y" "_e" "_i" PKT "_x" "") (princ "\nOK, Linie zur Polylinie konvertiert !" ) ;_ end of princ ) ;_ end of progn (princ "\nKeine Linie gewählt !") ) ;_ end of if (princ) ) ;_ end of defun
------------------ Ciao, Marc Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |