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) «»)
)

Сумма длин линий и площадей в Автокаде

Сумма длинн линий по типу линий АвтокадИтак, представим себе тривиальную задачу — надо посчитать длину к примеру трубопроводов, или электрических кабелей, или дорожной разметки, в общем любых линейных объектов на плане.

Можно взять отдельные элементы на плане и, заглядывая в их свойства, последовательно сложить длины. Но согласитесь это утомительно, однообразно, и как-то неэффективно.

Можно воспользоваться стандартным инструментом _dataextraction, хотя он настолько универсален, что для решения такой простой задачи пусть и подходит, но результат вы получите не намного быстрее чем складывая вручную.  Проще потратить пару минут, и раз и навсегда установить GeomProps.

В целом же, для решения подобных задач я использую прием  суммирования длин линий по типу линий. Работает это следующим образом:

  1.  Создать типы линий для каждого типа линейных объектов, с которыми будем работать. Это позволяет, во-первых, контролировать параметры отображения линии на плане, и быстро изменять его при необходимости, переписывая файл с линиями. Во вторых позволяет отфильтровать одни объекты от других, без использования слоёв. После чего с помощью SelSim мы сможем в один клик выбирать все аналогичные объекты на плане.
  2. Посчитаем сумму длин линий линейных объектов в AutoCAD, обратимся за помощью к GeomProps.
  3. И наконец,  добавим небольшую ведомость с суммами длин в виде таблицы по типу линий с помощью небольшой лисп утилиты от Mac Lee —  LenCal.
Сумма линий и площадей в автокаде
Сумма длин линий и площадей объектов Автокад с помощью GeomProps

Теперь разберемся с каждым пунктом немного подробнее:

Читать далее «Сумма длин линий и площадей в Автокаде»