ADN Club > AutoLisp / VisualLISP и DCL

проблема при смене цвта экрана

<< < (3/3)

altver:
что значит ответ "vlax-vbdouble"

Александр Ривилис:

--- Цитата: altver от 15-05-2024, 10:43:05 ---что значит ответ "vlax-vbdouble"
--- Конец цитаты ---
Это я поставил под сомнение тип данных. Судя по примеру из документации он должен быть равен 19. А color в твоем примере - это не индексный цвет, а RGB-цвет в виде целого числа (в примере в документации это было 127, т.е. 127,0,0)
У меня по умолчанию цвет экрана такой:

Т.е. RGB соответствует {33,40,48}. И программа из документации выдает значение 3156001, что соответствует 48*256*256+40*256+33

altver:
Александр, извините, но не понял... :-[
Можно, пожалуйса, получить пример кода,
задача следующая:
заменить цвет экрана на любой другой (black например)
и загрзить блок в чертеж с паузой в конце загрузки:
(command "-insert" "block" "_S" 1 pause 0)
Спасибо!

Александр Ривилис:
Должно быть что-то такое:

--- Код - Auto/Visual Lisp [Выбрать] ---(defun c:SetBGColor ( / )   (vl-load-com) (setq disp (vla-get-display (vla-get-preferences (vlax-get-acad-object))))    (setq col (vlax-make-variant 0 19))  (vla-put-GraphicsWinModelBackgrndColor disp col)   (command "-insert" "block-1" "_S" 1 pause 0))Но я думаю, что всё-равно код прервется - изменение цвета фона должно прерывать lisp-код. Точнее прерывать ввод от пользователя.

altver:
Нет, к сожалению и Ваш код не рабтает...
Жаль...
Странно!
подождем, может у кого-то будет какая-то идея...
Спасибо!

Навигация

[0] Главная страница сообщений

[*] Предыдущая страница

Перейти к полной версии