| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Новые команды для работы с полилинией

Новые команды для работы с полилинией

Ответ
Поиск в этой теме
Непрочитано 14.09.2006, 13:30 4 |
Новые команды для работы с полилинией
VVA
 
Инженер LISP
 
Минск
Регистрация: 11.05.2005
Сообщений: 6,992

Данный набор программ является коллективным продуктом участников форумов autocad.ru и dwg.ru с моими доработками.
Захотелось собрать все программы для работы с полилиниями воедино и оформить как полагается.

=========== Доступные команды PLTOOLS=================
Редакция 17.06.2014
PL-JOIN -Объединение выбранных полилиний
PL-VFI -вставка вершин в выбранной полилинии в местах пересечения с
указанными полилиниями, линиями, дугами
PL-JOIN3D -Объединение 3D полилиний
PL-L2A -Замена линейного сегмента в полилинии дуговым сегментом.
PL-A2L -Замена дугового сегмента в полилинии линейным сегментом.
PL-DIV -Разбивает выбранный сегмент полилинии на указанное количество
сегментов или через указанное расстояние
PL-DIVAll -Разбивает все сегменты полилинии на указанное количество
сегментов или через указанное расстояние
PL-VxAdd -Добавляет новую вершину к полилинии
ENTREVS -Реверс объекта
ENTREV -Реверс объектов (множественный выбор)
PL-CW -Реверс выбранных полилиний по часовой стрелке
PL-CCW -Реверс выбранных полилиний против часовой стрелки
PL-VxRdc -Удаление вершин полилиний, которые лежат на одной прямой
PL-VxDel -Удаление выбранной вершины
pl-VxOpt -Удаление совпадающих вершин из полилинии
PL-NoArc -Аппроксимация дуговых сегментов полилинии
PL-Clone -Построение полилинии путем копирования ее сегментов
PL-VxMove -Перемещение вершин полилинии
PL-Vx1 -Изменение начала полилинии
ConvTo2d -Преобразование линейных объектов в 2D полилинии
ConvTo3d -Преобразование линейных объектов в 3D полилинии
MPL -Построение средней линии Более продвинутая версия Rollin_Ball.lsp Find MidBoundary between two polylines.
R3P -Прямоугольгик по 3-м точкам
PL-P90 -Рисование перпендикулярных друг к другу сегментов полилинии
PL-CSE -Объединение 2d полилиний по примитиву
PL-SgWidth -Изменить ширину сегмента полилинии

Реверс дуговых сегментов полилинии из #79
На дуговых сегментах полилинии тип линий может быть "вверх тормашками", причем реверс не помогает. Этот артефакт можно побороть, если в полилинии включить "генерацию типа линий".

Панели, лисп и инструкции здесь http://dwg.ru/dnl/607
Иконки для темной темы здесь
Обсуждаем, критикуем, предлагаем

Миниатюры
Нажмите на изображение для увеличения
Название: plrevers.jpg
Просмотров: 15433
Размер:	30.3 Кб
ID:	21079  


Последний раз редактировалось VVA, 08.09.2023 в 13:25. Причина: ссылка на иконки для темной темы
Просмотров: 369320
 
Непрочитано 13.02.2015, 15:47
#481
Игорь Богаченко

геодезист, генпланист
 
Регистрация: 26.09.2006
Калуш, Украина
Сообщений: 33
<phrase 1= Отправить сообщение для Игорь Богаченко с помощью Skype™


А можно добавить команду, которая рисует линию перпендикулярную к полилинии? Как в Тулпаке.
http://youtu.be/8cldc_EqS58.
Игорь Богаченко вне форума  
 
Автор темы   Непрочитано 14.02.2015, 11:21
#482
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992
<phrase 1= Отправить сообщение для VVA с помощью Skype™


