Re: MNU, LISP. Предлагается панель с опциями и новыми командами для полилинии

Панель просто супер!
По моему мнению зря убрали "Замкнуть" (хотя "pe" "c" набирать быстро :) а если несколько :).
Однако предложение другое!
ПОСТОЯННО добавляю и убираю многосегментные вставки в существующие ПЛ. И если убрать посто - 2 разрыва и Del, то вставлять - запаришься - нужно разорвать в 1-2 местах, подвести разрывы в точки начала новой линии, потом "pe", "j", да если что - еще не подцепится!
А в принципе:
Если нарисована основная ПЛ и дополнительная, пересекающая или касающаяся её в ДВУХ точках их можно слить автоматом, удалив ненужные сегменты основной! Тонкость с выбором удаляемого участка основной линии, но его можно предложить на выбор, по умолчанию взяв более короткий!

Re: MNU, LISP. Предлагается панель с опциями и новыми командами для полилинии

Или отрисовывать от узла до узла полилинии новый участок, удаляя старый (я предпочел этот путь в RP).
Кстати, жаль, что VVA давно не уделяет вниманию этому проекту, с 24.11 нет обновлений.

Re: MNU, LISP. Предлагается панель с опциями и новыми командами для полилинии

to KAI
к сожалению у меня изменения идут не от узла до узла, а где попало :), но бывает что попадают в узел.
Вы считаете 24.11 - давно ?? :) Как длинна наша жизнь!

Re: MNU, LISP. Предлагается панель с опциями и новыми командами для полилинии

> iv

> KAI
Проект живет и пополняется. Правда пока у меня на компьтере. Не выкладываю, т.к. хочу написать нормальный хелп к ф-циям.
> iv Есть пару идей, но займусь как освобожусь: конец года

Re: MNU, LISP. Предлагается панель с опциями и новыми командами для полилинии

to VVA
После некоторого времени работы с панелью мне показалось что функция "удаление сегмента полилинии" была бы полезнее "удаления вершины".
Причем желательно чтобы удаление было быстрым и безусловным! :)
Замыкать полилинию при этом не нужно.

Re: MNU, LISP. Предлагается панель с опциями и новыми командами для полилинии

> VVA
Help - это уже серьезно!!!! Преклоняюсь!
>>iv

мне показалось что функция "удаление сегмента полилинии" была бы полезнее "удаления вершины".

Сомневаюсь.

Re: MNU, LISP. Предлагается панель с опциями и новыми командами для полилинии

> iv
Согласен с KAI. Удаление сегмента легко реализуется макросом

^C^C_.TRIM;\;@;;

Либо строкой лиспа

(command "_TRIM" pause "" "@" "")

Re: MNU, LISP. Предлагается панель с опциями и новыми командами для полилинии

to VVA
так до этого нужно было еще догадаться! :)
То что нужно! А я гадал зачем этот trim нужен.
Наверно семь лет назад в книжке этого не было :)

Re: MNU, LISP. Предлагается панель с опциями и новыми командами для полилинии

Небольшой help!
На одном компе работает идеально! Последовательно удаляет все сегменты кроме последнего!
Включил на другом - убирает только 1 сегмент, после этого начинает убирать часть сегмента  от вершины до секущей или между секущими.
Кроме того никак не нашаманю макрос чтобы убирал по умолчанию выбранную часть сегмента  ограниченную ближайшими секущими или вершинами, (то что делает макрос VVA после удаления первого сегмента) :)  Подходящее действие наступает - кнопка "Trim" - пробел. :)

Re: MNU, LISP. Предлагается панель с опциями и новыми командами для полилинии

> iv
В команде TRIM включена опция Кромки(Edge) в режим С продолжением (Extend)
Подправленный макрос (Убирает сегменты между вершинами)

^C^C_.TRIM;\;_E;_N;@;;

Макрос

^C^C_.TRIM;;_E;_N;\;;

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

Re: MNU, LISP. Предлагается панель с опциями и новыми командами для полилинии

