|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Как определить, что точка за пределами видимой области? VBA
Инженер по автоматизации (строительство)
Люберцы
Регистрация: 05.05.2006
Сообщений: 241
|
||
Просмотров: 4905
|
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Я пишу на лиспе, но, думаю, аглоритм от эго не поменяется.
Код:
1. Есть список VLIST из точек p1, p2, ft, fd. 2. Ф-ция lib:Zoom2Lst находит из списка VLIST точки Xmin, Ymin и Xmax,Ymax (ф-ция lib:pt_extents ) и проверяет их на предмет нахождения в видовом зкране (своего рода габарит)[(if (not (and (lib:IsPtInView bl) (lib:IsPtInView tr)))] и если не так, то зуммируем окном по точкам Xmin,Ymin и Xmax,Ymax и для надежности еще 0.95x Думаю реализовать этот аглоритм на VBA будет не сложно. Последний раз редактировалось VVA, 24.11.2015 в 18:55. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
По-моему, acSelectionSetAll аналогичен (ssget "_X"), то есть выбирает вообще все примитивы, даже лежащие в других пространствах или на отключенных / замороженных слоях. Или нет?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер по автоматизации (строительство) Регистрация: 05.05.2006
Люберцы
Сообщений: 241
|
VVA: СПАСИБО!
kpbIc: acSelectionSetAll выбирает все примитивы, кроме находящихся на замороженных слоях, но это, в принципе, ни к чему. чтобы пройтись по всем объектам, лучше сделать так: Код:
|
|||
![]() |
|
||||
Инженер по автоматизации (строительство) Регистрация: 05.05.2006
Люберцы
Сообщений: 241
|
Интересная фигня: я искал, в принципе, в этой области, но не через системные переменные а через свойства
ThisDrawing.ActiveViewport.Height ThisDrawing.ActiveViewport.Width А они, сволочи, почему-то, как-то странно обновляются: вид изменен, а они остаются прежние. Чуть мозги не вывихнул!! После сохранения чертежа - обновляются (только сейчас увидел). А системные переменные обновляются мгновенно. Что за хрень??? :? VVA, еще раз спасибо! :wink: |
|||
![]() |
|
||||
Инженер по автоматизации (строительство) Регистрация: 05.05.2006
Люберцы
Сообщений: 241
|
Кстати, о птицах. Совсем забыл выложить, что получилось. Может, кому сгодится.
Код:
|
|||
![]() |