1. !!! HELP. Как построить нормаль из точки на кривой ?
2. Совет MIP #7 от 31.05.2006 до сих пор актуален
Цитата:
Сообщение от MIP Посмотреть сообщение
>>Bdod
Если без лиспа, то так
Рисование->Прямая->Выбераешь привязку перпендикуляр->указываешь объект к которому данный перепедикуляр будет строиться->указываешь точку на объекте через которую должен пройти перпендикуляр->обрезаешь лишнее->все.
Работает с кривыми и линиями, в случае полилинии перпендикуляр будет строиться к любому сегменту (прямолинейному, дуговому).
Цитата:
Сообщение от Bdod Посмотреть сообщение
MIP действительно все просто... а самое главное быстро... спасибо
Цитата:
Сообщение от Хмурый Посмотреть сообщение
Дмитррр, бери _xline , задавай привязку "перпендикуляр" (никаких "ближайших"!!!), указывай кривую и двигай по ней бущую прямую.
PS лишнее обрежешь
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 19.02.2015, 00:41
#483
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Игорь Богаченко, еще тут об этом было.
skkkk вне форума  
 
Непрочитано 22.02.2015, 11:03
#484
posetitel


 
Регистрация: 16.10.2013
Сообщений: 323


а можно присваивать полилиниям имена, а потом выделять участок и смотреть, какие полилинии проходят на нем?
posetitel вне форума  
 
Непрочитано 22.02.2015, 15:45
#485
olezhkooo

Проектирование
 
Регистрация: 06.08.2012
СПб
Сообщений: 163


а что с командой PL-VFI?!.. вроде как нужная функция для работы.. но пишет что такой команды нет..
olezhkooo вне форума  
 
Автор темы   Непрочитано 22.02.2015, 16:34
#486
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992
<phrase 1= Отправить сообщение для VVA с помощью Skype™


olezhkooo, ее почему-то нет в pltools.fas. Загружай pltools.lsp из папки LISP. В ближайшее время исправлю
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 23.02.2015, 02:35
#487
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,031


Цитата:
Сообщение от posetitel Посмотреть сообщение
а можно присваивать полилиниям имена, а потом выделять участок и смотреть, какие полилинии проходят на нем?
Это не в эту тему, похоже?
Offtop: Можно. Во-первых, можно понаделать слоев столько, сколько "имен" может быть у объектов. И полилинии (любые элементы) раскладывать по нужным слоям.
Во-вторых, у Автокада есть возможность определять элементы расширенными данными - XData, XRecord. Но эти XData, XRecord не обеспечены Автокадом инструментами, нужно программировать.
В-третьих, в вертикальных приложениях могут быть свои уже готовые инструменты работы с расширенными данными, свои варианты расширенных данных. Например, в Map/Civil 3d есть Feature classes и Object Data - средства определения элементов, описания их характеристик.
Какие объекты проходят через что-то - это уже пространственный анализ. Это уже ближе к ГИС или уже ГИС - это тоже в Map/Civil 3d. Но если задача одна - что через что проходит, то можно и по-простому, через поиск относительно контуров.
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 03.03.2015, 09:31
#488
Wion

Инженер-проектировщик
 
Регистрация: 05.11.2014
Санкт-Петербург
Сообщений: 19


Функция ConvTo2d: при конвертировании сплайна с двумя управляющими вершинами выдает ошибку "функция для аргумента не задана: -4.44089e-016".
Wion вне форума  
 
Автор темы   Непрочитано 04.03.2015, 22:11
#489
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Wion, Выложи dwg с примером
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 05.03.2015, 13:03
#490
Wion

Инженер-проектировщик
 
Регистрация: 05.11.2014
Санкт-Петербург
Сообщений: 19


Цитата:
Сообщение от VVA Посмотреть сообщение
Wion, Выложи dwg с примером
Сплайны для проверки.dwg

Неконвертируемые сплайны выделены красным цветом.

Конечно, можно такие сплайны и удалить, используя быстрый выбор, но они являются частью изолинии которую после конвертации нужно объединить в одну полилинию...