to VVA
Второй работает сразу и как надо.
А первый несколько чудит - удаляет первый выбранный сегмент как надо, а потом отключается! Причем повторный вызов действует только с кнопки (ну это понятно).

Re: MNU, LISP. Предлагается панель с опциями и новыми командами для полилинии

Первый вариант не чудит, а работает как и было задумано. Во вариант без завершения команды.

^C^C_.TRIM;\;_E;_N;@;

Но обрезать будет только сегменты выбранной полилинии, либо другие объекты по самую полилинию. :) (Второй, кстати, тоже)

Re: MNU, LISP. Предлагается панель с опциями и новыми командами для полилинии

to VVA
Меня устраивает 100%
На линиях пересекающих себя работает сразу по второму варианту, но у меня таких линий не бывает.

Re: MNU, LISP. Предлагается панель с опциями и новыми командами для полилинии

Пакет программ VVA для редактирования полилинии значительно обновился.
См. здесь:
http://dwg.ru/dnl/607

Re: MNU, LISP. Предлагается панель с опциями и новыми командами для полилинии

Все замечательно!
Было бы не лишним указывать толщину сегмента в справке о сегменте.
Спасибо.
С уважением, wo!

Re: MNU, LISP. Предлагается панель с опциями и новыми командами для полилинии

Насчет загрузки меню...
Если набрать в командной строке под AutoCAD 2006-2008 _Menuload (МЕНЮЗАГР), выбрать расширение mnu, то меню спокойно загрузится. После этого надо перегрузить сеанс AutoCAD, чтобы применилось меню.
После этого можно зайти в Адаптации (или команда _CUI или НПИ), найти слева среди файлов частичной адаптации PLTOOLS и выбрать Сохранить как... куда-нибудь PLTOOLS.cui, затем добавить в Ваш замечательный пакет
После этого для проверки можно выгрузить PLTOOLS из частичных НПИ и загрузить PLTOOLS.cui
Мне нравится прописывать пути в aa.mnl при следующем способе автозагрузки приложений при загрузке меню - неважно aa.mnu или aa.cui:
;Загрузка ExplodeProxy Ривиллиса, можно добавить свои .vlx, .arx и тп
(princ "\nИнициализация пакета программ")
(vl-load-com)
(setvar "filedia" 1)
(setq dir_i "D:\\StandarD\\Autodesk\\Support")
(if(not(vl-string-search (strcat dir_i ";") (getenv "ACAD")))(setenv "ACAD" (strcat (getenv "ACAD") ";" dir_i ";")))
(if (not(findfile dir_i))(vl-exit-with-error (princ(strcat "\n*Ошибка* Не найден путь " dir_i))))
(cond
((= 16.1(atof(substr (getvar "ACADVER") 1 4)))(setq file_i "ExplodeProxy2006.arx"))
((= 16.2(atof(substr (getvar "ACADVER") 1 4)))(setq file_i "ExplodeProxy2006.arx"))
((= 17.1(atof(substr (getvar "ACADVER") 1 4)))(setq file_i "ExplodeProxy2007.arx"))
(T (princ (strcat (substr (getvar "ACADVER") 1 4) "- не сооответстует версия AutoCAD")))
)
;;; Загрузка (arxload file_i) - чуствительна к регистру символов!
(if (not (arxload (strcat dir_i "\\" file_i)))
    (vl-exit-with-error (princ(strcat "\n*Ошибка* Не найден файл " file_i)))
)
(princ "\n завершена. Версия xxxx")
(princ)

Re: MNU, LISP. Предлагается панель с опциями и новыми командами для полилинии

> Lidia
Так сколько букв Л в моей фамилии? smile
И еще. Так будет правильнее:

(cond
 ((= "16" (substr (getvar "ACADVER") 1 2)) (setq file_i "ExplodeProxy2006.arx"))
 ((= "17" (substr (getvar "ACADVER") 1 2)) (setq file_i "ExplodeProxy2007.arx"))
 (T (princ (strcat (substr (getvar "ACADVER") 1 4) "- не сооответстует версия AutoCAD")))
)