| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
27.10.2011, 13:05 | #1 | |
Перестала работать handent
Регистрация: 01.07.2010
Сообщений: 521
|
||
Просмотров: 5690
|
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
AutoCAD 2011. Обнаружил интересную (для меня) особенность. Handent для метки (handle) удаленного объекта возвращает ENAME этого объекта вплоть до закрытия файла.
Код:
Код:
Хотел проверять таким образом, удален ли объект, а выходит, что так не проверить. Пока на ум пришло только создавать пустой набор, добавлять в него этот примитив, затем набор подсвечивать и проверять его на nil с помощью (ssget "_I"). Чувствую, что такой подход уж очень топорный, но иной пока придумать не удалось. Есть ли какие-либо мысли, уважаемые коллеги? |
|||
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,589
|
Цитата:
А вот эта ссылка возможно будет интересна как отправная точка идеи для проверки удален ли объект http://www.caduser.ru/forum/index.ph...D=23&TID=14807 ЗЫ. Примечательно, что в .NET, у наследников DBObject есть свойство для чтения IsErased() и таких заморочек не нужно. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,856
|
Если не ошибаюсь, entget для удаленного объекта тоже вернет nil.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Boxa, спасибо за ссылки, первая подтвердила мои догадки. Если пойти в них дальше, то я полагаю, подобный механизм реализован с целью применения его для отмены действий. То есть все изменения в пределах сеанса сохраняются в базе и в случае вызова команды отмены применяются.
Ну а лиспе, стало быть, для такого случая - пусть и не свойство объекта, а функция, про которую я благополучно забыл, это и есть самый правильный вариант проверки, я считаю. В процессе пользования "словарем" Полещука мне она попадалась, но ни разу не использовал ее, поэтому и не вспомнил, спасибо, frostmourn. Да и мозги уже не работали под конец рабочего дня. Тоже весьма логичные варианты, хоть и не вполне правильные в условиях наличия первого, даже стыдно, что не додумался хотя бы до одного из них. Плохо это - на уставшую голову писать код, но иногда необходимо Всем спасибо, что не дали пойти через зад |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
перестала работать кнопка выполнения макроса | LAmyk | AutoCAD | 6 | 26.09.2014 12:56 |
Почему перестала работать кнопка delete? | Skat | AutoCAD | 43 | 05.11.2012 17:49 |
перестала работать команда lisp | Nikolays | LISP | 11 | 27.01.2011 00:40 |
Программа для подчета сумм перестала работать | Jason | AutoCAD | 9 | 04.02.2009 18:15 |
Opera перестала работать с форумом http://dwg.ru/f/ | dextron3 | Прочее. Программное обеспечение | 29 | 02.10.2008 23:11 |