Последний раз редактировалось Кулик Алексей aka kpblc, 05.03.2015 в 13:44.
Wion вне форума  
 
Автор темы   Непрочитано 05.03.2015, 13:21
#491
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Цитата:
Сообщение от Wion Посмотреть сообщение
Функция ConvTo2d: при конвертировании сплайна с двумя управляющими вершинами выдает ошибку "функция для аргумента не задана: -4.44089e-016".
У меня на твоем примере сработало без проблем. Автокад 2011

Кстати, в #359 выложен еще один лисп. Преобразовать СПЛАЙНЫ в ПОЛИЛИНИИ
Миниатюры
Нажмите на изображение для увеличения
Название: Сплайны.png
Просмотров: 48
Размер:	112.3 Кб
ID:	145174  
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 05.03.2015, 13:26
#492
Wion

Инженер-проектировщик
 
Регистрация: 05.11.2014
Санкт-Петербург
Сообщений: 19



У меня AutoCAD 2013. Думаю точками останова "поиграть", посмотреть где ошибка возникает...
Wion вне форума  
 
Непрочитано 14.05.2015, 12:56
#493
pav88


 
Регистрация: 14.05.2015
Сообщений: 1


Доброго времени суток, уважаемые авторы лиспов!

каким образов можно сделать, чтобы удалялась ближайшая вершина, заранее выбранной полилинии, вне зависимости от того, тыкнул я на саму полилинию или рядом с ней?

Последний раз редактировалось pav88, 14.05.2015 в 13:10.
pav88 вне форума  
 
Автор темы   Непрочитано 14.05.2015, 13:27
#494
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Как вариант задать размер прицела побольше см. PICKBOX
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 21.05.2015, 21:08
2 | #495
T.Bagdat


 
Регистрация: 21.03.2013
Самара
Сообщений: 29


Сделал черновой вариант адаптации Pltools под новый стиль с лентами.

Pltools_lenta.zip

Все иконки довёл до прозрачности, чтоб глаза не так резали. Размер 32x32 пока не рисовал. Это как-нибудь потом.
Вытащил функцию PL-VFI. А то её сделали, но внедрить в интерфейс забыли.
При загрузке pltools.cuix на экране появятся панельки группы "pltools", а в ленте, соответственно, вкладка "pltools" с единственной плашкой "Опции полилинии". Последнее справедливо для рабочего пространства "Рисование и аннотации", а так же "Классический Автокад", для тех, кто совмещает ретро-панели с новомодной лентой). Если Вы скрыли какие-либо из стандартных вкладок, то они выскочат заново. Придётся снова скрыть.
Качайте, тестируйте. Авось, совместными стараниями адаптируем под новые реалии.

P.S. Вопрос к создателям: для чего сделаны иконки PL-CLOCK, cvpoly, pl-PUK, вроде же нет таких функций?
P.P.S. Может, кто-то дополнит файл справки, а то он не поспевает за процессом)
P.P.P.S. Кстати, новые иконки теперь в файле pltools.cuix, но судя по всему, остались вшитые иконки и помимо них. Неплохо бы их убрать, или заменить на те, что почищены. Я, увы, не знаю, как это делается.
T.Bagdat вне форума  
 
Автор темы   Непрочитано 23.05.2015, 11:39
#496
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Цитата:
Сообщение от T.Bagdat Посмотреть сообщение
Кстати, новые иконки теперь в файле pltools.cuix, но судя по всему, остались вшитые иконки и помимо них. Неплохо бы их убрать, или заменить на те, что почищены. Я, увы, не знаю, как это делается.
они расположены в dll файле. Выложи bmp файлы иконок, обновлю. По поводу остальных P.S. отвечу позже. Нужно вспоминать что к чему
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 23.05.2015, 13:05
#497
T.Bagdat


 
Регистрация: 21.03.2013
Самара
Сообщений: 29


