Цветовые схемы вкладки модель
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > Цветовые схемы вкладки модель

Цветовые схемы вкладки модель

Ответ
Поиск в этой теме
Непрочитано 25.05.2010, 00:02 1 | #1
Цветовые схемы вкладки модель
gomer
 
строю, ломаю
 
Украина
Регистрация: 03.04.2008
Сообщений: 5,515

По просьбам трудящихся... вот:
Готовый модуль ищите здесь: http://dwg.ru/dnl/5976
Программа дает возможность применять цветовые схемы в Автокад (по типу WinAmp)

lsp:
Код:
[Выделить все]
(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)
dcl:

Код:
[Выделить все]
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;
}
Для развития программы пока нет сил
Хотелось бы что бы схемы загружлись из внешних файлов (*.lsp)
Просмотров: 26863
 
Непрочитано 25.05.2010, 00:05
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404


А развивать придется Хотя бы снять необходимость отдельного файла диалогового окна: http://autolisp.ru/2010/03/15/dcl-dialogs-create/
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 25.05.2010, 00:53
#3
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


>Кулик Алексей aka kpblc: Думаю в данном случае диалог предпочтительнее, возможно я ошибаюсь...
Насчет bricscad - отдельная тема
1. Диалог нужно создавать динамически, чтобы защитить код... (ненадежно если win-система барахлит, хотя у меня проблем с этим не было пока)
2. Цвета только индексные труколор пока не реализован (может сейчас ситуация изменилась - не тестировал)
В общем получается совсем другая программа
gomer вне форума  
 
Непрочитано 25.05.2010, 01:02
#4
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404


