|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
17.08.2018, 11:34 | #1 | |
Конвертировать сплайн в полилинию
Регистрация: 17.08.2018
Сообщений: 7
|
||
Просмотров: 2232
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Код команды показывай
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,049
|
Offtop: немного у нас людей на форуме на ней сидит, наверно)
В руководстве разработчика надстроек - на сайте программы в открытом доступе не вижу руководств. Ну и исходный код команды можно попытаться в SSSegs.lsp (скорее всего) подглядеть. |
|||
|
||||
|
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Цитата:
А если выбрана всего одна полилиния с количеством вершин 2?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 17.08.2018
Сообщений: 7
|
Вот к примеру простой dwg, где количество точек небольшое, 2711 в объекте в виде зигзагообразной линии - событии находящимся в слое "1%000"
Вариант А - "точный" Количество точек задается кратно прогрессии, 16384, 8192, 4096, 2048, 1024, 512, 256, 128, 64, 32, 16, 8, 4, 2 до 2-4 раз последовательно (в зависимости от результата, если устраивает, останавливаемся), первый раз берется из ближайшего ряда прогрессии 1 раз прогоняем через конвертацию сплайна, указываем количество точек ближайшее из ряда = 2048 точек 2 раз = 1024 точки 3 раз = 512 точек Вариант Б - "альтернативный" Количество точек уменьшается после каждого раза в 2 раза от исходного количества узлов в полилинии (берется ближайшее нечетное число, но пойдет и просто целое) до 2-4 раза последовательно (в зависимости от результата, если устраивает, останавливаемся), первый раз берется от количества узлов в полилинии деленное на 2. 1 раз прогоняем через конвертацию сплайна, указываем количество точек 2711/2=1155 2 раз = 1155/2=577 точки 3 раз = 577/2= 288 точек Последний раз редактировалось Maestro GIS, 20.08.2018 в 11:14. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Maestro GIS, у тебя в коде не заблокирована возможность выбора нескольких объектов!
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 17.08.2018
Сообщений: 7
|
Цитата:
в теории, конечно, для каждой полилинии плясать от своего значения узлов )) таких нет, минимум 4 точки, крайне редко, не больше статистической погрешности; в основном исходное количество узлов >10 тыс. |
|||
|
||||
Регистрация: 17.08.2018
Сообщений: 7
|
да, согласен, что нет блокировки и это очень хорошо, но для нашего случая количество узлов ко всем объектам применить одинаковое не подойдет.
Просто таких полилиний у меня около 2 тыс. штук, в 53 файлах. это уровни подъёма воды. соответственно цель - добиться, чтобы они не пересекались, красиво выглядели, и количество характерных узлов было минимальным. т.е. функционал исходного лиспа - устраивает, но нужен частный, упрощенный, описанный выше случай, для быстрой обработки данных Последний раз редактировалось Maestro GIS, 17.08.2018 в 21:17. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Программа никогда не поймет, что означает "красиво выглядит". Честно говоря, я как-то подустал за неделю, и заниматься мозголомством вечером в пятницу ну совсем не тянет.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Количество вершин берется как количество вершин полилинии и просто делится на два. Остаток отбрасывается. Без проверки, вроде нигде не напортачил. Переделка минимальная. В алгоритм расчета шага не вникал
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как преобразовать полилинию в сплайн | Kotsar | AutoCAD | 20 | 02.08.2015 14:09 |
Помогите, пожалуйста, не могу объединить сплайн и полилинию | Светлана21 | AutoCAD | 8 | 16.01.2013 09:57 |
можно ли преобразовать сплайн в полилинию? | Petrovichhh | AutoCAD | 14 | 19.10.2012 10:57 |
сплайн в 3D полилинию | Xela | AutoCAD | 2 | 02.12.2009 12:22 |
Как сконвертировать сплайн в полилинию | OXOTHUK | AutoCAD | 4 | 18.12.2006 13:52 |