NANOCAD ШОУ
dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

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

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

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

VVA вне форума Вставить имя

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

=========== Доступные команды PLTOOLS=================
Редакция 17.06.2014
PL-JOIN -Объединение выбранных полилиний
PL-VFI -вставка вершин в выбранной полилинии в местах пересечения с
указанными полилиниями, линиями, дугами
PL-JOIN3D -Объединение 3D полилиний
PL-A2L -Замена линейного сегмента в полилинии дуговым сегментом.
PL-L2A -Замена дугового сегмента в полилинии линейным сегментом.
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
Просмотров: 5496
Размер:	30.3 Кб
ID:	21079  


Последний раз редактировалось VVA, 20.07.2015 в 19:42. Причина: Реверс дуговых сегментов полилинии
Просмотров: 213847
 
Автор темы   Непрочитано 02.07.2015, 15:41
#521
VVA

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


Автоматический перенос размеров на слой размеры. Break макро
Попасть в слой.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 03.07.2015, 16:27
#522
linkrogers


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


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

Буду очень благодарен...

Экспрестулс не стоит, от чего-то наши программеры его не ставят...
linkrogers вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 03.07.2015, 17:59
#523
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 34,661


У полилинии уже есть наименование - полилиния.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 16.07.2015, 07:33
1 | #524
T.Bagdat


 
Регистрация: 21.03.2013
Самара
Сообщений: 20
Отправить сообщение для T.Bagdat с помощью ICQ


Пользуясь тем, что VVA благоразумно дал комплекту ещё немного отлежаться, выкладываю очередной "билд"

В который раз обновились некоторые иконки. Не особо заметно, но времени ушло довольно много. В том числе изменения коснулись и формата 16x16. Единого стиля там всё так же нет, но пёстроты поубавилось. Соответственно новые иконки перекочевали и в файл справки.

Так же загнал все значки в библиотеку "pltools.dll", и прописал новые пути к ним файле "pltools.mnu". Прикладываю скриншоты из автокада 2004. Кстати, в 2004-ом команды у меня запускаются, но почему-то вылетают, не завершившись. Думаю, к интерфейсу это отношения не имеет, скорее дело в кривости установки автокада, но выверить этот момент, на чьей-нибудь рабочей станции не помешает.

Ещё сделал интерфейс в .cui посредством автокад 2009, чтобы, как говорится, и ленту съесть и в CUI влезть. Иконки опять же ссылаются на "pltools.dll". Лента получилась жутко топорная, иконки в ней не хотят избавляться от фона. Возможно, это решается легко, но я не допетрил. В классических панельках всё нормально. Скриншот прилагается.

Поставить автокад 2002 у меня возможности нет. И я даже не догадываюсь, как адаптировать меню под него. Остаётся уповать на владельцев этой ретро-версии.

В остальном, никаких изменений. Иконки 64x64, как и адаптация к тёмной схеме, появившейся в 2015, по прежнему в долгосрочных планах.
На этом всё. Пробуйте, тестируйте. Скриншот ленты .cuix так же приложен.
Миниатюры
Нажмите на изображение для увеличения
Название: ToolBar_16_2004_mnu.png
Просмотров: 104
Размер:	58.0 Кб
ID:	153448  Нажмите на изображение для увеличения
Название: ToolBar_32_2004_mnu.png
Просмотров: 95
Размер:	118.0 Кб
ID:	153449  Нажмите на изображение для увеличения
Название: Ribbon_2009_cui.png
Просмотров: 107
Размер:	49.0 Кб
ID:	153450  Нажмите на изображение для увеличения
Название: Ribbon_2012_cuix.png
Просмотров: 69
Размер:	41.0 Кб
ID:	153451  
Вложения
Тип файла: zip Pltools_Ribbon.zip (564.3 Кб, 106 просмотров)
T.Bagdat вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 16.07.2015, 12:02
#525
VVA

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


Цитата:
Сообщение от T.Bagdat Посмотреть сообщение
Кстати, в 2004-ом команды у меня запускаются, но почему-то вылетают, не завершившись.
А в других версиях?
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 16.07.2015, 12:20
#526
T.Bagdat


 
Регистрация: 21.03.2013
Самара
Сообщений: 20
Отправить сообщение для T.Bagdat с помощью ICQ


