| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: pljoin (3968 mal gelesen)
|
carmelli76 Mitglied CAD/GIS Teamleitung
Beiträge: 553 Registriert: 05.07.2004 Autodesk Civil 3D 2014 Revit 2016 Vault 2014
|
erstellt am: 26. Aug. 2004 13:00 <-- editieren / zitieren --> Unities abgeben:
|
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 26. Aug. 2004 13:02 <-- editieren / zitieren --> Unities abgeben: Nur für carmelli76
|
carmelli76 Mitglied CAD/GIS Teamleitung
Beiträge: 553 Registriert: 05.07.2004 Autodesk Civil 3D 2014 Revit 2016 Vault 2014
|
erstellt am: 26. Aug. 2004 13:12 <-- editieren / zitieren --> Unities abgeben:
|
Proxy Ehrenmitglied Stateless-DHCP v6-Paketfragmentierer
Beiträge: 1629 Registriert: 13.11.2003 Tastaturen, Mäuse, Pladden, Monitore, ...
|
erstellt am: 26. Aug. 2004 13:16 <-- editieren / zitieren --> Unities abgeben: Nur für carmelli76
Falls pljoin.lsp doch nicht gefunden, hier ist es (Leerzeichen bei C:XXXXX entfernen) Code:
;;; ;;; PLJOIN.LSP ;;; Copyright © 1999 by Autodesk, Inc. ;;; ;;; Your use of this software is governed by the terms and conditions of the ;;; License Agreement you accepted prior to installation of this software. ;;; Please note that pursuant to the License Agreement for this software, ;;; "[c]opying of this computer program or its documentation except as ;;; permitted by this License is copyright infringement under the laws of ;;; your country. If you copy this computer program without permission of ;;; Autodesk, you are violating the law." ;;; ;;; AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS. ;;; AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF ;;; MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. AUTODESK, INC. ;;; DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE ;;; UNINTERRUPTED OR ERROR FREE. ;;; ;;; Use, duplication, or disclosure by the U.S. Government is subject to ;;; restrictions set forth in FAR 52.227-19 (Commercial Computer ;;; Software - Restricted Rights) and DFAR 252.227-7013(c)(1)(ii) ;;; (Rights in Technical Data and Computer Software), as applicable. ;;; ;;; ---------------------------------------------------------------- ;Set global for controling precision of internal point comparison. (setq #acet-pljoin-prec 0.0000001) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun c: pljoin ( / flt ss fuzz st ) (acet-error-init (list (list "cmdecho" 0 "highlight" (getvar "highlight") "plinetype" 2 "limcheck" 0 "osmode" 0 ) 0 '(progn ;clean up some temporary entities (if (and tmpna (entget tmpna) );and (entdel tmpna) );if (if (and tmpna2 (entget tmpna2) );and (entdel tmpna2) );if );progn );list );acet-error-init (setq flt (list (list '((-4 . "<OR") (0 . "LINE") (0 . "ARC") (0 . "*POLYLINE") (-4 . "OR>")) "\n1 object was not a line, arc or pline." "\n%1 objects were not lines, arcs or plines." );list (list '((-4 . "<OR") (0 . "LINE") (0 . "ARC") (-4 . "<AND") (0 . "*POLYLINE") (-4 . "<NOT") (-4 . "&") (70 . 1) (-4 . "NOT>") ;1 (-4 . "AND>") (-4 . "OR>")) "\n1 object was a closed pline." "\n%1 objects were closed plines." );list (list '((-4 . "<OR") (0 . "LINE") (0 . "ARC") (-4 . "<AND") (0 . "*POLYLINE") (-4 . "<NOT") (-4 . "&") (70 . 88) (-4 . "NOT>") ;8 16 64 (-4 . "AND>") (-4 . "OR>")) "\n1 object was a mesh or 3dpoly." "\n%1 objects were 3d plines or meshes." );list (list "LAYERUNLOCKED") (list "CURRENTUCS") );list );setq (if (and (setq ss (ssget)) (setq ss (acet-ss-filter-current-ucs ss T)) (setq ss (car (acet-ss-filter (list ss flt T)))) );and (progn (setvar "highlight" 0) (setq fuzz (acet-pljoin-get-fuzz-and-mode2) st (cadr fuzz) fuzz (car fuzz) );setq (princ "\nProcessing pline data....") (acet-pljoin2 ss st fuzz) (princ (acet-str-format "%1 Done.\n" (chr 8))) );progn then (princ "\nNothing valid selected.") );if (acet-error-restore) );defun c: pljoin ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun c: pljoinmode ( / ) (acet-error-init nil) (acet-pljoinmode2) (acet-error-restore) );defun c: pljoinmode ;;;backward compatibility stub functions.... (defun acet-pljoin ( ss st fuzz) (acet-pljoin2 ss st fuzz) ) (defun acet-pljoin-1st-pass ( ss flt) (acet-pljoin-1st-pass2 ss flt) ) (defun acet-pljoin-2nd-pass ( ss fuzz st flt) (acet-pljoin-2nd-pass2 ss fuzz st flt) ) (defun acet-pljoin-get-matched-pairs ( lst lst5 fuzz g st tmpe1 tmpe2 flst) (acet-pljoin-get-matched-pairs2 lst lst5 fuzz g st tmpe1 tmpe2 flst) ) (defun acet-pljoin-get-closest ( p1 lst fuzz g flst) (acet-pljoin-get-closest2 p1 lst fuzz g flst) ) (defun acet-pljoin-do-join ( fuzz st na p1 na2 p2 lst3 tmpe1 tmpe2) (acet-pljoin-do-join2 fuzz st na p1 na2 p2 lst3 tmpe1 tmpe2) ) (defun acet-pljoin-round ( ss g) (acet-pljoin-round2 ss g) ) (defun acet-pljoin-get-epoints ( na) (acet-pljoin-get-epoints2 na) ) (defun acet-lwpline-remove-duplicate-pnts ( e1) (acet-lwpline-remove-duplicate-pnts2 e1) ) (defun acet-pljoin-fillet-with-fuzz ( fuzz na p1 tmpe1 na2 p2 tmpe2) (acet-pljoin-fillet-with-fuzz2 fuzz na p1 tmpe1 na2 p2 tmpe2) ) (defun acet-pljoin-get-best-int ( a lst) (acet-pljoin-get-best-int2 a lst) ) (defun acet-pljoin-get-closest-int ( p1 p2 lst) (acet-pljoin-get-closest-int2 p1 p2 lst) ) (defun acet-pljoin-fillet-mod-epoint ( e1 flag x) (acet-pljoin-fillet-mod-epoint2 e1 flag x) ) (defun acet-pljoin-mod-tmp ( na p1 tmpe1) (acet-pljoin-mod-tmp2 na p1 tmpe1) ) (defun acet-pljoin-calc-new-bulge ( p1 b p2 p3) (acet-pljoin-calc-new-bulge2 p1 b p2 p3) ) (defun acet-pljoin-do-ss-pre-work ( ss flt) (acet-pljoin-do-ss-pre-work2 ss flt) ) (defun acet-pljoin-get-width ( na) (acet-pljoin-get-width2 na) ) (defun acet-pljoin-ss-flt ( ss flt) (acet-pljoin-ss-flt2 ss flt) ) (defun acet-pljoinmode () (acet-pljoinmode2) ) (defun acet-pljoin-init-mode () (acet-pljoin-init-mode2) ) (defun acet-pljoin-get-fuzz-and-mode () (acet-pljoin-get-fuzz-and-mode2) ) (acet-autoload2 '("PLJOINSUP.LSP" (acet-lwpline-remove-duplicate-pnts2 e1))) (acet-autoload2 '("PLJOINSUP.LSP" (acet-pljoin-1st-pass2 ss flt))) (acet-autoload2 '("PLJOINSUP.LSP" (acet-pljoin2 ss st fuzz))) (acet-autoload2 '("PLJOINSUP.LSP" (acet-pljoin-2nd-pass2 ss fuzz st flt))) (acet-autoload2 '("PLJOINSUP.LSP" (acet-pljoin-calc-new-bulge2 p1 b p2 p3))) (acet-autoload2 '("PLJOINSUP.LSP" (acet-pljoin-do-join2 fuzz st na p1 na2 p2 lst3 tmpe1 tmpe2))) (acet-autoload2 '("PLJOINSUP.LSP" (acet-pljoin-do-ss-pre-work2 ss flt))) (acet-autoload2 '("PLJOINSUP.LSP" (acet-pljoin-fillet-mod-epoint2 e1 flag x))) (acet-autoload2 '("PLJOINSUP.LSP" (acet-pljoin-fillet-with-fuzz2 fuzz na p1 tmpe1 na2 p2 tmpe2))) (acet-autoload2 '("PLJOINSUP.LSP" (acet-pljoin-get-best-int2 a lst))) (acet-autoload2 '("PLJOINSUP.LSP" (acet-pljoin-get-closest2 p1 lst fuzz g flst))) (acet-autoload2 '("PLJOINSUP.LSP" (acet-pljoin-get-closest-int2 p1 p2 lst))) (acet-autoload2 '("PLJOINSUP.LSP" (acet-pljoin-get-epoints2 na))) (acet-autoload2 '("PLJOINSUP.LSP" (acet-pljoin-get-fuzz-and-mode2))) (acet-autoload2 '("PLJOINSUP.LSP" (acet-pljoin-get-matched-pairs2 lst lst5 fuzz g st tmpe1 tmpe2 flst))) (acet-autoload2 '("PLJOINSUP.LSP" (acet-pljoin-get-width2 na))) (acet-autoload2 '("PLJOINSUP.LSP" (acet-pljoin-init-mode2))) (acet-autoload2 '("PLJOINSUP.LSP" (acet-pljoinmode2))) (acet-autoload2 '("PLJOINSUP.LSP" (acet-pljoin-mod-tmp2 na p1 tmpe1))) (acet-autoload2 '("PLJOINSUP.LSP" (acet-pljoin-round2 ss g))) (acet-autoload2 '("PLJOINSUP.LSP" (acet-pljoin-ss-flt2 ss flt))) (princ)
IMHO hat es Pedit eigentlich abgelöst. ------------------ "Lisp?!?! Why the Hell did you pick the most arcane, obscure, and hopelessly-rooted-in-the-computer-science-department language in the world for an AutoCAD programming language?" Read the whole story: The Autodesk File ca. 890 Seiten | 7500 KB PDF Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dig15 Ehrenmitglied V.I.P. h.c. Dipl.-Ing. für Markscheidewesen und Geodäsie
Beiträge: 5833 Registriert: 27.02.2003 DWG TrueView 2014
|
erstellt am: 26. Aug. 2004 13:20 <-- editieren / zitieren --> Unities abgeben: Nur für carmelli76
|
carmelli76 Mitglied CAD/GIS Teamleitung
Beiträge: 553 Registriert: 05.07.2004 Autodesk Civil 3D 2014 Revit 2016 Vault 2014
|
erstellt am: 26. Aug. 2004 13:25 <-- editieren / zitieren --> Unities abgeben:
ja danke, das funzt jetzt wieder. mich wundert nur, warum die so einen hervorragenden und simplen befehl abschaffen. nun ja muss ich ja nicht begreifen. hab ihn ja wieder. viele grüsse von carmelli. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
carmelli76 Mitglied CAD/GIS Teamleitung
Beiträge: 553 Registriert: 05.07.2004 Autodesk Civil 3D 2014 Revit 2016 Vault 2014
|
erstellt am: 01. Sep. 2004 17:15 <-- editieren / zitieren --> Unities abgeben:
hallo, jetzt funktioniert der befehl plötzlich von einem tag zum anderen nicht mehr. ich erhalte fehlermeldung: no function definition: ACET-PLJOIN-GET-FUZZ-AND-MODE2 dabei habe ich überhaupt nichts geändert, habe dann nochmals neu die lsp-datei erstellt, wieder dasselbe. daraus werde ich überhaupt nicht schlau. reicht mein lisp leider nicht. kann mir einer das erklären? viele grüsse. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Geos Mitglied Vermessungstechniker i.R.
Beiträge: 1017 Registriert: 21.09.2001 ACAD Map 2010, Win 7 Pro eigene Lisp's<P>HW: Core i7 860, 2.8 GHz 3.3 GB, NVIDIA GeForce GTS 250
|
erstellt am: 02. Sep. 2004 08:15 <-- editieren / zitieren --> Unities abgeben: Nur für carmelli76
Hi Das scheint eine Funktion zu sein, die in PLJOINSUP.LSP definiert ist; siehe (acet-autoload2 '("PLJOINSUP.LSP" (acet-pljoin-get-fuzz-and-mode2))) Wenn es schon funktioniert hat, nehme ich an, daß Du die Datei hast. Stelle sicher, daß sie auch geladen wird. ------------------ Gruß, Ernst Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
carmelli76 Mitglied CAD/GIS Teamleitung
Beiträge: 553 Registriert: 05.07.2004 Autodesk Civil 3D 2014 Revit 2016 Vault 2014
|
erstellt am: 02. Sep. 2004 14:40 <-- editieren / zitieren --> Unities abgeben:
wenn ich das lisp allein laden will, dann kommt folgende fehlermeldung: Fehler: Syntaxfehler; Fehler: Es ist ein Fehler innerhalb der *error*-Funktion aufgetreten.Einstellung für AutoCAD-Variable zurückgewiesen: "cmdecho" nil was soll ich damit anfangen? viele grüsse. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd10 Mitglied
Beiträge: 763 Registriert: 20.11.2003 Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz 16 GB RAM Windows 10 Pro 64-bit AutoCAD Mechnical 2020 Deu
|
erstellt am: 03. Sep. 2004 10:15 <-- editieren / zitieren --> Unities abgeben: Nur für carmelli76
Hallo, Zitat: Original erstellt von carmelli76: wenn ich das lisp allein laden will, dann kommt folgende fehlermeldung:Fehler: Syntaxfehler; Fehler: Es ist ein Fehler innerhalb der *error*-Funktion aufgetreten.Einstellung für AutoCAD-Variable zurückgewiesen: "cmdecho" nil was soll ich damit anfangen? viele grüsse.
ich vermute, dass die Systemvariable "cmdecho" irgendwo in der Lisp-Datei den Wert nil erhält, weil die Variable dort nil ist. Ich würde zunächst in der Lisp-Datei alle Stellen suchen, wo die Systemvariable "cmdecho" mit setvar geändert wird. VOR jeder diese Zeilen eindeutige Meldungen in die Befehlszeile schreiben, damit die Stelle des Fehlers eigegrenzt werden kann. z.B.: (terpri) (princ "Stelle 1: ") (princ variablebeisetvarcmdecho) Gruß Bernd 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: 03. Sep. 2004 10:32 <-- editieren / zitieren --> Unities abgeben: Nur für carmelli76
|
Peter Tropf Mitglied Konstrukteur
Beiträge: 246 Registriert: 28.06.2003
|
erstellt am: 03. Sep. 2004 22:11 <-- editieren / zitieren --> Unities abgeben: Nur für carmelli76
Hallo Leute, eigentlich ist PLJOIN überflüssig, weil PEDIT seit 2002 ebenfalls komfortabel verbinden kann. Der Trick: Man muss beim Aufruf von PEDIT zuerst mit der Eingabe "O" die Option "mehrere Objekte" wählen, dann alles in ein Auswahlfenster, "V" für "Verbinden" und anschließend den Fuzzy-Abstand festlegen (1 Zahl oder 2 Punkte) für die erlaubten Lücken. Gruß Peter
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kramer24 Ehrenmitglied V.I.P. h.c. Architekt
Beiträge: 5881 Registriert: 09.11.2001 Acad Architecture 2023 WIN 10
|
erstellt am: 03. Sep. 2004 22:57 <-- editieren / zitieren --> Unities abgeben: Nur für carmelli76
Zitat: Original erstellt von Peter Tropf: ...weil PEDIT seit 2002 ebenfalls komfortabel verbinden kann.
Stimmt, aber "pljoin" ist komfortabler. Ich benutze "pljoin" auch in 2004, und es läuft ohne Fehler. Lothar Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |