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

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

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

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

По просьбам трудящихся... вот:
Готовый модуль ищите здесь: 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)
Просмотров: 20346
 
Непрочитано 25.05.2010, 00:05
#2
Кулик Алексей aka kpblc
Moderator

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


А развивать придется Хотя бы снять необходимость отдельного файла диалогового окна: http://autolisp.ru/2010/03/15/dcl-dialogs-create/
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 25.05.2010, 00:53
#3
gomer

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


>Кулик Алексей 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
С.-Петербург
Сообщений: 36,679


Вообще-то BricsCAD упоминался в качестве примера, ну да ладно. Основная идея - формировать файл диалога на лету:
Цитата:
Обратите внимание – конечный пользователь получает один (!) лисп, который по мере надобности создает файл диалога и корректно его отображает. Уже не надо беспокоиться о том, чтобы dcl-файл лежал в строго определенном месте.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 25.05.2010, 01:10
#5
gomer

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


Цитата:
Сообщение от Кулик Алексей 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
С.-Петербург
Сообщений: 36,679


Зачем обращаться к Scripting - лично я не очень понимаю...
__________________

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

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


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

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


>Александр Ривилис: Согласен с вами Хотя не знаю, что быстрее...
Дело в другом, Обратная схема работает немного коряво (ИМХО) с помощю функции (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
Киев
Сообщений: 281
<phrase 1=


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

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


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


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 809
<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,550


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


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


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

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


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


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


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

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


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


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 809
<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,550


Цитата:
Сообщение от 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
Волгоград
Сообщений: 809
<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
С.-Петербург
Сообщений: 36,679


Работает, только что специально проверял на некомпилированном.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум 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