|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
29.03.2022, 07:34 | #1 | |
Не работает Ssget по координатам внутри Foreach
инженер
Регистрация: 11.08.2017
Сообщений: 13
|
||
Просмотров: 4944
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
А вся область видна на экране? Кстати, не забудь про грабли.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
При работе ssget по координатам она должна быть видна. Точка.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 451
|
Сделай "Покажи всё" перед первым запуском ssget и не мучайся.
Если не хочется тратить время на перерисовку экрана (возможно - не обязательную), то перед запуском ssget делай проверку видимости точек секрамки на экране. И уже тогда, если нужно, "Покажи всё".
__________________
Счастливо, Алексей! |
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
На всякий случай напомню про переменную VTENABLE. Она отвечает за визуализацию этого зумирования/панорамирования.
|
|||
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 451
|
По-настоящему всё несколько сложнее...
Если "в общем виде", то перед вызовом (ssget "_C" mn mx) не грех проверить, где вообще мы находимся. Например, пользователь, находясь в Лайоуте, через видовой экран вошел в пространство модели и там вызвал ssget. А точка - вне видимости. А мы ему - "Покажи всё". А видовой экран не заблокирован. Вот пользователь-то обрадуется, когда у него вся картинка слетит :-) Значит, сперва нужно или перейти на вкладку Модель, а потом вернуться обратно или озаботиться последующим выполнением "Покажи предыдущий". Если повспоминать, то и другие ньюансы, наверное, можно вспомнить...
__________________
Счастливо, Алексей! |
|||
|
||||
Чтобы не было рок-н-ролла на экране пользователя написал функцию lib:Zoom2Lst (смотри Выделение объектов в области контура, AutoCAD)
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 451
|
Всем привет!
Когда-то я тоже сталкивался с проблемой видимости точки. Ох, давно это было ... в 90-х ещё … Если склероз мне не изменяет, то остановился на таком алгоритме действий - при первом обнаружении точки вне видимости сделать "Покажи всё", потом отработать ssget'ами и прочим (что нужно), потом вернуть "как было" через "Покажи предыдущий". Тогда компы были на проце 80286 и Автокад-10 под DOS, поэтому каждая перерисовка чертежа "с регенерацией" занимала время. А ну, как через "Покажи рамка" не попадёшь, чтобы весь чертёж попал в "виртуальный экран" ? Тот самый, который быстро зуммировался простой перерисовкой. Сейчас и слов-то таких не помнят. :-) А тогда - снова регенерация и снова потеря времени. А нет - вру. Дополнительную проверку делал. Сперва анализировал, попала ли точка в границы виртуального экрана. Если да - быстрый показ без регенерации, если нет - "Покажи всё". Ностальжи…
__________________
Счастливо, Алексей! Последний раз редактировалось ===AAA===, 10.02.2023 в 15:53. |
|||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как построить среднюю линию между непараллельными? | vigold | AutoCAD | 53 | 10.03.2023 23:13 |
Помогите подкорректировать лисп "подсчета площади по точке внутри контура" | dextron3 | LISP | 16 | 05.11.2019 10:31 |
Задача по выбору блока, который пересекается с линией определенной длины и цвета | aafeoktistov | LISP | 18 | 08.04.2019 16:42 |
Разное время ssget при разнесенных примитивах и собранных? | prajdziswet | LISP | 13 | 16.02.2017 10:08 |
Проблема с функцией ssget | Scorpio_1986 | Программирование | 4 | 26.05.2009 10:07 |