(defun C:ACS ( / conv what_select what_next dcl_id slist dspl_obj) (vl-load-com) (setq conv (lambda (x) (vlax-make-variant (+(*(caar x))(* (cadar x)(expt 2 8))(*(caddar x)(expt 2 16)))vlax-vbLong)) what_next 3 ) (if (setq dcl_id (load_dialog "ACS.dcl")) (progn (while (< 1 what_next) (cond ((= 3 what_next) (new_dialog "ACS_MAIN" dcl_id) (start_list "select") (mapcar '(lambda (x) (add_list (car x))) (setq slist ;; ( цвет_фона цвет_курсора цвет_фона_комстр цвет_текста_комстр ) (list (list "Классик" '(0 0 0) '(255 255 255) '(255 255 255) '(0 0 0) ) (list "Негатив" '(255 255 255) '(0 0 0) '(0 0 0) '(255 255 255 ) ) (list "Зима" '(214 214 214) '(0 0 0) '(255 255 255 ) '(0 0 0) ) (list "Матрица" '(0 0 0) '(0 255 0) '(0 0 0) '(0 255 0) ) (list "Океан" '(0 0 0) '(255 255 255) '(0 173 173) '(255 255 255) ) (list "Паскаль" '(0 0 0) '(255 255 255) '(0 0 255) '(255 255 0) ) (list "Сакура" '(0 0 0) '(246 223 233) '(246 223 233) '(120 70 44) ) (list "Глубокое погружение" '(38 40 48) '(127 159 255) '(38 40 48) '(127 159 255) ) ) ) ) (end_list) (mode_tile "accept" 1) (action_tile "select" "(mode_tile \"accept\" 0)") (action_tile "cancel" "(done_dialog 0)") (action_tile "accept" "(setq what_select (get_tile \"select\"))(done_dialog 1)") (action_tile "help" "(alert \"Справка пока не доступна\")") (action_tile "info" "(done_dialog 2)") (setq what_next (start_dialog)) ) ((= 2 what_next) (new_dialog "ACS_ABOUT" dcl_id) (action_tile "accept" "(done_dialog 3)") (setq what_next (start_dialog)) ) ) ) (unload_dialog dcl_id) (if (= 1 what_next) (progn (prompt "\nПрименяю новую цветовую схему...") (setq dspl_obj (vla-get-display (vla-get-Preferences (vlax-get-acad-object))) slist (cdr (nth (atoi what_select) slist)) ) (vla-put-GraphicsWinModelBackgrndColor dspl_obj (conv slist)) (setq slist (cdr slist)) (vla-put-ModelCrosshairColor dspl_obj (conv slist)) (setq slist (cdr slist)) (vla-put-TextWinBackgrndColor dspl_obj (conv slist)) (setq slist (cdr slist)) (vla-put-TextWinTextColor dspl_obj (conv slist)) ) ) ) (alert "Невозможно загрузить диалог") ) (princ) ) (prompt "\nЦветовые схемы вкладки модель\nНаберите в командной стоке <ACS+[Enter]> для запуска приложения") (princ)
ACS_MAIN : dialog { key = "main"; label = "Цветовые схемы вкладки *Модель*"; : list_box { key = "select"; label = "Выбери из списка:"; } :row { fixed_width = true; ok_cancel_help_info; } } ACS_ABOUT : dialog { key = "about"; label = "О программе..."; : boxed_column { : paragraph { children_alignment = centered; : text_part {label = " Цветовые схемы 1.1 ";} : text_part {label = "";} : text_part {label = " БЕСПЛАТНАЯ ВЕРСИЯ ";} : text_part {label = "";} }} ok_only; }