Цитата:
Сообщение от modest-bp
; зачем в этом месте было присваивать picking_entity значение true?
|
skkkk уже ответил. Добавлю что можно не присваивать t этой переменной-триггеру, а просто объявить её и поменять условие while на отрицание триггер ну и поменять все сопутствующие назначения.
Цитата:
Сообщение от modest-bp
; picked_entity присвоили значение по entsel, но каждый элемент списка сделали самостоятельным списком, так?
|
Не так. Функция entsel при удачном завершении всегда возвращает список из точки и примитива, который попал в прицел в этой точке.
Цитата:
Сообщение от modest-bp
; picked_entity не пустая
|
Наоборот пустая, то есть пользователь ничего не выбрал.
Цитата:
Сообщение от modest-bp
а на её содержимое vl-catch-all-apply не возвращает ошибку аргумента
в этом случае присвоить picking_entity nil (зачем? То есть в начале мы дали t, а в этом случае - записываем nil)
|
При выполнении этого условия пользователь аварийно завершает функцию entsel, например нажав Esc. Триггер получает значение nil для безаварийного завершения пользовательский функции.
Цитата:
Сообщение от modest-bp
а также picked_entity является блоком
присваиваем block_found значение указателя picked_entity, конвертировав его из ename в vla-object
|
Если пользователь выбрал блок, то переменной block_found назначаем значение указателя на activex интерпретацию блока для дальнейшей его обработки. Проверяем наличие атрибутов у выбранного блока и если они есть проверяем есть ли среди них атрибут с заданным тэгом в начале пользовательский функции (который кстати можно сделать её аргументом) используя функцию vl-some. Указатель на каждый тестируемый атрибут присваиваем переменной attribute_found.
Цитата:
Сообщение от modest-bp
и снова не понимаю, как работает nil? Останавливает процедуру while picking_entity?
|
Да. Когда пользователем выбран блок, завершаем выполнение пользовательский функции и выводим в консоль ID блока и если найден искомый атрибут, то также и его ID. Но это всё можно подстраивать под свои критерии выбора объектов и условия прерывания пользовательский функции.
Ну вот как-то так)