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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > ActiveX Почему может (vlax-curve-getDistAtPoint) выдавать nil

ActiveX Почему может (vlax-curve-getDistAtPoint) выдавать nil

Ответ
Поиск в этой теме
Непрочитано 06.11.2013, 09:41 #1
ActiveX Почему может (vlax-curve-getDistAtPoint) выдавать nil
Kirill_Ja
 
Мурманск
Регистрация: 28.07.2008
Сообщений: 208

Собственно, код:


Код:
[Выделить все]
 
(if (null pl1p2) (setq pl1p1 (car (setq tmp (tg_get_poly_points pline1)))
		       pl1p2 (last tmp)
		       pline1 (vlax-ename->vla-object pline1)
		       );_setq
  );_if
(setq points1 (vl-sort (list
	                 (vlax-curve-getDistAtPoint pline1 (vlax-curve-getClosestPointTo pline1 pl1p1 ""))
                         (vlax-curve-getDistAtPoint pline1 (vlax-curve-getClosestPointTo pline1 pl1p2 ""))
	               );_list
		       '<
		    );_sort
Теперь собственно, смысл:
Для последней точки 3Дполилинии vlax-curve-getDistAtPoint выдает nil. Более того, она точно лежит на полилинии т.к. (vlax-curve-getClosestPointTo).
Может, есть какие-то особенности работы с 3Дполилиниями?
__________________
Мне не нужно сделать за меня. Если я что-то ищу, то пути решения.
Просмотров: 5496
 
Непрочитано 06.11.2013, 11:17
#2
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,702
Отправить сообщение для Do$ с помощью Skype™


Да, были какие-то проблемы с этой функцией. Я вроде бы обходил ее использованием vlax-curve-GetParamAtPoint а затем vlax-curve-GetDistAtParam.
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума  
 
Непрочитано 06.11.2013, 11:20
#3
Кулик Алексей aka kpblc
Moderator

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


AutoCAD 2009 x64, 2013 х64, 2014 х64 - все отработано без вопросов.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 06.11.2013, 12:12
#4
Kirill_Ja


 
Регистрация: 28.07.2008
Мурманск
Сообщений: 208
<phrase 1=


Эммн.. А в 13-ом получается нет?
__________________
Мне не нужно сделать за меня. Если я что-то ищу, то пути решения.
Kirill_Ja вне форума  
 
Непрочитано 06.11.2013, 12:13
#5
Кулик Алексей aka kpblc
Moderator

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


Kirill_Ja, ты кого спрашиваешь? Если меня, то прочитай внимательно мой предыдущий пост.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 06.11.2013, 13:13
#6
Kirill_Ja


 
Регистрация: 28.07.2008
Мурманск
Сообщений: 208
<phrase 1=


Да. Допустил невнимательность.
У меня х86.
Заметил, что корректно работает с LWPoly и, внезапно, 2D Poly.
Буду что-нибудь придумывать.
Возможно, и правда завязаться с параметрами ПЛИНИИ
__________________
Мне не нужно сделать за меня. Если я что-то ищу, то пути решения.
Kirill_Ja вне форума  
 
Непрочитано 06.11.2013, 14:03
#7
Vov.Ka


 
Регистрация: 21.07.2008
Луцьк
Сообщений: 179


попробуй убрать признак extend
Vov.Ka вне форума  
 
Автор темы   Непрочитано 06.11.2013, 14:31
#8
Kirill_Ja


 
Регистрация: 28.07.2008
Мурманск
Сообщений: 208
<phrase 1=


Ларчик просто открывался.
(vla-getClosedPointToProjection pline point '(0 0 1) nil)
По сути то же, но, видно работает по-другому)
Спасибо за помощь.
__________________
Мне не нужно сделать за меня. Если я что-то ищу, то пути решения.
Kirill_Ja вне форума  
 
Непрочитано 05.07.2021, 16:02
#9
T.Bagdat


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


Подскажите, а можно ли каким-то образом расширить функционал (vlax-curve-getDistAtPoint), чтобы вычислять длину до точки, лежащей на продолжении кривой, найденной с помощью (vlax-curve-getClosestPointTo pline point T) ?

З.Ы. Разобрался, что (vlax-curve-getClosestPointTo) отказывается расширять полилинии и сплайны. В таком случае мой вопрос не имеет никакого смысла.


Последний раз редактировалось T.Bagdat, 07.07.2021 в 10:36.
T.Bagdat вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > ActiveX Почему может (vlax-curve-getDistAtPoint) выдавать nil

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разработка ПОС, искусство проектирования Tyhig Технология и организация строительства 117 25.11.2021 17:38