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

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

Проверка на пересечение полилиний vla-IntersectWith

Ответ
Поиск в этой теме
Непрочитано 12.08.2009, 10:41 #1
Проверка на пересечение полилиний vla-IntersectWith
vosh
 
Регистрация: 13.12.2007
Сообщений: 45

Добрый день.
Нужно узнать пересекаются ли две полилинии. Попробовал так:
(vlax-safearray->list (vlax-variant-value (vla-IntersectWith (VLAX-ENAME->VLA-OBJECT (car (entsel))) (VLAX-ENAME->VLA-OBJECT (car (entsel))) acextendnone)))
но оно выдает ошибку если нет точек пересечения "; error: ActiveX Server returned an error: Неверный индекс"
ладно бы nil какой я бы его обработал.
Может есть альтернатива?
Просмотров: 3488
 
Непрочитано 12.08.2009, 10:52
#2
Кулик Алексей aka kpblc
Moderator

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


Так сам-то IntersectWith срабатывает нормально, ошибка в преобразовании
http://forum.dwg.ru/showthread.php?t=15426 - ответ
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 12.08.2009, 10:52
#3
Disney

Геодезист
 
Регистрация: 12.03.2009
Сибирь (где медведи по улицам ходят)
Сообщений: 860
Отправить сообщение для Disney с помощью Skype™


Так у тебя vlax-variant-value и ругается, что ему nil из vla-IntersectWith посылают
__________________
Почему все вдруг становятся умными, когда уже не надо?
Disney вне форума  
 
Автор темы   Непрочитано 12.08.2009, 11:03
#4
vosh


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


Дык я понимаю что IntersectWith нормально отработал, только результат работы мне непонятный, загадочные они эти Варианты. Ушел по ссылке, может вернусь Как всегда спасибо за оперативность.

Последний раз редактировалось vosh, 12.08.2009 в 11:43.
vosh вне форума  
 
Непрочитано 12.08.2009, 11:27
#5
VVA

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


vosh, Посмотри как это реализовано здесь: VxGetInters - Returns all intersection points between two objects
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 12.08.2009, 11:35
#6
vosh


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


Вернулся...
(vlax-safearray-get-u-bound (vlax-variant-value (vla-IntersectWith (VLAX-ENAME->VLA-OBJECT (car (entsel))) (VLAX-ENAME->VLA-OBJECT (car (entsel))) acextendnone)) 1)
меня спасло vlax-safearray-get-u-bound, со своим понятным "2" и "-1" на выходе, уж не знаю что это означает, но главное результат, постигать будем позднее.

Кстати, Disney, ругался vlax-safearray->list
VVA обязательно вечером ознакомлюсь.

Еще раз спасибо.
vosh вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Проверка на пересечение полилиний vla-IntersectWith



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как Извлечь из строки числа Kostinok Программирование 7 12.08.2008 08:00