|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
|
||||
|
||||
На работе 2018 без проблем.
Дома 2018 eng - глюки. Походу от сборки зависит.
__________________
Вопрос : Где находится Тургай ? Ответ : Между Парагваем и Уругваем..... |
||||
|
||||
2018 нет.
Автокад 2019.1.2 x64 работает без проблем
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
тут возможно от видимости ленты и положения луны в сатурне
с 2018 похоже косяк, но других установленных у мну нет, а иные ставить лениво.. вроде разобрались.. было весело
__________________
Мастерская СПДС |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,835
|
Попытка решения на C#: http://adn-cis.org/forum/index.php?t...36660#msg36660
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
чтото мне подсказывает, что коль в Ак 2016 и 2019 вышеприведенные лиспы работают, а в АК 2018 нет.. проблема не в коде..
то что видовых экранов больше на количество листов уже поняли вангую этот код на ак2018 ру даст тот же результат ----- добавлено через ~2 мин. ----- в принципе и на vb выбрать селсетом, а потом проходом по коллекции (исключая вэ листа) должно получиться, но не в ак2018((
__________________
Мастерская СПДС |
||||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,039
|
Цитата:
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,835
|
Ну, свой код я как раз на 2018 и рисовал...
А я откуда знаю? У меня в C# познаний хватает только понять, что это именно C#, а не С++
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
каду это не нравится.. падает
__________________
Мастерская СПДС |
||||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,039
|
угу.. акад нервно реагирует на попытки модификации ВЭ самого листа.
Offtop: Поэтому возможные варианты (по простоте реализации): 1. Добавить флаг Код:
2. Сохранить значение TileMode и принудительно переключиться в пространство модели на время обработки. 3. При значении системной переменной TileMode=0 получить ссылку на менеджер листов Код:
Последний раз редактировалось Сергей812, 26.01.2019 в 00:39. Причина: Неверно |
|||
|
||||
выше VVA лисп дал, там все чотко..
__________________
Мастерская СПДС |
||||
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588
|
Сергей812, простите, но Вы ерунду написали. Приведенному по ссылке коду пофигу откуда его запускают, все ВЭ в любом случае будут выключены.
Даже если в момент запуска кода был выполнен вход в ВЭ. Тестировал Акад 2017х64 Win7 update: ХМ... там пары строчек не хватает... и из-за этих строчек код на 2016 и ниже нормально работать не будет... в любом случае коду пофигу откуда его стартуют Последний раз редактировалось Boxa, 25.01.2019 в 21:18. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,039
|
Цитата:
При попытке запуске вашего кода как из пространства модели, так из пространства листа - на строчке "vp.On = false;" вылетает исключение "eNotInPaperspace". А в других версиях акада и лисп работает, судя по ветке. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,039
|
Действительно, немного куда то не туда занесло - приношу свои извинения) Самое парадоксальное, что ваш код заработал и на 2018 с какой то попытки - но не совсем корректно: ВЭ отключает - а содержимое продолжает стабильно показывать на всех вкладках листов, что были неактивны. И регенерация не помогает. Мой вариант кода вроде стабильнее работает:
Код:
Ну и прикрепляю сборку под 2018х64 для теста. Не забывайте в свойствах скаченного файла снимать "Файл был получен с другого компьютера..." - чтобы акад при загрузке не ругался. Команды: VP_On и VP_Off - включение/отключение показа содержимого ВЭ. ----- добавлено через ~1 ч. ----- 2018 работает очень своебразно и в .Net: 1. Если после открытие чертежа не переключишь хоть раз между лейаутами для регенерации (TileMode не прокатывает) - стабильно выдает исключение "eNotInPaperspace". 2. Визуально результат выключения ВЭ 100% виден при случае активного листа, как и на лиспе. На неактивных - результат или при повторном вызове команды, или при переоткрывании чертежа. Хотя порою и на неактивных листах отображается выключение ВЭ нормально - связи никакой не заметил. 3. А вот включает ВЭ на всех листах спокойно, как и выше писали - в СПДС. 4. И насколько заметил, при изменении количества ВЭ на листах начинает игнорировать команды моей надстройки на неактивных листах вплоть до переоткрытия чертежа. |
|||
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588
|
Я же написал, что там пары строчек не хватает...
"eNotInPaperspace" лечится просто оберткой в try (на 2017 эта ошибка так же бывает... на разных компах) Для того, что бы визуально был виден результат для неактивных листов, нужно принудительно обновить графику каждого ВЭ (acdbEntUpd или что то подобное) В любом случае развивать эту тему в рамках раздела Lisp не очень хорошо, да и обсуждать там по большому счету нечего, т.к. приведенный по ссылке код, не более чем набросок, написанный просто для понимания и отработки основной идеи и понятно, что там много чего не хватает для полноценного приложения. Последний раз редактировалось Boxa, 26.01.2019 в 09:30. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,039
|
Цитата:
Цитата:
Ну так UpdateDisplay(); - This function updates the onscreen display to reflect any changes made to the viewport's view parameters (Эта функция обновляет экранный дисплей, отражая любые изменения параметров представления видового экрана.). Но здесь есть подводный камень - is not onscreen, then this function does nothing (не находится на экране, то эта функция ничего не делает). Поэтому только активный лист и обновляет. |
|||
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588
|
Сергей812, есть разница между acdbEntUpd и UpdateDisplay, а по поводу eNotInPaperspace, ничего сказать не могу, на 2017 такую ошибку удалось сделать, но все решилось через try, после обертки ошибка перестала влиять на выполнение и ВЭ выключались.
ЗЫ. ИМХО, обсуждать в ветке LISP код на C#, к тому же размещенный не тут - неуважение к автору топика. Если есть желание продолжить копаться, рекомендую зарегистрироваться на том сайте и продолжить дискуссию там. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,039
|
Offtop: Ну свой под катом выложил, только сам 2018 недоработан и не во всех локальных апдейтах подправлен, похоже) Понимаю, здесь плюсики в карму не идут) И посмотрите в отладчике на строчку кода " if (item.Key != Db.BlockTableRecord.ModelSpace)" - будет ли вообще когданибудь работать это условие..
|
|||
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588
|
Offtop: я мальчик взрослый, меня эта фигня с плюсиками, ачивками и прочей фигней мало интересует.
Доберусь до компа со студией и посмотрю. |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
LISP. Создание листов и видовых экранов на них | Andrey_13 | Готовые программы | 423 | 03.04.2024 21:27 |
Как выключить "Показ блокированного/Display locked" на всех видовых экранах на всех листах сразу? | UnAtom | AutoCAD | 2 | 25.08.2017 16:38 |
Лисп для блокировки видовых экранов | posetitel | LISP | 5 | 28.04.2017 09:09 |
AutoCAD 2011. Проблема с заданием масштабов видовых экранов. | Demyan | AutoCAD | 1 | 28.11.2010 10:42 |
Как слой включить сразу во всех видовых экранах | ilka_t | AutoCAD | 4 | 26.04.2004 11:20 |