Since you posted in the Lisp forum this is what I use:
Code:
;;; PLJOIN.LSP ;;; Joins lines, arcs and polylines
;;; If only one object is selected it joins to all conected objects
;;; If multiple objects are selected it joins to all conected objects.
;;; By Tom Beauford
;;; BeaufordT@LeonCountyFL.gov
;;; Macro ^P(or C:pljoin (load "pljoin.lsp"));pljoin
(defun c:pljoin (/ cmdecho peditaccept ss fuzzdst)
(princ "\nSelect object to join: ")
(setq cmdecho (getvar "cmdecho")
peditaccept (getvar "peditaccept")
ss (ssget '((0 . "LINE,ARC,*POLYLINE")))
; fuzzdst (getdist "\nFuzz Distance: ")
)
(setvar "cmdecho" 0)
(setvar "peditaccept" 1)
(if ss
(progn
(if (= (sslength ss) 1)
(command "_.pedit" ss "_J" "_all" "" "")
; (command "_.pedit" "_M" ss "" "_J" "_J" "_E" fuzzdst "")
(command "_.pedit" "_M" ss "" "_J" "_J" "_E" "0.0" "")
)
)
)
(setvar "cmdecho" cmdecho)
(setvar "peditaccept" peditaccept)
(princ)
)
Put pljoin.lsp in a support folder.
Put the macro
Code:
^P(or C:pljoin (load "pljoin.lsp"));pljoin
in the "Context menu for edit mode" Shortcut Menu.
Now right-click lines, arcs, and polylines and if only one object is selected it joins to all conected objects. If multiple objects are selected it joins just those objects.