;;; ;;; 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 . "")) "\n1 object was not a line, arc or pline." "\n%1 objects were not lines, arcs or plines." );list (list '((-4 . "") ;1 (-4 . "AND>") (-4 . "OR>")) "\n1 object was a closed pline." "\n%1 objects were closed plines." );list (list '((-4 . "") ;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)