Новая версия сайта, доступна здесь.
Выбор объектов
eea-cp.gif (105 Кб)
;; eea-cp.lsp (defun eea-cp (/ PT PTLIST SS) ;| ***************************************************************************************** by ElpanovEvgeniy Библиотечная функция. Программа, позволяет выбирать объекты многоугольником, подобно команде AutoCAD "_SELECT" с опцией "_CP" Программа динамически рисует на экране весь многоугольник выбора. Программа возвращает список выбранных примитивов. Дата создания 11.05.2006 последняя редакция --- ***************************************************************************************** Library function. The program, allows to choose objects, by means of a polygon, Like AutoCAD command "_SELECT" command with an option"_CP" The program dynamically draws all polygon of a choice on the screen. The program returns the selected object (entity). Date of creation 11.05.2006 Last edition --- (eea-cp) ***************************************************************************************** |; (setq PTLIST (list (setq PT (getpoint "\n Specify the first point ")))) (princ "\n Specify the following point ") (princ) (while (setq PT (progn (while (and (setq PT (grread 5)) (= (car PT) 5)) (redraw) (mapcar (function (lambda (x1 x2) (grdraw x1 x2 6 5))) (cons (cadr PT) PTLIST) (append PTLIST (cdr PT)) ) ;_ mapcar ) ;_ while (if (listp (cadr PT)) (cadr PT) ) ;_ if ) ;_ progn ) ;_ setq (setq PTLIST (cons PT PTLIST)) ) ;_ while (redraw) (vla-ZoomExtents (vlax-get-acad-object)) (if (setq ss (ssget "CP" PTLIST)) (vl-remove-if (function listp) (mapcar (function cadr) (ssnamex ss))) ) ;_ if ) ;_ defun ;|«Visual LISP© Format Options» (80 1 2 2 T " " 80 60 0 0 0 nil nil nil T) ;*** DO NOT add text below the comment! ***|;