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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Lisp Проверка на существование отрезка

Lisp Проверка на существование отрезка

Ответ
Поиск в этой теме
Непрочитано 15.10.2014, 06:12 #1
Lisp Проверка на существование отрезка
tehkonst
 
Регистрация: 25.10.2011
Сообщений: 132

Ситуация следующая:

Программно из определенной точки строится отрезок в слое "LAY1".

Код:
[Выделить все]
 ( setq tLine ( vla-AddLine modelSpace pt1 pt2 ) )
( vla-put-Layer tLine "LAY1" )
Может так случится, что в этой точке в этом же направлении и в том же слое уже есть отрезок (возможно другой длины).
В этом случае вместо построения нужно присвоить этот отрезок переменной tLine.

Как это можно реализовать?
Просмотров: 1068
 
Непрочитано 15.10.2014, 09:24
#2
VVA

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


Может так же случится, что в этом месте есть отрезок с направлением + 180 градусов и с началом где-то в созвездии пса?
В такой постановке вижу пока только следующий алгоритм:
1. "Раздвигаем" точки pt1 и pt2 на максимальное расстояние
Код:
[Выделить все]
    (setq pt1N (polar pt1 (angle pt1 pt2) 10000) ;_вместо 10000 приемлемая для твоего случая цифра
     (setq pt2N (polar pt2 (angle pt2 pt1) 10000) ;_вместо 10000 приемлемая для твоего случая цифра
2. Перебираем существующие отрезки на предмет принадлежности его начала и конца отрезку [pt1N pt2N]
DwgRuLispLib: Геометрия. Принадлежность точки отрезку
3. Дальше 3 варианта
- ничего не нашли
- нашли 1 отрезок
- нашли больше 1 отрезка
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 15.10.2014, 09:41
#3
tehkonst


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


Все существующие - это перебор. Можно просто сделать ssget в точке
Код:
[Выделить все]
 ( setq ss 
			( ssget 
				"_C" 
				( polar point (/ pi 2) 0.1 ) 
				( polar point ( + pi (/ pi 2) ) 0.1 )
 				'((8 . "LAY1"))
			) 
		) 
И не раздвигать, а xline нарисовать.

Спасибо за подсказку, я попробую.
tehkonst вне форума  
 
Непрочитано 15.10.2014, 10:01
#4
VVA

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


чтобы ssget сработал - эта точка должна быть видна на экране
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 15.10.2014, 10:28
#5
tehkonst


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


Да действительно. Не знал такой особенности.
tehkonst вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Lisp Проверка на существование отрезка



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AutoCAD 2013 Rus SP2 СПДС при проверке _audit находит и исправляет ошибки но, повторная проверка опять указывает на тоже zoro ПО от CSoft 10 06.08.2013 00:33
LISP : проверка уникальности элемента в списке WhiteShark LISP 11 15.03.2013 15:07
{Конкурс} Lisp. Задачки для студентов gomer LISP 10 05.01.2011 16:33
Перемещение отрезка в LISP AlexeySh LISP 53 02.12.2007 15:00
Проверка нажатия CTRL в LISP в фоновом режиме(не grread) BH LISP 10 22.08.2006 22:23