|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
vigold |
|
||||
Регистрация: 14.03.2006
Сообщений: 863
|
ув. парикмахеры, а системные переменные почему не восстанавливаем? move ton, однако %)
|
|||
|
||||
Регистрация: 28.07.2008
Мурманск
Сообщений: 208
|
Похоже, с 6 года что-то изменилось.
Строит некорректно (средняя линия пересекает линии между которыми она должна быть построена) AutoCad Civil 3D 2013
__________________
Мне не нужно сделать за меня. Если я что-то ищу, то пути решения. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,835
|
Kirill_Ja, ищи BGTOOLS, там, кажется, было построение средней линии.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 28.07.2008
Мурманск
Сообщений: 208
|
Если этот BGTOOLS http://forum.dwg.ru/showthread.php?t=5940&page=6
то, похоже, что нету.
__________________
Мне не нужно сделать за меня. Если я что-то ищу, то пути решения. |
|||
|
||||
Регистрация: 22.05.2009
Москва
Сообщений: 210
|
в PLTOOLS есть pltools
|
|||
progettista |
Посмотреть профиль |
Найти ещё сообщения от progettista |
|
||||
Регистрация: 28.07.2008
Мурманск
Сообщений: 208
|
В PLTOOLS включена функция, описанная выше в этой теме. По крайней мере, дает те же результаты(
__________________
Мне не нужно сделать за меня. Если я что-то ищу, то пути решения. |
|||
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,095
|
средняя линия - это из PLTOOLS
|
|||
|
||||
Регистрация: 22.05.2009
Москва
Сообщений: 210
|
Надо все линии в ноль по Z сделать. Например есть superflatten
Код:
[Выделить все]
|
|||
progettista |
Посмотреть профиль |
Найти ещё сообщения от progettista |
|
||||
Регистрация: 12.06.2010
Липецк, Москва
Сообщений: 534
|
Всем привет!
Вопрос касается программирования, но интересует меня скорее методика построения (алгоритм), а не сам код. Прошу меня не перенаправлять на вот эту тему и ей подобные - указанные там коды работают некорректно в некоторых случаях. Итак - имеем две кривые (полилинии). Не учитываем что они могут пересекаться. Построение ведем по такому алгоритму: - Указываем число опорных точек - Замеряем длину первой указанной полилинии и делим ее на количество опорных точек - Идем в цикле "вдоль" этой полилинии сегментами (т.е. длину, полученную в прошлом пункте, умножаем на номер шага цикла). Не могу понятно объяснить, но думаю кто в теме - тот понял - От второй полилинии нахожу отрезок, ближайший к текущей точке в первой полилинии (closestPointTo). По логике - это перпендикуляр. Хотя я тут не уверен - Между двумя точками нахожу середину и по вот этим "серединам" строю новую полилинию В общем, если у меня две полилинии идут примерно в одном направлении, то строится все нормально. А вот если у меня полилинии имеют сильные искривления, то в углах поворота строится все некорректно. На картинке пример построения: синие - это указанные полилинии, красная - это построенная программно полилиния, а зеленые - это я вручную опускал перпендикуляры, чтобы понять что происходит Получается, что выбранный мной вариант не корректен. А если рассматривать вариант с перпендикулярами, то вот в таких углах как на картинке из той полилинии что "внутри" можно опускать по два перпендикуляра на полилинию, что "снаружи" |
|||
|
||||
Конструктор Регистрация: 23.09.2007
Москва
Сообщений: 4,370
|
В приложении к AutoCAD ModPlus есть эта функция. Хорошее приложение
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,835
|
Modis, я бы шел по другому пути (хотя это и оффтоп): делишь одну полилинию на Х частей, потом для второй определяешь, с какой стороны (с начала или с конца) ее делить, и тоже делишь на те же Х частей. Полученные точки соединяешь. Или такой вариант уже пройден и не срабатывает?
P.S. Посмотри код PLTOOLS, там наверняка найдешь интересное решение.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 12.06.2010
Липецк, Москва
Сообщений: 534
|
|
|||
|
||||
Регистрация: 12.06.2010
Липецк, Москва
Сообщений: 534
|
Цитата:
Потому-то вопрос я и задал. Меня не оставляют мысли, что возможно решение нужно искать уже в чистой математике (геометрии), но не нашел ничего на эту тему |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,835
|
Картинку не видно.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Посмотрел код Lee Maca - ничем не отличается от моего (в моем PLTOOLS - линии разбиваться на равное количество частей и между точками каждой части находится середина. У Ли - в каждой кромке откладываются равные длинны) в #232 есть ссылка на эту программу. Здесь действительно "катящийся круг". Алгоритм разрисован в картинках и, думаю, понятен.
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 28.09.2016 в 21:06. |
||||
|
||||
Конструктор Регистрация: 23.09.2007
Москва
Сообщений: 4,370
|
Очень рад -отличное приложение
|
|||
|
||||
Регистрация: 12.06.2010
Липецк, Москва
Сообщений: 534
|
|
|||
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,095
|
|
|||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как построить следующее тело?... | Shtirlitz | AutoCAD | 15 | 10.06.2013 13:09 |
Как из trace сделать обычную линию? | Нюра | AutoCAD | 1 | 06.09.2004 17:10 |
Подскажите как построить кривую с помощью команды SPLiNE, к | boban | Программирование | 1 | 02.11.2003 19:58 |
Как на LISPе автоматически выбрать линию и точку? | Mikhail | LISP | 4 | 28.10.2003 10:33 |