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

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

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

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

Данный набор программ является коллективным продуктом участников форумов 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
Просмотров: 15347
Размер:	30.3 Кб
ID:	21079  


Последний раз редактировалось VVA, 08.09.2023 в 13:25. Причина: ссылка на иконки для темной темы
Просмотров: 367928
 
Автор темы   Непрочитано 02.07.2015, 15:41
#521
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для 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
С.-Петербург
Сообщений: 39,787


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


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


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

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

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

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

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

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

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


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


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


Цитата:
Сообщение от 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
СПб
Сообщений: 376


Подскажите, есть ли возможность сделать функцию удаления вершин не по одной, а сразу несколько, рамкой на определенном участке полилинии?
...или команду 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,990
<phrase 1= Отправить сообщение для 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,627


Вот такая проблема:
в нашей фирме пользовательские программы установлены на сервере (в том числе и 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
С.-Петербург
Сообщений: 39,787


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


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


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

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для 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,627


Решение пришло совсем с другой стороны. Существует бесплатная программа 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
СПб
Сообщений: 376


Цитата:
Сообщение от 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


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


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

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


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

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

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