Notice: Undefined index: moes_p in /home/elpanov/elpanov.com/docs/index.php(3) : eval()'d code on line 1
ElpanovEvgeniy | Выбор объектов

Новая версия сайта, доступна здесь.




Выбор объектов





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! ***|;