ADN Club > AutoLisp / VisualLISP и DCL
проблема при смене цвта экрана
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:
Нет, к сожалению и Ваш код не рабтает...
Жаль...
Странно!
подождем, может у кого-то будет какая-то идея...
Спасибо!
Навигация
Перейти к полной версии