Сумма длин линий и площадей в Автокаде
Итак, представим себе тривиальную задачу — надо посчитать длину к примеру трубопроводов, или электрических кабелей, или дорожной разметки, в общем любых линейных объектов на плане.
Можно взять отдельные элементы на плане и, заглядывая в их свойства, последовательно сложить длины. Но согласитесь это утомительно, однообразно, и как-то неэффективно.
Можно воспользоваться стандартным инструментом _dataextraction, хотя он настолько универсален, что для решения такой простой задачи пусть и подходит, но результат вы получите не намного быстрее чем складывая вручную. Проще потратить пару минут, и раз и навсегда установить GeomProps.
В целом же, для решения подобных задач я использую прием суммирования длин линий по типу линий. Работает это следующим образом:
- Создать типы линий для каждого типа линейных объектов, с которыми будем работать. Это позволяет, во-первых, контролировать параметры отображения линии на плане, и быстро изменять его при необходимости, переписывая файл с линиями. Во вторых позволяет отфильтровать одни объекты от других, без использования слоёв. После чего с помощью SelSim мы сможем в один клик выбирать все аналогичные объекты на плане.
- Посчитаем сумму длин линий линейных объектов в AutoCAD, обратимся за помощью к GeomProps.
- И наконец, добавим небольшую ведомость с суммами длин в виде таблицы по типу линий с помощью небольшой лисп утилиты от Mac Lee — LenCal.
Теперь разберемся с каждым пунктом немного подробнее:
1. Как создать свой тип линий в Автокаде?
Это необязательно, но знать полезно.
Типы линий в автокаде создаются с помощью простого текстового файла с расширением .lin, синтаксис которого весьма незамысловат. В простейшем случае:
*1.1,razmetka_1.1----------------- A,1.0,1.0
Где в первой строке, после звездочки идет название типа линии и через запятую его текстовое превью, оно должно подсказать пользователю как примерно будет выглядеть тип линии. Вторая строка начинается с буквы A, её смысл в описании синтаксиса заключается в том, что она обозначает тип генерации линии. В Автокаде, он всего один (хотя может быть что-то и поменялось в последних версиях?). А – сообщает автокаду о том что линия должна начинаться и заканчиваться сплошной линией. Т.е. на концы любого линейного объекта у вас всегда будут заштрихованны, а параметры штриховки будут игнорироваться на концах и началах линий. Потом через запятую идёт собственно описание штриховки, 1 – сплошная линия длинной в одну условную единицу чертежа, -1 – пропуск в ту же единицу. В описании могут использоваться так же буквы и символы в формате .shx
Тут можно посмотреть небольшой пример с несколькими типами линий для автокада.
2. Как получить сумму длин линий
Скачиваем GeomProps, распаковываем, добавляем в автокад с помощью команды _appload, выбрав подходящую версию плагина. Делается это один раз, после чего GeomProps загружается автокадом автоматически. Теперь в стандартных свойствах автокада (ctrl+1) у вас появится новая группа для всех линейных объектов:
Geometrical properties:
Area (total) — сумма площадей выбраных объектов.
Volume (total) — сумма объемов выбраных объектов
Length (total) — сумма длинн выбраных объектов
И еще одно свойство — Linear scale Factor — множитель для всех трёх свойств выше. Т.е. можно домножить например на 0.001 чтобы получить длину в метрах если вы работаете на чертеже в масштабе 1:1.
3. Создадим небольшую ведомость с суммами длин в виде таблицы по типу линий
В этом нам поможет небольшая LISP утилита от Lee-Mac — LenCal калькулятор сумм длин линий.
Загружаем утилиту, с помощью команды _appload добавляем её в автокад. Теперь нам доступна новая команда — LenCal, запускаем её, выбираем в меню типы линий, из которых нам хотелось бы получить ведомость. И добавляем в чертёж таблицу в которой в одной колонке будут названия типов линий (именно поэтому имеет смысл создать линии с нормальным названием) а в другой их общая длинна на чертеже.
МЕГА РАХМЕТ!!!
Подскажите пожалуйста — можно ли как то изменить в настройках чтоб площадь отображалась в Кв/М а не в милиметрах. При этом я работаю с мебелью ( милиметры) — а вот площадь нужна в метрах 🙂
За ранее спасибо
В GeometryProps отдельное поле Linear Scale Factor — введите подходящий множитель. Очень удобно главное не забыть что он выставлен отличным от 1.
А есть ли утилита, которая позволяет суммировать числа в тексте?
Да, конечно. Например приложение AreaTester легко суммирует выбранные значения площадей: http://areatester.com/rus
Интересный плагин, а можно несколько больше информации о разработчике добавить на сайт?
Информацию о разработчике можно найти на других ресурсах, например здесь: https://vk.com/debalance_com
Кстати, эту статью можно дополнить и указанным приложением — не всё же нам Ли-Мака продвигать )))
еще бы на LTшку можно было поставить. цены бы вам не было