Lisp, склеивание линий под блоком.

Если у вас есть блок лежащий на линии, при этом линия под ним «разрезана», то -эта комманда поможет удалить блок «склеив» линию под ним.

Работает следующим образом:

  • HEAL2 <enter>
  • Выбрать блок для удаления.

Собственно всё!!!

heal-line

(defun c:HEAL2(/
block ll ur objecttojoin)
(vl-load-com)
(setq block (car (entsel «\nSelect Block:»)))
(vla-getboundingbox (vlax-ename->vla-object block) ‘ll ‘ur)
(command «_.erase» block «»)
(setq objecttojoin (ssget «C» (vlax-safearray->list ll)

(vlax-safearray->list ur)))
(command «_.join» (ssname objecttojoin 0)
(ssname objecttojoin 1) «»)
)