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

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

Комманды определения пересечения линий

Ответ
Поиск в этой теме
Непрочитано 31.03.2008, 19:38 #1
Комманды определения пересечения линий
vosh
 
Регистрация: 13.12.2007
Сообщений: 45

Конечно основная цель данной темы не найти эти самые команды, а найти некий самостоятельный файл, типа *.hlp и т.п. в котором можно было бы удобно искать по производимым действиям различные команды lisp'а. Возможно кто-то заморачивался по этому поводу и сделал подобную чудо-штуку.
А теперь то что меня натолкнуло на подобный поиск. Есть ли команда находящая точку пересечения линии, пускай даже прямой с ломаной полилинией? Ничего кроме inters мне не удалось найти на пересечения
Просмотров: 3156
 
Непрочитано 31.03.2008, 19:51
#2
VVA

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


Если использовать объектную модель, то любой объект имеет метод IntersectWith, с помощью которого можно узнать точки пересечения чего-либо с чем-либо.
Можно воспользоваться готовыми функциями
VxGetInters - Returns all intersection points between two objects
VxGetBlockInters - Returns all intersection points between a block and an obj
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 31.03.2008, 20:47
#3
vosh


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


Пытался громко крикнуть ура и поблагодарить, но столкнулся с непониманием работы команды. Сделал следующее:
Код:
[Выделить все]
(defun c:aaa (/ a b)
(setq a (VLAX-ENAME->VLA-OBJECT (car (entsel))))
(setq b (VLAX-ENAME->VLA-OBJECT (car (entsel))))
(princ (vla-IntersectWith a b acextendnone))
)
выдало страшную штуку "#<variant 8197 ...>#<variant 8197 ...>"
acextendnone - так понял руководство к неудлинению
прошу пояснения по остальному
vosh вне форума  
 
Автор темы   Непрочитано 31.03.2008, 21:08
#4
vosh


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


Все "воткнул" , немного через... неочевидно. Так фурычит:
Код:
[Выделить все]
(defun c:aaa (/ a b)
(setq a (VLAX-ENAME->VLA-OBJECT (car (entsel))))
(setq b (VLAX-ENAME->VLA-OBJECT (car (entsel))))
(princ (vlax-safearray->list (vlax-variant-value (vla-IntersectWith a b acextendnone))))             
(princ)
)
VVA как всегда спасибо.
vosh вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Комманды определения пересечения линий



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание нового типа линий Apelsinov AutoCAD 915 08.07.2022 12:36
LISP. Разорвать объекты в точках пересечения. BreakObjects. VVA Готовые программы 110 25.02.2022 07:33
Есть ненужные документы. Посмотрите, кому что нужно Дмитрий832 Поиск литературы, чертежей, моделей и прочих материалов 73 18.12.2010 22:55
деление множества линий в точках пересечения shurup Программирование 4 24.03.2008 15:11
Как изменять толщину линий и цвет линий для блоков? Highmax AutoCAD 1 08.03.2005 06:56