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

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

Как указать необходимые участки полилинии

Ответ
Поиск в этой теме
Непрочитано 21.03.2013, 13:18 #1
Как указать необходимые участки полилинии
makxvl
 
Регистрация: 29.08.2012
Сообщений: 9

заранее извиняюсь если это уже где то обсуждалось...но честно искал два дня и ничего не помогло

задача такова:
есть полилиния произвольного вида, состоящая из отрезков и дуг ...мне необходимо выбрать два рядом расположенных участка (отрезка) этой полилинии для дальнейшего их преобразования (вставить между ними дугу)..по сути команда аналогична _fillet..но радиус скругления считается уже заранее в этой же функции
вопрос именно в том как правильно выбрать требуемые для обработки участки полилинии

вопрос пытался решаться по средствам "изобретения велосипеда"

1. указываю одну точку на одной грани
2. указываю точку на соседней нужной грани
3. формирую набор из элементов проходящих через точку (по сути он там один)
4. извликаю список из вершин полилинии
5. последовательно отстраиваю по вершинам линии и проверяю принадлежность точки построенной линии через команду
vlax-curve-getParamAtPoint - вычисляет значение параметра в заданой точке...в логике закладовалось что если значение отлично от nil то точка принадлежит построенному отрезку

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

как говорится: помогите, Люди добрые, кто чем может

Последний раз редактировалось makxvl, 21.03.2013 в 13:38.
Просмотров: 3675
 
Непрочитано 21.03.2013, 19:12
#2
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


пример файла с построением и программу в студию, иначе нет смысла о чем либо говорить, разве что... см. nentsel
gomer вне форума  
 
Непрочитано 21.03.2013, 20:35
#3
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,095


пока нет ответа на вопрос из #2, могу посоветовать посмотреть исходники pltools - там ведь решается почти та же задача.
kp+ вне форума  
 
Непрочитано 21.03.2013, 21:14
#4
Олег (jr.)

специалист по околачиванию грушевых деревьев
 
Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 813


Цитата:
Сообщение от makxvl Посмотреть сообщение
vlax-curve-getParamAtPoint - вычисляет значение параметра в заданой точке...в логике закладовалось что если значение отлично от nil то точка принадлежит построенному отрезку

но на практике почему то не сработало..проверка периодически выдает nil для построенного по вершинам полилинии отрезка
Навскидку ,лучше получай точку так
Код:
[Выделить все]
 (vlax-curve-getParamAtPoint pline (vlax-curve-getclosestpointo pline (trans Pnt 1 0)))
Олег (jr.) вне форума  
 
Непрочитано 21.03.2013, 22:45
#5
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


makxvl, Параметр, возвращаемый vlax-curve-getParamAtPoint имеет свой смысл. Целая часть - это номер сегмента полилинии, начиная с 0. Т.е

0 - 1-я вершина
0.5 - середина 1-го сегмента
1 - 2-я вершина
1.5 - середина 2-го сегмента
и т.д.
Если ты получил параметр полилинии в точке (см #4), то (fix параметр) даст начальную вершину сегмента, (1+ (fix параметр)) даст конечную вершину сегмента. Получить из параметра точку можно vlax-curve-getPointAtParam
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 22.03.2013 в 16:53.
VVA вне форума  
 
Автор темы   Непрочитано 22.03.2013, 09:55
#6
makxvl


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


VVA, еще раз спасибо
я вообще тупик...фигню какую-то понаписал
теперь дошло окончательно

Последний раз редактировалось makxvl, 26.03.2013 в 08:26.
makxvl вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как указать необходимые участки полилинии

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Новые команды для работы с полилинией VVA Программирование 647 18.09.2023 11:16
Простановка рармеров полилинии между указанными точками? Rodiong Программирование 3 16.07.2012 14:32
ищу функцию построения 3d полилинии mankurt Программирование 8 07.02.2012 12:43
выноски к полилинии gizmo_zx Программирование 6 01.03.2010 12:17