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

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

Как по координатам из метода GetBoundingBox уменьшить размер

Ответ
Поиск в этой теме
Непрочитано 25.10.2005, 12:31 #1
Как по координатам из метода GetBoundingBox уменьшить размер
disintegrator
 
Регистрация: 11.10.2005
Сообщений: 15

Как по координатам из метода GetBoundingBox уменьшить размер окна до этих координат?
Просмотров: 9488
 
Автор темы   Непрочитано 25.10.2005, 22:00
#2
disintegrator


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


Кажется алгоритм найден, в четверг попробую реализовать.Основан то ли на глюке метода SelectByPolygon, то ли на хитрой задумке разработчиков AutoCada.Вкратце:

1.Высчитываем какая из сторон прямоугольника > ширина или высота.
2.Делаем ZoomPickWindow и по границе большей стороны рисуем линию.
3.Уменьшаем ширину или высоту окна(в зависимости от того что меньше) до тех пор пока SelectByPolygon этой линии не станет равным нулю . Это значит, что окно стало размеров исходного прямоугольника.
disintegrator вне форума  
 
Непрочитано 26.10.2005, 09:31
#3
Apelsinov

Проектировщик ВК. LISP-любитель.
 
Регистрация: 15.12.2003
Москва
Сообщений: 1,186
<phrase 1=


disintegrator
А зачем это все вообще?
Apelsinov вне форума  
 
Непрочитано 26.10.2005, 10:53
#4
Лентяй

Project Engineer
 
Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392


disintegrator, не мучайся, лови лиспу.
Код:
[Выделить все]
(defun zoomobj (obj / mn mx)
  (vla-getBoundingBox obj 'mn 'mx)
  (vla-ZoomWindow (vlax-get-acad-object) (vlax-make-variant mn) (vlax-make-variant mx))
)
Цитата:
Apelsinov: А зачем это все вообще?
А делать нефиг! Вам что, жалко, что ли?
Лентяй вне форума  
 
Непрочитано 26.10.2005, 11:06
#5
Apelsinov

Проектировщик ВК. LISP-любитель.
 
Регистрация: 15.12.2003
Москва
Сообщений: 1,186
<phrase 1=


Лентяй
Нам не жалко, нам интересно. Может, и нам пригодиться, только мы еще не придумали - зачем. :roll:


И потом, в этой функции, что выше, окно зуммируется по BoundingBox,
а надо-то вроде чтоб окно менялось в размерах.
Так вот если вопрошающий скажет - нафига оно, так может и ясно станет как ЧТО собсно надо-то.
Apelsinov вне форума  
 
Непрочитано 26.10.2005, 12:10
#6
Лентяй

Project Engineer
 
Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392


Цитата:
Apelsinov: Может, и нам пригодиться, только мы еще не придумали - зачем
Как - зачем? В чужие окна заглядывать! А если удасться - то и плевать.
Лентяй вне форума  
 
Непрочитано 26.10.2005, 12:56
#7
Apelsinov

Проектировщик ВК. LISP-любитель.
 
Регистрация: 15.12.2003
Москва
Сообщений: 1,186
<phrase 1=


Лентяй

Цитата:
Как - зачем? В чужие окна заглядывать! А если удасться - то и плевать.
Я обидел кого?
Apelsinov вне форума  
 
Непрочитано 26.10.2005, 19:56
#8
Лентяй

Project Engineer
 
Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392


Цитата:
Apelsinov: Я обидел кого?
Это вы к чему? Честно говоря, я просто не вижу другого применения этой функции, кроме как сглянуть непонятно зачем унутрь какого-нить контура и плюнуть от oтвращения.
Лентяй вне форума  
 
Автор темы   Непрочитано 26.10.2005, 23:35
#9
disintegrator


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


короче, смысл этого вот какой: мне нужно экспортировать в Wmf и потом импортировать в "3-е приложение" ,а там изменить это изображение в размерах. Вопрос в том что эта картинка экспортируется вместе с пустыми участками, поэтому чтобы однозначно установить между каждым объектом и его импортом расстояния от края объекта до его границы надо сначала сделать ZoomObject, а потом пустые участки убрать до размера этого объекта(т.е. уменьшить окно).
Понятно? Если нет , попробую ещё раз объяснить.
disintegrator вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как по координатам из метода GetBoundingBox уменьшить размер

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

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