🔥 Коллинеарные полилинии не соединяются стандартным JOIN? Исправляем LISP'ом!
Знакомая картина: стена на плане состоит из отдельных полилиний (из-за дверей, ниш, разрывов). Хочется объединить их в одну длинную линию, но команда JOIN работает только с отрезками, а полилинии игнорирует.
Встречайте JOINCL — LISP-программа, которая:
• находит все LWPOLYLINE, лежащие на одной прямой (даже если между ними огромные зазоры);
• объединяет их в одну полилинию, которая тянется от самого левого до самого правого края группы;
• позволяет задать допуск коллинеарности — чтобы простить мелкие отклонения от прямой (например, 0.001).
🚪 Как это работает на примере с дверным проёмом
Допустим, у вас стена разорвана дверью. Слева и справа от проёма — две полилинии, которые идеально лежат на одной прямой (или почти идеально).
Запускаете JOINCL, вводите допуск коллинеарности (например, 0.001 — для идеальных чертежей можно 0), и программа:
1️⃣ Проверяет, что обе полилинии действительно лежат на одной прямой с заданной точностью (допуск нужен именно для этого — чтобы считать линию прямой, даже если точки немного «гуляют»).
2️⃣ Строит одну общую полилинию.
✅ Что получаем: цельная стена — одна полилиния, идущая без разрывов. Старые фрагменты удаляются, новая линия соединяет крайние точки. Удобно для подсчёта длины, построения разрезов, штриховки и любых других операций.
🤖 Кстати, этот LISP мне помог написать https://chat.deepseek.com/— нейросеть, которая отлично справляется с рутиной программирования под AutoCAD.
📥 Как установить LISP
•
https://t.me/archive_club_autocad
• В AutoCAD выполните команду APPLOAD, выберите этот файл и загрузите.
• Введите в командной строке JOINCL и следуйте подсказкам.
😂 Жизненное
Отправь этот пост коллеге, который до сих пор вручную обводит каждую стену по частям, а потом жалуется на скорость работы.
Пусть тоже автоматизирует рутину с помощью #Autolisp !
📁 Категория: #Autolisp #Лайфхаки