Вообще-то BricsCAD упоминался в качестве примера, ну да ладно. Основная идея - формировать файл диалога на лету:
Цитата:
Обратите внимание – конечный пользователь получает один (!) лисп, который по мере надобности создает файл диалога и корректно его отображает. Уже не надо беспокоиться о том, чтобы dcl-файл лежал в строго определенном месте.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 25.05.2010, 01:10
#5
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Основная идея - формировать файл диалога на лету
ага, что-то типа вот этого:
Код:
[Выделить все]
(defun DynDia ( / objScr objFile strFile dcl_id tmp strEnter)
  (vlax-invoke
	(setq
	  strEnter "Default"
	  objFile
	  (vlax-invoke
		(setq objScr (vla-getinterfaceobject (vlax-get-acad-object) "Scripting.FilesystemObject"))
		'CreateTextFile
		(setq strFile
			(strcat
				(vl-filename-directory (setq tmp (vl-filename-mktemp (getvar "DWGNAME"))))
				(vl-filename-base tmp)
				".dcl"
			)
		)
	  )
	)
	'Write
	(apply
	  'strcat
	  (mapcar
		'(lambda (x) (strcat x "\r\n"))
		'(
			"dlg : dialog {"
			"label = \"Dynamic Dialog Example\";"
			": boxed_column {"
			"label = \"Enter Data to process\";"
			":edit_box{edit_width = 16;key = \"Edit1\";label = \"Enter string: \";}"
			"}"
			"ok_only;"
			"}"
		)
	  )
	)
  )
  (vlax-invoke objFile 'Close)
  (mapcar 'vlax-release-object (list objScr objFile))
  (setq dcl_id (load_dialog strFile))
  (vl-file-delete strFile)
  (new_dialog "dlg" dcl_id)
  (set_tile "Edit1" strEnter)
  (action_tile "accept" "(setq strEnter (get_tile \"Edit1\"))")
  (start_dialog)
  (unload_dialog dcl_id)
  strEnter
)
Причем каждый раз происходит запись на диск...
gomer вне форума  
 
Непрочитано 25.05.2010, 01:54
#6
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404


Зачем обращаться к Scripting - лично я не очень понимаю...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 25.05.2010, 14:35
#7
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,413
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Зачем обращаться к Scripting - лично я не очень понимаю...
Я тоже. (open), (princ), (write-line), (close), и т.д. еще никто не отменял.
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 25.05.2010, 16:10
#8
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


>Александр Ривилис: Согласен с вами Хотя не знаю, что быстрее...
Дело в другом, Обратная схема работает немного коряво (ИМХО) с помощю функции (read-line fd) в цикле... (while или repeat)
Scripting.FileSystemObject позволяет сразу считать весь файл с помощью метода ReadAll

Код:
[Выделить все]
(defun _ReadTextFile (strFile / strFullName objScr objFile Result)
 (if (setq strFullName(findfile strFile))
   (setq
	objScr (vla-getinterfaceobject (vlax-get-acad-object) "Scripting.FilesystemObject")
	objFile(vlax-invoke-method objScr 'OpenTextFile strFullName 1 nil -2)
	Result (vlax-invoke objFile 'ReadAll)
	*dummy*(vlax-invoke objFile 'Close)
	*dummy*(mapcar 'vlax-release-object (list objFile objScr)))
  )

  Result
)
и дальше быстро преобразовать результат в список...
Это очень удобно при работе с форматом cdf
gomer вне форума  
 
Непрочитано 19.08.2011, 13:20
#9
Вовочка

пищевая технология
 
Регистрация: 02.06.2009
Киев
Сообщений: 283
<phrase 1=


gomer, хочу загрузить лиспом, но ничего не выходит. Почему?
Вовочка вне форума  
 
Автор темы   Непрочитано 20.08.2011, 04:15
#10
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


А что именно не выходит - то?
gomer вне форума  
 
Непрочитано 22.08.2011, 16:13
#11
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 805
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


Да все работает - замечательно, но хотелось бы свои наборы цветов.
А перекомпилировать я не могу из лиспа в начале топика, проставил свои цвета, даже *.VLX скомпилировал, он даже грузится, и выводит начальные строки типа введите ACS + enter и на этом далее тишина ...

Так, есть еще *.dcl файлик, но что с ним делать - выше моего понимания ...

Последний раз редактировалось perpetule, 22.08.2011 в 16:36.
perpetule вне форума  
 
Автор темы   Непрочитано 22.08.2011, 16:43
#12
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


а вводить acs в командной строке пробовали?
gomer вне форума  
 
Непрочитано 22.08.2011, 17:10 gomer
#13
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 805
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


Цитата:
Да все работает - замечательно, но хотелось бы свои наборы цветов.
Слишком большой контраст при классической теме напрягает глаза , белый фон вообще их убивает.
perpetule вне форума  
 
Автор темы   Непрочитано 22.08.2011, 19:56
#14
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


потому и классическая, что была долгие году "по умолчанию" в автокаде
а на белом фоне тоже многие любят чертить... я тоже с появлением нового стиля сетки склоняюсь к нему...
gomer вне форума  
 
Непрочитано 22.08.2011, 22:25 gomer
#15
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 805
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


Поменял цвета в исходном коде lsp, скомпилировал vlisp ом оба файла acs.lsp acs.dcl
Но выходной файл acs.vlx не функционирует...
perpetule вне форума  
 
Автор темы   Непрочитано 23.08.2011, 15:30
#16
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


прошу прощения за кривые ручки, но они не у меня... у меня все работает
Цитата:
Сообщение от perpetule Посмотреть сообщение
выходной файл acs.vlx не функционирует...
опишите подробно ваши действия!
gomer вне форума  
 
Непрочитано 23.08.2011, 18:07 gomer
#17
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 805
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


Кстати, попытался исходники без всяких изменений с моей стороны перекомпилировать в *.vlx - картина ровно такая же.

Пошагово - копи паст из листингов темы в файлы acs.lsp acs.dcl
_vlisp далее мастер новых приложений - создать - расширенный режим - пути обзором - подкидываю последовательно оба вышеназванных файла на выходе подлучаю acs.vlx котрый скармливаю автокаду, на совет набрать в ком строке acs + enter выполняю далее абсолютно ничего не происходит...
Скармливаю опять acs.vlx из http://dwg.ru/dnl/5976, все опять работает, но мне бы хотелось ваять свои наборы цветов, т.к. даже в течение дня неплохо было бы менять фон, матерчатые жалюзи не до конца солнышко гасят, а оно у нас в Волгограде очень неслабое.
perpetule вне форума  
 
Автор темы   Непрочитано 23.08.2011, 18:53
#18
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от perpetule Посмотреть сообщение
_vlisp далее мастер новых приложений - создать - расширенный режим - пути обзором - подкидываю последовательно оба вышеназванных файла на выходе подлучаю acs.vlx котрый скармливаю автокаду, на совет набрать в ком строке acs + enter выполняю далее абсолютно ничего не происходит...
Скармливаю опять acs.vlx из http://dwg.ru/dnl/5976, все опять работает
странно... у меня работает и компилированный вариант и просто лисп с диалогом... если в ком строке уже есть приглашение, значит загрузка прошла успешно...попробуйте загрузить лисп (некомпилированный) из папки которую видит акад... если у вас проблемы с акадом или что-то стоит еще, это может выплыть... попробуйте изменить название команды... и скомпилировать еще раз...
gomer вне форума  
 
Непрочитано 24.08.2011, 21:05 gomer
#19
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 805
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


Цитата:
попробуйте загрузить лисп (некомпилированный) из папки которую видит акад
Попробовал, результат такой же, папка прописана в путях доступа, вер. а. 2010
ACS.lsp
ACS.dcl

Файл *.dcl через меню автокада не грузится (нет такого типа расширений), но просто находится в той же папке.
Цитата:
попробуйте изменить название команды... и скомпилировать еще раз...
попробовал результат тото же.

Просьба к уважаемым лисперам, отпишитесь, будьте так добры, у кого нибудь работает лисп копи пастом из #1

Последний раз редактировалось perpetule, 24.08.2011 в 21:24.
perpetule вне форума  
 
Непрочитано 24.08.2011, 22:35
#20
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404


Работает, только что специально проверял на некомпилированном.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 25.08.2011, 00:07 gomer
#21
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 805
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


Кулик Алексей aka kpblc
Огромное спасибо.
Работает, все дело видимо в том, что копи паст я делал из сохраненных оперой страниц, сегодня попробовал копи пастить непосредственно из оперы онлайн и о чудо - все заработало. Лисп - крайне полезный - огромное спасибо, кроме того я так понимаю, с помощью *.vlx можно собрать в один файл многие часто используемые приложения на *.lsp коих набралось уже немало, надеюсь все же и самому влезть в программирование под свои нужды, но пока все некогда...
perpetule вне форума  
 
Автор темы   Непрочитано 31.08.2011, 19:15
#22
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Обновил программу до версии 2.0
Теперь можно использовать собственные цветовые схемы (в архиве присутствует тестовая схема)
Здесь предлагаю обсуждать свои предпочтения, выкладывать собственные схемы
gomer вне форума  
 
Непрочитано 23.09.2011, 09:06
#23
Вовочка

пищевая технология
 
Регистрация: 02.06.2009
Киев
Сообщений: 283
<phrase 1=


Здравствуйте. На мое предпочтение лучше читать белым по черному при этом имея черный экран. Золотая середина между классикой и негативом. Пожелание: когда выбираешь схему, хотелось бы при двойном ЛКМ что бы она задействовалась, а не нажимать "ОК". Дело не в скорости, а в удобстве. Спасибо.
Вовочка вне форума  
 
Автор темы   Непрочитано 24.09.2011, 11:43
#24
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от Вовочка Посмотреть сообщение
когда выбираешь схему, хотелось бы при двойном ЛКМ что бы она задействовалась, а не нажимать "ОК".
К сожалению, насколько мне известно, это невозможно по определению ввиду ограничения dcl
gomer вне форума  
 
Непрочитано 24.09.2011, 15:48
#25
Vov.Ka


 
Регистрация: 21.07.2008
Луцьк
Сообщений: 179


Цитата:
Сообщение от Вовочка Посмотреть сообщение
Пожелание: когда выбираешь схему, хотелось бы при двойном ЛКМ что бы она задействовалась
после
Код:
[Выделить все]
label = "Выбери из списка:";
добавить
Код:
[Выделить все]
allow_accept = true;
Vov.Ka вне форума  
 
Автор темы   Непрочитано 24.09.2011, 18:31
#26
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от Vov.Ka Посмотреть сообщение
после

Код:

label = "Выбери из списка:";
добавить

Код:

allow_accept = true;
И что это дает? allow_accept больше подходит для "кнопок", а не для списков, где выбирается всегда первый элемент
Не обрабатывает акад второй клик по элементу и все тут...
gomer вне форума  
 
Непрочитано 24.09.2011, 20:15
#27
_REGEN


 
Регистрация: 14.12.2010
Там, где мамонты жили ...
Сообщений: 224


Цитата:
Сообщение от gomer Посмотреть сообщение
Не обрабатывает акад второй клик по элементу и все тут...
А если так -
очень похоже на двойной клик.

Забыл сказать СПАСИБО gomer
Добавил в *.lsp свои цветовые схемы, и чуствую себя человеком.
Еще раз СПАСИБО!
__________________
Время – лучшее лекарство, лечит даже от жизни.

Последний раз редактировалось _REGEN, 24.09.2011 в 20:33.
_REGEN вне форума  
 
Непрочитано 24.09.2011, 22:44
#28
Vov.Ka


 
Регистрация: 21.07.2008
Луцьк
Сообщений: 179


Цитата:
Сообщение от gomer Посмотреть сообщение
И что это дает? allow_accept больше подходит для "кнопок", а не для списков, где выбирается всегда первый элемент
Не обрабатывает акад второй клик по элементу и все тут...
даже не знаю, что и скзать тогда
ну поробуйте, хотя бы...
Vov.Ka вне форума  
 
Автор темы   Непрочитано 25.09.2011, 00:35
#29
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Vov.Ka, попробуйте почитать об autolisp и dcl и вы поймете что мне нечего вам ответить к тому же я придерживаюсь мнения, что диалог должен иметь кнопки Ок и Отмена, иначе ошибка может стоить времени... Другой вопрос, может быть стоит добавить предпросмотр схем по клику на списке, но тогда при нажатии кнопки отмена придется восстанавливать исходную расцветку
gomer вне форума  
 
Непрочитано 25.09.2011, 02:27
#30
Vov.Ka


 
Регистрация: 21.07.2008
Луцьк
Сообщений: 179


Цитата:
Сообщение от gomer Посмотреть сообщение
Vov.Ka, попробуйте почитать об autolisp и dcl

не, лучше пойду в WoW поиграю
Vov.Ka вне форума  
 
Непрочитано 25.09.2011, 11:58
#31
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


gomer, Зря ты шумишь. Лучше попробуй. Человек тебе дело советует.
Код:
[Выделить все]
ACS_MAIN : dialog {
  key = "main";
  label = "Цветовые схемы вкладки *Модель*";
  : list_box {
	key = "select";
	label = "Выбери из списка:";
	allow_accept = true;
  }
  :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;
}
Dcl, конечно, ограниченный язык описания диалогов, но не на столько
Using double-click in a dcl list box
Dialog Boxes in Action
AutoLISP treasure chest
Can DCL be set to accept double clicks?
Double Click in a List_Box
Еще двойной клик можно анализировать по $reason. Оно в этом случае будет равно 4
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 30.09.2011 в 12:41.
VVA вне форума  
 
Автор темы   Непрочитано 25.09.2011, 14:31
#32
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от VVA Посмотреть сообщение
Зря ты шумишь. Лучше попробуй. Человек тебе дело советует.
действительно... запутали меня вовы... Vov.Ka правильно сказал, но остается вопрос, что делать с кнопкой Ок? Без нее дабл клик не работает (я собственно потому и кричал, что при проверке убрал ее, как хотел Вовочка). Кнопка более наглядна, но дабл клик удобен для уверенных пользователей... вобщем на неделе перезалью, наверное...
gomer вне форума  
 
Непрочитано 28.09.2011, 12:03
#33
semvb

Инженер-технолог
 
Регистрация: 18.11.2003
Мурманск
Сообщений: 180


Хорошая утилита, спасибо автору! Но можно ли как нибудь добавить в код еще и изменение цвета фона листа и курсора на листе?
semvb вне форума  
 
Автор темы   Непрочитано 28.09.2011, 14:37
1 | #34
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от semvb Посмотреть сообщение
можно ли как нибудь добавить в код еще и изменение цвета фона листа и курсора на листе?
Можно будет в следующей версии. Я планирую сделать схемы в формате xml.
gomer вне форума  
 
Непрочитано 28.09.2011, 15:31
#35
semvb

Инженер-технолог
 
Регистрация: 18.11.2003
Мурманск
Сообщений: 180


Цитата:
схемы в формате xml
xml - это параметры цветовой схемы окон? или полный код программы?
Можно ли будет настроить под себя и навесить макрос на кнопку?
Честно говоря, вполне устраивает lsp c dcl, как говорил Жванецкий, если и так хорошо, зачем еще лучше!
semvb вне форума  
 
Непрочитано 28.09.2011, 17:45
#36
Вовочка

пищевая технология
 
Регистрация: 02.06.2009
Киев
Сообщений: 283
<phrase 1=


Большое спасибо. Ждемс...
Вовочка вне форума  
 
Автор темы   Непрочитано 28.09.2011, 18:17
#37
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от semvb Посмотреть сообщение
xml - это параметры цветовой схемы окон? или полный код программы?
Ну, конечно же схемы будут храниться в формате xml. А сама пограмма останется лисп-приложением
gomer вне форума  
 
Непрочитано 29.09.2011, 08:55
#38
semvb

Инженер-технолог
 
Регистрация: 18.11.2003
Мурманск
Сообщений: 180


Большое спасибо. Ждем!
semvb вне форума  
 
Непрочитано 29.09.2011, 19:37
3 | #39
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Цитата:
Сообщение от gomer Посмотреть сообщение
Ну, конечно же схемы будут храниться в формате xml. А сама пограмма останется лисп-приложением
Мой вариант. Цветовые схемы хранятся в XML файле.
Доступны 2 команды:
ACS - применяет выбранную схему
GetShema - печатает в текстовом окне фрагмент настроек для xml файла текущей цветовой схемы.
xml файл должен находится в путях доступа

*Добавлено 2012-11-14 *
Обновлен архив добавлена функция для использования в макросах dwgru_put_schema_by_name
Пример
(dwgru_put_schema_by_name "D:\\dwgru_color_schema.xml" "Winter")
Файл находится на диске D: Схема - Winter
(dwgru_put_schema_by_name "dwgru_color_schema.xml" "Classic")
Файл находится в путях поддержки Схема - Classic
Важно!
Название схемы чувствительно к регистру! Должно быть точно таким, как в xml файле
Вложения
Тип файла: zip color sheme.zip (4.9 Кб, 94 просмотров)
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 16.11.2012 в 12:07.
VVA вне форума  
 
Автор темы   Непрочитано 29.09.2011, 21:23
#40
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от VVA Посмотреть сообщение
Мой вариант.
Я мог бы долго ругаться насчет кода #39, но меня давно удивляет способность таких Программистов, как VVA, kpblc... в коротких срок писать коды, которые сам б вынашивал гораздо дольше... За что им почет, респект и уважуха Что ж нужно парировать! Займусь этим на выходных
gomer вне форума  
 
Непрочитано 30.09.2011, 09:19
#41
semvb

Инженер-технолог
 
Регистрация: 18.11.2003
Мурманск
Сообщений: 180


Браво!!!
semvb вне форума  
 
Непрочитано 19.01.2012, 09:57
#42
semvb

Инженер-технолог
 
Регистрация: 18.11.2003
Мурманск
Сообщений: 180


В 2012 ACADе появились дополнительные настройки цветовых схем - например цвет фона и текста активной строчки командной строки. Хотелось бы дополнить файл с цветовыми схемами. Не подскажите, где хранятся настойки цветов [GraphicsWinModelBackgrndColor '(33 40 48)], [ModelCrosshairColor '(255 255 255)] и т.д.
semvb вне форума  
 
Непрочитано 19.01.2012, 18:42
#43
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


semvb, Если ты про код из #39, то в dwgru_color_schema.xml Нужно узнать как называется это свойство (по типу ModelCrosshairColor). Пусть, например, оно называется ModelCommandLineTextColor. Тогда в xml добавить строчку
Цитата:
<item lsp="(set_shema vla-put-ModelCommandLineTextColor '(33 33 33))"/>
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 19.01.2012, 19:16
#44
semvb

Инженер-технолог
 
Регистрация: 18.11.2003
Мурманск
Сообщений: 180


Как добавить строчки в dwgru_color_schema.xml понятно, имелось в виду именно узнать как называются нужные свойства (типа: ModelCommandLineTextColor, ModelCrosshairColor и т.п.)
semvb вне форума  
 
Непрочитано 19.01.2012, 19:54
#45
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Скопировать код ниже в командную строчку, нажать Enter, F2 и поищи там
Код:
[Выделить все]
(vlax-dump-Object(vla-get-display(vla-get-preferences(vlax-get-acad-object))) t)
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 20.01.2012 в 10:52. Причина: уточнение формултровки
VVA вне форума  
 
Непрочитано 19.01.2012, 20:10
#46
semvb

Инженер-технолог
 
Регистрация: 18.11.2003
Мурманск
Сообщений: 180


Чего-то не понял? F2 открывает текстовое окно, и где тут искать?

Файл адаптации загружен успешно. Группа адаптации: ACAD
Файл адаптации загружен успешно. Группа адаптации: CUSTOM
Файл адаптации загружен успешно. Группа адаптации: AUTOCADWS
Файл адаптации загружен успешно. Группа адаптации: MODELDOC
Файл адаптации загружен успешно. Группа адаптации: CONTENTEXPLORER
Файл адаптации загружен успешно. Группа адаптации: ACFUSION
Файл адаптации загружен успешно. Группа адаптации: EXPRESS
Файл адаптации загружен успешно. Группа адаптации: SPDS7
Файл адаптации загружен успешно. Группа адаптации: MENU
Файл адаптации загружен успешно. Группа адаптации: FORMAT
СПДС GraphiCS enabler loaded succesfully.
Подстановка [simplex.shx] вместо [svb.shx].
Выполняется регенерация модели.
_zoom
Укажите угол рамки, введите масштаб (nX или nXП), или
[Все/Центр/Динамика/Границы/Предыдущий/Масштаб/Рамка/Объект] <реальное время>:
_e Выполняется регенерация модели.
Утилиты меню AutoCAD загружены.
Команда: КОМСТР
Команда:
Команда:
Команда:
СПДС GraphiCS loaded succesfully.
Команда: _zoom
Укажите угол рамки, введите масштаб (nX или nXП), или
[Все/Центр/Динамика/Границы/Предыдущий/Масштаб/Рамка/Объект] <реальное время>:
_e Выполняется регенерация модели.
Команда:
semvb вне форума  
 
Непрочитано 20.01.2012, 10:51
#47
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Сначала вставить код в командную строчку, а а затем F2. Уточнил формулировку в #45
Цитата:
Команда:
(vlax-dump-Object(vla-get-display(vla-get-preferences(vlax-get-acad-object))) t)
; IAcadPreferencesDisplay: This object contains the options from the Display
tab on the Options dialog
; Значения свойств:
; Application (RO) = #<VLA-OBJECT IAcadApplication 00cdb528>
; AutoTrackingVecColor = неподдерживаемый тип результата: 19
; CursorSize = 100
; DisplayLayoutTabs = -1
; DisplayScreenMenu = 0
; DisplayScrollBars = 0
; DockedVisibleLines = 3
; GraphicsWinLayoutBackgrndColor = неподдерживаемый тип результата: 19
; GraphicsWinModelBackgrndColor = неподдерживаемый тип результата: 19
; HistoryLines = 400
; ImageFrameHighlight = 0
; LayoutCreateViewport = -1
; LayoutCrosshairColor = неподдерживаемый тип результата: 19
; LayoutDisplayMargins = -1
; LayoutDisplayPaper = -1
; LayoutDisplayPaperShadow = -1
; LayoutShowPlotSetup = 0
; MaxAutoCADWindow = 0
; ModelCrosshairColor = неподдерживаемый тип результата: 19
; ShowRasterImage = 0
; TextFont = "Courier New"
; TextFontSize = 10
; TextFontStyle = 0
; TextWinBackgrndColor = неподдерживаемый тип результата: 19
; TextWinTextColor = неподдерживаемый тип результата: 19
; TrueColorImages = -1
; XRefFadeIntensity = 50
; Нет методов
T
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 20.01.2012, 12:51
#48
semvb

Инженер-технолог
 
Регистрация: 18.11.2003
Мурманск
Сообщений: 180


Не выходит каменный цветок!
Цитата:
Команда:
(vlax-dump-Object(vla-get-display(vla-get-preferences(vlax-get-acad-object))) t)
; ошибка: no function definition: VLAX-GET-ACAD-OBJECT
semvb вне форума  
 
Непрочитано 20.01.2012, 17:40
#49
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404


Цитата:
Сообщение от semvb Посмотреть сообщение
Не выходит каменный цветок!
Offtop: А нечего было его глотать!
http://autolisp.ru/2010/06/09/no-fun...t-acad-object/
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 20.01.2012, 18:45
#50
semvb

Инженер-технолог
 
Регистрация: 18.11.2003
Мурманск
Сообщений: 180


Виват всем Гуру! Заработало!
Как бы хотелось успевать все знать!
semvb вне форума  
 
Непрочитано 21.02.2012, 15:47
#51
Traycho


 
Регистрация: 08.03.2005
Болгария
Сообщений: 5


А можно изменить фона /или цветовую схему/ только текущего чертежа, а не для всех открытых чертежей? Так как это происходит (версии 2008 и выше), ели "вручную" изменить в Tools->Options->Display->Colors->2D model space->Uniform background->Color для каждого чертежа. Или я чего-то не разбираюсь. /Извините если по русский не очень/
Traycho вне форума  
 
Непрочитано 21.02.2012, 17:59
#52
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Traycho, Может быть и можно, но я таких свойств (только для текущего чертежа) не нашел.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 19.09.2012, 14:09
#53
Вовочка

пищевая технология
 
Регистрация: 02.06.2009
Киев
Сообщений: 283
<phrase 1=


Суть вопроса. Работаю я с многими чертежами, разработанными разными людьми. Соответственно у одного рабочее место - черное, у другого белое ну и разные цветовые схемы. После перелопачивания огромного количества документов я понял, что в основной меняю цвета с классики на зиму. Получается, что диалогового окна данной программы мне не нужно. Хотелось бы иметь ОДНУ кнопочку с переключением с классики на зиму и обратно. Всем спасибо.
Вовочка вне форума  
 
Автор темы   Непрочитано 19.09.2012, 16:40
#54
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от Вовочка Посмотреть сообщение
Хотелось бы иметь ОДНУ кнопочку с переключением с классики на зиму
Перезалил архив, теперь вы можете сами создавать макросы для переключения схем. Команда acs работает из командной строки и не чувствительна к регистру, для вызова окошка используйте команду ddacs
gomer вне форума  
 
Непрочитано 04.10.2012, 09:57
#55
Вовочка

пищевая технология
 
Регистрация: 02.06.2009
Киев
Сообщений: 283
<phrase 1=


gomer, спасибо. Но не хочу прикручивать назад vlx. Понравился вариант от VVA. Может быть он чуть модифицирует свою программу (пост №39) под мои нужды Спасибо.
Вовочка вне форума  
 
Непрочитано 14.11.2012, 17:27
1 | #56
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Вовочка, Внес изменения в #39
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 14.11.2012, 18:50
#57
Вовочка

пищевая технология
 
Регистрация: 02.06.2009
Киев
Сообщений: 283
<phrase 1=


Можно ли 2 макроса прикрепить к одной кнопке по принципу "зима или классика"?
Вовочка вне форума  
 
Непрочитано 14.11.2012, 19:45
1 | #58
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Что-то типа такого
Код:
[Выделить все]
(dwgru_put_schema_by_name "dwgru_color_schema.xml"
  (if (eq(getvar "USERS1")"Winter") (setvar "USERS1" "Classic")(setvar "USERS1" "Winter")
 )
)
при желании можно и кнопку поменять
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 15.11.2012, 10:08
#59
Вовочка

пищевая технология
 
Регистрация: 02.06.2009
Киев
Сообщений: 283
<phrase 1=


большое спасибо. последняя просьба по даному вопросу - можно еще убить всплывающее окно замены цветовой схемы с звуковым сопровождением?
Вовочка вне форума  
 
Непрочитано 16.11.2012, 12:08
1 | #60
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Цитата:
Сообщение от Вовочка Посмотреть сообщение
большое спасибо. последняя просьба по даному вопросу - можно еще убить всплывающее окно замены цветовой схемы с звуковым сопровождением?
Обновил #39
Вместо
Код:
[Выделить все]
(setq *SHOW_MESSAGE* t) ;_показывать сообщения
Поставь
Код:
[Выделить все]
(setq *SHOW_MESSAGE* nil) ;_Не показывать сообщения
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 17.11.2012, 16:12
#61
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от VVA Посмотреть сообщение
Обновил #39
Возможно стоит обновить ещё раз: всё содержимое файла ReadMe.txt идёт в одну строку... Для того, чтобы прочитать, приходится самому сначала заниматься форматированием, добавляя недостающие пробелы и переносы строк. Если ваш txt-файл открывать в браузере - кажет нормально, но если заменить расширение txt на html - так же будет в одну строку.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 17.11.2012, 16:31
#62
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


hwd, Только что скачал на домашний компьютер. Открывал readme.txt notepad++ и просто notepad - текст выглядит нормально
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 17.11.2012, 16:51
#63
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от VVA Посмотреть сообщение
Открывал readme.txt notepad++ и просто notepad - текст выглядит нормально
Попробовал в Notepad++ - да, он показывает корректно... Но "виндовый" блокнот отображает так:



У меня Windows 8 x64.
Миниатюры
Нажмите на изображение для увеличения
Название: 17-11-2012 16-48-52.png
Просмотров: 506
Размер:	37.4 Кб
ID:	90606  
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 17.01.2014, 07:28
#64
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,680


Никто ли случайно из "местных топиковцев" не знает, как можно программно менять цвет динамической размерной линии? (Она же резиновая нить, она же rubber-band, она же dynamic dimension line). Для нее в Active-X такого свойства нет и в помине. Мои соображения и раскопки есть здесь, начиная с #64.
Ну и до кучи: как менять цвет вектора автоотслеживания? Конструкция наподобие
Код:
[Выделить все]
 (vla-put-AutoTrackingVecColor
	(vla-get-Display
		(vla-get-Preferences
			(vlax-get-acad-object)))
	(vlax-make-variant 12634758 19))
почему-то не отрабатывает. То ли меняет что-то, чего я так и не нашел, то ли ничего не меняет. У Полещука сказано, что AutoTrackingVecColor - это вообще свойство цвета маркера объектной привязки, но логики тут не видать: во-первых, по смыслу значений английских слов, это - все же более походит на вектор автоотслеживания, а во вторых, не наблюдается принадлежности к пространству модели/листа, а этот цвет в листе может отличаться от такового в модели (по аналогии с ModelCrosshairColor/LayoutCrosshairColor).
skkkk на форуме  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > Цветовые схемы вкладки модель



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Расчетная модель каркасного здания со стеновым заполнением aldt Расчетные программы 5 12.03.2012 08:45
Лира 9.6. Монолитный тоннель и модель грунта Митрич Лира / Лира-САПР 4 12.04.2010 05:38
Предложения по расчетным моделям сооружений aldt Расчетные программы 8 06.07.2009 17:53
Проектирование КЖ в объеме. Haos Другие CAD системы 265 20.06.2009 22:50