Цитата:
Сообщение от VVA Посмотреть сообщение
А в других версиях?
Да везде всё нормально, тьфу-тьфу. 2009, 2012, 2014, 2015 - всё прекрасно. И даже в 2004 команды включаются, где допуск спросят, где объект попросят выделить. Но как-то безрезультатно. Комп не первой свежести, весь замусоренный. Я так и не понял, что там не так. Может, надо было .fas подгрузить, посмотреть... Некогда было. Как доберусь ещё раз, проверю, если раньше никто не отпишется, что всё в порядке.

Добавлено (17.07.2015):
В основном пишет "No database"
В архиве видео. Качество ниже среднего.
https://drive.google.com/open?id=0Bx...0h6SWpKTGNjcVk

Добавлено (19.07.2015):
Забыл отметить. На скаченный архив dnl607.zip реакция такая же. Так что, скорее всего, проблема локальная.

Последний раз редактировалось T.Bagdat, 19.07.2015 в 16:28.
T.Bagdat вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 28.07.2015, 15:13 удаление вершин полилиний
#527
Linkshunter

проектирование а/дорог
 
Регистрация: 03.07.2013
СПб
Сообщений: 171


Подскажите, есть ли возможность сделать функцию удаления вершин не по одной, а сразу несколько, рамкой на определенном участке полилинии?
...или команду PL-VxRdc, работающую не на всей полилинии, а на ее участке
...или команду, противоположную PL-DIV - "спрямить" выбранный участок полилинии скопом.
В общем каким-то образом ускорить ручное удаление вершин в случаях, когда команду PL-VxRdc не применить ко всей полилинии, т.к. требуется редактирование определенных участков, которых достаточно много.
Linkshunter вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 20.10.2015, 12:23
#528
Gmk17

САПРовод
 
Регистрация: 22.01.2013
Красноярск
Сообщений: 290


А можно заставить программу PL-NoArc обрабатывать несколько выделенных объектов одновременно?
Gmk17 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 20.10.2015, 16:09
1 | #529
VVA

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


Цитата:
Сообщение от Gmk17 Посмотреть сообщение
А можно заставить программу PL-NoArc обрабатывать несколько выделенных объектов одновременно?
Она это умеет уже давно. Скачай последнюю версию.
Если загрузишь из папки LISP pltools.lsp, то увидишь дату редакции
Цитата:
=========== Определенные команды PLTOOLS=================
Редакция 18.07.2014
PL-JOIN -Объединение выбранных полилиний
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 21.10.2015, 05:20
#530
Gmk17

САПРовод
 
Регистрация: 22.01.2013
Красноярск
Сообщений: 290


Цитата:
Сообщение от VVA Посмотреть сообщение
Она это умеет уже давно. Скачай последнюю версию.
Признаю - затупил. Скачал свежую - всё заработало.

_FLATTEN с последующей обработкой PL-NoArc - именно тот результат, которого я добивался. Спасибо!
Gmk17 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 30.12.2015, 12:43
#531
Profan

Чужой
 
Регистрация: 25.12.2005
Москва
Сообщений: 13,651


