| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Abwicklung einer Polilinie mit Punkten (1652 mal gelesen)
|
fitztech Mitglied Yachtinterior / Innenausbau
Beiträge: 140 Registriert: 21.12.2001 Windows 7, X64 AutoCAD 2012 Intel Xeon E5530 @2,4Ghz & RAM 8GB
|
erstellt am: 26. Jun. 2003 07:48 <-- editieren / zitieren --> Unities abgeben:
Morgen alle zusammen, ich zeichne gerdae eine gewendelte treppe und da hab ich das ständige problem, dass ich bei der abwicklung die maße umständlich über polilinienlänge und dann antragen am gerden strich übertragen muss. MEINE FRAGE: gibt es ein tool für acad das aus einer polilinie mit punkten eine gerade mit punkten macht, oder so ähnlich? Dieses Problem hab ich öfter und nicht nur bei treppen. MEINE 2.FRAGE gibt es ein tool das z.b. eine polilinie an allen daraufliegenden punkten bricht? also bruch mit einem punkt. danke für eure antworten!
gruß wastl Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ulf Böger Mitglied
Beiträge: 281 Registriert: 18.09.2002 IBM R50p 1.7GHz 1GB RAM ATI Mobility Fire GL T2 128 MB Win2000 SP3 AutoCAD Mechanical 2004 DX Inventor 8 SP1 ADT 2004 PartSolutions 8
|
erstellt am: 26. Jun. 2003 07:50 <-- editieren / zitieren --> Unities abgeben: Nur für fitztech
|
Thomas Rausch Mitglied
Beiträge: 1199 Registriert: 26.03.2001 Intel P4 2,6 GHz 512 MB RAM NVIDIA GeForce FX 5200 . WinXP prof. Autodesk Map 2004 SP 1 WS-Landcad 2004 . Tetris
|
erstellt am: 26. Jun. 2003 08:09 <-- editieren / zitieren --> Unities abgeben: Nur für fitztech
Hallo, wahrscheinlich habe ich nicht genau verstanden, was du eigentlich willst, denn auf die Idee, die PL aufzulösen (_EXPLODE) bist du doch sicher schon gekommen? ------------------ gruß thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 26. Jun. 2003 08:47 <-- editieren / zitieren --> Unities abgeben: Nur für fitztech
Hallo wastl, ich habe sowas noch nicht gesehen, da das nun aber kein großer Aufwand ist, habe ich mal schnell ein paar Zeilen zusammen geschrieben.
Code:
(defun c:plab (/ pl pld plli) (princ "\nLWPolylinie wählen:") (setq pl (entsel) pld (if pl (entget(setq pl(car pl))))) (if pld (cond ((= "LWPOLYLINE" (cdr (assoc 0 pld))) (setq plli (reverse(apply 'append (mapcar '(lambda (P) (if (= 10 (car P)) (list (cdr P)) ) ) pld) )) ) ) ((= "POLYLINE" (cdr (assoc 0 pld))) (while (= (cdr (assoc 0 (setq pld (entget (entnext (cdr (assoc -1 pld))))))) "VERTEX") (setq plli (cons (cdr (assoc 10 pld)) plli)) ) ) ) (princ "\nKeine Polylinie gewählt!") ) (if plli (plab (vlax-ename->vla-object pl) (reverse plli)) (princ "\nKeine Polylinie gewählt!") ) (princ) ) (defun plab (pl ptli /) (setq ptli (mapcar '(lambda (PT) (vlax-curve-getDistAtPoint pl PT) ) ptli ) ) (initget 1) (command "_PLINE" (setq stpt(getpoint "\nStartpunkt: "))) (mapcar '(lambda (D) (command (polar stpt 0.0 D)) ) (cdr ptli) ) (command "") ) (princ "\nPLAB.lsp geladen - Start mit \"PLAB\"") (princ "\nCADlon - Lisp over night!") (princ "\nhttp://www.CADlon.de")
Bei Fragen ... Grüße Holger ------------------ Holger Brischke CADlon - Lisp over night! 4 Neue Tool's im FreeDownload(gesamt 33)!? [Diese Nachricht wurde von Brischke am 26. Juni 2003 editiert.] [Diese Nachricht wurde von Brischke am 26. Juni 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fitztech Mitglied Yachtinterior / Innenausbau
Beiträge: 140 Registriert: 21.12.2001 Windows 7, X64 AutoCAD 2012 Intel Xeon E5530 @2,4Ghz & RAM 8GB
|
erstellt am: 26. Jun. 2003 08:53 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von Thomas Rausch: Hallo, wahrscheinlich habe ich nicht genau verstanden, was du eigentlich willst, denn auf die Idee, die PL aufzulösen (_EXPLODE) bist du doch sicher schon gekommen?
jo schon, aber wenn die polilinie nen bogen macht oder nen knick hat wie mach ichs dann? gruß wastl Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fitztech Mitglied Yachtinterior / Innenausbau
Beiträge: 140 Registriert: 21.12.2001 Windows 7, X64 AutoCAD 2012 Intel Xeon E5530 @2,4Ghz & RAM 8GB
|
erstellt am: 26. Jun. 2003 09:00 <-- editieren / zitieren --> Unities abgeben:
|
Ulf Böger Mitglied
Beiträge: 281 Registriert: 18.09.2002 IBM R50p 1.7GHz 1GB RAM ATI Mobility Fire GL T2 128 MB Win2000 SP3 AutoCAD Mechanical 2004 DX Inventor 8 SP1 ADT 2004 PartSolutions 8
|
erstellt am: 26. Jun. 2003 10:30 <-- editieren / zitieren --> Unities abgeben: Nur für fitztech
Gott ist ein LISP-Programmierer! :-)))) Zitat: Original erstellt von fitztech: Holger darf ich dich gott nenen?Danke für dieses geile LISP! Kannst du mir noch ne antwort auf meine 2. frage geben? Dann wär ich der glücklichste mensch auf dieser erde! gruß wastl
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 26. Jun. 2003 10:56 <-- editieren / zitieren --> Unities abgeben: Nur für fitztech
Oh Mist - dann muß ich das Elend auf dieser Welt ja ewig ertragen. Sind ja düstere Aussichten. @fitztech Du darfst mich nicht Gott nennen. @Ulf Ich bin nicht Gott - du musst weiter suchen! Grüße Holger Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RoSiNiNo Mitglied Konstrukteur
Beiträge: 1126 Registriert: 09.10.2002 Autodesk Building Design Suite Premium 2021 Windows 10 Pro 64bit HP Workstation Z620, 24GB GeForce GTX 970
|
erstellt am: 27. Jun. 2003 07:50 <-- editieren / zitieren --> Unities abgeben: Nur für fitztech
Hallo Wastl, ich hab so etwas auch in meinen Tools. Die Abwicklung funktioniert bei allen Objekten (Kreise, Elipsen, Polylinien, LWPolilinien,...). Bei Interesse schick mir einfach eine PM. Zu deiner zweiten Frage: Sollte auch kein Problem sein, hab nur gerade keine Zeit zum Programmieren. ------------------ Roland [Diese Nachricht wurde von RoSiNiNo am 27. Juni 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADwiesel Moderator CAD4FM UG
Beiträge: 1968 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 04. Feb. 2005 07:42 <-- editieren / zitieren --> Unities abgeben: Nur für fitztech
Ich habs mal auf geschlossene Polylinien angepasst, bei denen wurde in Holgers Version immer das letzte Segment weggelassen. Macht sich halt blöd bei wichtigen Berechnungen. so, hier nochmal überarbeitet Code:
(defun c lab (/ pl pld plli li) (defun plab2 (ELEM ptli / dili stpt gesla teillang) (setq gesla (vlax-curve-getdistatparam ELEM (vlax-curve-getendparam ELEM) ) ;_ ende von vlax-curve-getdistatparam ) ;_ ende von setq (repeat (- (length ptli) 1) (setq dili (cons (setq teillang (2P-Dist ELEM (nth 0 ptli) (nth 1 ptli))) dili ) ;_ ende von cons ptli (cdr ptli) gesla (- gesla teillang) ) ;_ ende von setq ) ;_ ende von repeat (if (> gesla 0) (setq dili (cons gesla dili)) ) ;_ ende von if (command "_PLINE" (setq stpt (getpoint "\nStartpunkt: "))) (mapcar '(lambda (D) (command (setq stpt (getvar "lastpoint")) (polar stpt 0.0 D) ) ;_ ende von command ) ;_ ende von lambda dili ) ;_ ende von mapcar (command "") ) ;_ ende von defun (defun 2P-DIST (ENAME PT1 PT2 /) (setq ENAME (vlax-ename->vla-object ENAME)) (abs (- (vlax-curve-getdistatpoint ENAME (vlax-curve-getclosestpointto ENAME PT1 ) ;_ end of vlax-curve-getclosestpointto ) ;_ end of vlax-curve-getDistAtPoint (vlax-curve-getdistatpoint ENAME (vlax-curve-getclosestpointto ENAME PT2 ) ;_ end of vlax-curve-getClosestPointTo ) ;_ end of vlax-curve-getdistatpoint ) ;_ end of - ) ;_ end of abs ) ;_ end of defun (princ "\nPolylinie wählen:") (setq pl (entsel) pld (if pl (entget (setq pl (car pl))) ) ;_ ende von if ) ;_ ende von setq (if pld (cond ((= "LWPOLYLINE" (cdr (assoc 0 pld))) (setq plli (reverse (apply 'append (mapcar '(lambda (P) (if (= 10 (car P)) (list (cdr P)) ) ;_ ende von if ) ;_ ende von lambda pld ) ;_ ende von mapcar ) ;_ ende von apply ) ;_ ende von reverse ) ;_ ende von setq ) ((= "POLYLINE" (cdr (assoc 0 pld))) (if (= (cdr (assoc 70 pld)) 1) (setq flag T) ) ;_ ende von if (while (= (cdr (assoc 0 (setq pld (entget (entnext (cdr (assoc -1 pld))))) ) ;_ ende von assoc ) ;_ ende von cdr "VERTEX" ) ;_ ende von = (setq plli (cons (cdr (assoc 10 pld)) plli)) ) ;_ ende von while ) ) ;_ ende von cond (princ "\nKeine Polylinie gewählt!") ) ;_ ende von if (if plli (plab2 pl plli) (princ "\nKeine Polylinie gewählt!") ) ;_ ende von if (princ) )
------------------ Gruß CADwiesel Besucht uns im CHAT
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cad4fun Ehrenmitglied
Beiträge: 1846 Registriert: 06.12.2004 privat ACAD 2013 und 2017 deutsch, Windows 7 64Bit HP Elite 7500 Series MT,Intel Cote i5-3470 CPU 3,20Ghz,16GB RAM ATI FirePro V (FireGL V) Graphics Adapter Treiberversion: 15.201.1151.1008
|
erstellt am: 04. Feb. 2005 08:49 <-- editieren / zitieren --> Unities abgeben: Nur für fitztech
Zitat: Original erstellt von CADwiesel: Ich habs mal auf geschlossene Polylinien angepasst, bei denen wurde in Holgers Version immer das letzte Segment weggelassen. Macht sich halt blöd bei wichtigen Berechnungen.
Guten Morgen ich befürchte, dass Du irgendwo einen fehler hast. in der beigefügten DWG findest Du die Ergenisse Deiner PLAB und der von BRISCHKE und das von B ist korrekt Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADwiesel Moderator CAD4FM UG
Beiträge: 1968 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 04. Feb. 2005 09:46 <-- editieren / zitieren --> Unities abgeben: Nur für fitztech
|
Philipp-M Mitglied Bauzeichner
Beiträge: 157 Registriert: 15.06.2004
|
erstellt am: 12. Dez. 2005 13:52 <-- editieren / zitieren --> Unities abgeben: Nur für fitztech
hallo zusammen, habe gerade in der suche nach genau so einen lsp gesucht, mir das den code in eine lsp-datei kopiert, den smile mit c lab ersetz. beim laden des lsp in acad wird alles geladen, aber bei ausführen mit den befehl plab kommt die meldung unbekannter befehl. was habe ich falsch gemacht ?
------------------ Philipp Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Philipp-M Mitglied Bauzeichner
Beiträge: 157 Registriert: 15.06.2004 AutoCAD LT 2021 Windows 7 Plotter HP-DJ-T1100 Drucker Olivetti 200MF Drucker Olivetti mf201
|
erstellt am: 12. Dez. 2005 13:56 <-- editieren / zitieren --> Unities abgeben: Nur für fitztech
|
CADwiesel Moderator CAD4FM UG
Beiträge: 1968 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 12. Dez. 2005 14:30 <-- editieren / zitieren --> Unities abgeben: Nur für fitztech
|
Philipp-M Mitglied Bauzeichner
Beiträge: 157 Registriert: 15.06.2004
|
erstellt am: 12. Dez. 2005 15:59 <-- editieren / zitieren --> Unities abgeben: Nur für fitztech
|