Хорошо. Когда допилю 32x32, выложу все вместе.
Я до сих пор не понял, в чём разница между двумя панельками с цифрами, меняющими ширину сегментов, но хочу сделать для них чуточку разные иконки. Это чтобы люди не путались, а то в новом интерфейсе даже название не знаю как дать. Пусть хоть графически различаются.
T.Bagdat вне форума  
 
Непрочитано 26.05.2015, 17:06
1 | #498
T.Bagdat


 
Регистрация: 21.03.2013
Самара
Сообщений: 29


Сделал вариант близкий к чистовому. Панелей прибавилось. В принципе, подлатать справку, и можно выпускать в тираж.

В справку нужно добавить следующие команды:

ENTREV - Реверс объектов (множественный выбор) - она в справке есть, но как составляющая ENTREVS. А т.к. теперь она запускается с кнопки, а не только с командной строки, то можно её как-нибудь обособить.
PL-CW - Реверс выбранных полилиний по часовой стрелке
PL-CCW - Реверс выбранных полилиний против часовой стрелки
PL-VxMove - Перемещение вершин полилинии
PL-Vx1 - Изменение начала полилинии
PL-P90 - Рисование перпендикулярных друг к другу сегментов полилинии
PL-VFI - Вставка вершин в выбранной полилинии в местах пересечения с указанными полилиниями, линиями, дугами

И поменять иконки в статьях на новые. Ну и в файле dll тоже


Отдельно выкладываю все значки, а с ними и оригиналы в PNG, для тех случаев, когда в иконках использовалась полупрозрачность.

Тестируйте, оценивайте.
Возможно, какие-то частоиспользуемые функции нужно сделать покрупнее, а редкие, наоборот, уменьшить. Для тех, у кого разрешение экрана меньше 1680x1050 прикладываю скриншот полной ленты.

Версия, конечно, не огонь. Иконки ещё надо под тёмную цветовую схему точить, чтобы глаза не резали. Да плюс, 64x64 неплохо бы сделать для ретины. Но это всё в отдалённом будущем, если у кого другого руки не зачешутся раньше.


P.S. Иконки PL-CLOCK и cvpoly, видимо, относятся к отмершим функциям, на смену которым пришли, соответственно, PL-CW с PL-CCW и ConvTo2d с ConvTo3d. Смысл иконки pl-PUK (странно похожей на pl-VFI) по прежнему туманен. На всякий случай они теперь исключены совсем, дабы не отнимать место и внимание.
Миниатюры
Нажмите на изображение для увеличения
Название: Скриншот ленты.png
Просмотров: 37
Размер:	41.1 Кб
ID:	150563  
Вложения
Тип файла: zip Pltools_lenta.zip (434.8 Кб, 55 просмотров)
Тип файла: zip Иконки.zip (177.0 Кб, 40 просмотров)
T.Bagdat вне форума  
 
Непрочитано 26.05.2015, 18:24
#499
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от T.Bagdat Посмотреть сообщение
о прежнему туманен.
Для меня загадка зачем дублировать кнопки на ленте и зачем скрывать однокликовые кнопки
gomer вне форума  
 
Непрочитано 26.05.2015, 20:21
#500
T.Bagdat


 
Регистрация: 21.03.2013
Самара
Сообщений: 29


Ленту сделал по образу оригинальных панелей. Т.е. одна панель со всеми функциями, и куча других по категориям.
Собственно, я только-только начал осваивать ленточный интерфейс, до этого на старом сидел. И решил разобраться с адаптацией на примере Pltools, раз уж её никто до меня не сделал.
Я пока что не очень въезжаю, что как должно располагаться для максимально комфортного юзабилити. Если есть конкретные замечания, рад буду услышать. Пересобрать - не вопрос.
Главное, что камень сдвинули, а уж вода теперь потечёт.
T.Bagdat вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Новые команды для работы с полилинией

Размещение рекламы