Вот такая проблема:
в нашей фирме пользовательские программы установлены на сервере (в том числе и PLTools) и нормально работают. Кроме Справки. Как выяснилось (например, из этого http://www.cronos.ru/kb-1317.html и из этого https://support.microsoft.com/ru-ru/kb/896054) можно разрешить файлам CHM нормально открываться по сети и внутри AutoCAD'а и я даже макросы сочинил, но... Прав у пользователей не хватает для внесения изменений в реестр, а сисадмины категорически не хотят изменять реестр на локальных компьютерах. Можно ли как-нибудь вывернуться?
Profan на форуме вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 30.12.2015, 14:05
#532
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 34,661


Копируй chm на локальные машины и прописывай в setfunhelp путь к локальному пути
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 30.12.2015, 15:00
#533
Profan

Чужой
 
Регистрация: 25.12.2005
Москва
Сообщений: 13,651


Алексей, спасибо за ответ. Но я работаю удаленно и имею доступ через Интернет только к серверу, а к локальным компьютерам доступа не имею, поэтому и скопировать файл CHM на локальные компьютеры не могу. Вот если бы пользователь, нажимая на кнопку Справка, тем самым запускал бы копирование этого файла на свой компьютер в строго определенную папку на диске D: (нпример, D:\HELPUSER) и дальше файл Справки уже открывался бы с локального компьютера... Тут и setfunhelp пригодилась бы. Можно ли с помощью VLisp провернуть такую штуку (скопировать файл с сервера на собственный локальный компьютер)?
Profan на форуме вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 02.01.2016, 19:48
#534
VVA

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


Цитата:
Сообщение от Profan Посмотреть сообщение
Можно ли с помощью VLisp провернуть такую штуку (скопировать файл с сервера на собственный локальный компьютер)?
можно. как пример (копирует в TEMP пользователя)
вместо "\\\\server\\ACADTOOLS\\pltools.chm" подставь свой сетевой путь
Код:
[Выделить все]
(if(null(findfile (strcat (getenv "temp") "\\" "pltools.chm")))
  (vl-file-copy (findfile "\\\\server\\ACADTOOLS\\pltools.chm")(strcat (getenv "temp") "\\" "pltools.chm"))
  )
Ну и setfunhelp заменить
Код:
[Выделить все]
(SETFUNHELP "C:PL-A2L" (strcat (getenv "temp") "\\" "pltools.chm") "PLA2L")
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 03.01.2016, 12:13
#535
Profan

Чужой
 
Регистрация: 25.12.2005
Москва
Сообщений: 13,651


Решение пришло совсем с другой стороны. Существует бесплатная программа SumatraPDF. Можно взять здесь:
http://www.sumatrapdfreader.org/down...viewer-ru.html
Но многие ли знают, что эта программа спокойно открывает файлы CHM? Портативный вариант можно разместить прямо на сервере без установки (для которой могут понадобиться права администратора) и запускать с локального компьютера. Причем, 32-битная версия нормально запускается на 64-битных системах. Таким образом, если сервер смонтирован на локальных компьютерах как диск Z:, то можно создать следующие конфигурации папок на сервере:
Пользовательские программы находятся, (например) в папке Z:\USERSPROG\PLtools, а файлы Справки в папке Z:\USERSHELP\PLtools. В папке Z:\USERSHELP также находится папка SumatraPDF (портативный вариант). Я привел пример с 2-мя папками, потому что у нас, например, в пути пользовательских программ находятся пробелы, а это для указания имени Спраки не подходит. Если же знать об этом, то достаточно будет одной папки с программами на сервере. Макрос же для запуска файла Справки может выглядет так:
Код:
[Выделить все]
^C^C^P(STARTAPP "Z:/USERSHELP/SumatraPDF/SumatraPDF.exe" "Z:/USERSHELP/PLtools/pltools.chm")
При этом никакого изменения уровня безопасности не происходит, в реестре ничего менять не надо.
Profan на форуме вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 01.09.2016, 11:15
#536
Goroboj_VA


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


Есть команда
PL-VxRdc -Удаление вершин полилиний, которые лежат на одной прямой.

А можно не удалять вершины, а просто выбрать объекты, у которых вершины лежат на одной прямой.
(Просто не во всех объектах нужно удалять внутренние вершины)
Goroboj_VA вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 01.09.2016, 14:07
#537
Linkshunter

проектирование а/дорог
 
Регистрация: 03.07.2013
СПб
Сообщений: 171


Цитата:
Сообщение от Goroboj_VA Посмотреть сообщение
(Просто не во всех объектах нужно удалять внутренние вершины)
так не выбирайте их, эти объекты. Или исключайте из набора зажатым шифтом.
Linkshunter вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 01.09.2016, 14:35
#538
Goroboj_VA


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


Что бы исключить нужно сначала выбрать.
А как выбрать я не знаю
Goroboj_VA вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 01.09.2016, 14:46
| 1 #539
skkkk

AutoCAD_2008->2011
 
Регистрация: 20.03.2008
Московская область
Сообщений: 2,072


Ну выбрать все полилинии, например, так:
Код:
[Выделить все]
(ssget '((0 . "LWPOLYLINE")))
Затем с зажатым Shift пройтись по линиям, в которых удалять вершины точно не нужно, ведь это пользователь решает, какие исключить, не так ли? В итоге запустить команду на оставшиеся выбранными полилинии - там, где есть вершины на одной прямой, они "прополются". Просто не понимаю, какое преимущество для ручного отсева ненужных полилиний даст пользователю выбор только полилиний с заведомо лежащими на одной прямой вершинами?
skkkk вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 01.09.2016, 14:57
#540
Linkshunter

проектирование а/дорог
 
Регистрация: 03.07.2013
СПб
Сообщений: 171


Цитата:
Сообщение от Goroboj_VA Посмотреть сообщение
Что бы исключить нужно сначала выбрать.
А как выбрать я не знаю
...PL-VxRdc обрабатывает полилинии последовательно(если не ошибаюсь), соответственно набора не получится
Linkshunter вне форума вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Новые команды для работы с полилинией

Инженерные консультации
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Быстрый переход

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||


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