> karenn
Держи парочку... Подцепишь к своей "менюхе".
Но первая "полусырая" и первая линия должна быть полилиний, а остальные отрезками.
; Объединение полилиний
(DEFUN C:JOIN ( / pl1 pl2)
(SETVAR "CMDECHO" 0)
(SETQ pl1 (ENTSEL "\nВыбери первую полилинию:"))
(PROMPT "\nВыбери остальные линии:\n")
(SETQ pl2 (SSGET))
(COMMAND "_PEDIT" pl1 "_j" pl2 "" "")
(SETVAR "CMDECHO" 1)
(PRIN1)
)
И еще...
;;------------- LINE TO PLINE -----------------------
;; Программа конвертирует выбранные линии в полилинии
;;
(defun c:l2p( / ce bm osm sl selnum dlina imia vibor top tolh)
(setq ce (getvar "CMDECHO" )
bm (getvar "BLIPMODE")
osm (getvar "OSMODE")
tolh (getreal"\nТолщина будущих полилиний: ")
)
(prompt "Выбери линии для конвертации: ")
(setq sl (SSGET) selnum 0 dlina (SSLENGTH sl))
(WHILE
(< selnum dlina)
(SETQ imia (SSNAME sl selnum)
vibor (ENTGET imia)
top (APPEND(LIST imia)(LIST(CDR(ASSOC 10 vibor))))
)
(IF (= "LINE" (CDR (ASSOC 0 vibor))) ;--- check: Is selected line
(COMMAND "_pedit" top "_y" "_w" tolh "")
(SETQ selnum (1+ selnum))
)
)
(COMMAND "redraw")
(SETVAR "cmdecho" ce)
(SETVAR "blipmode" bm)
(SETVAR "osmode" osm)
(PRIN1)
)