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

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

Цветовая палитра раскрасок

Ответ
Поиск в этой теме
Непрочитано 09.08.2006, 18:25 #1
Цветовая палитра раскрасок
Frol
 
Москва
Регистрация: 09.08.2006
Сообщений: 1

Не получается подобрать нужный цвет для раскраски объектов (из-за разницы цвета на мониторе и при выводе на печать). Может быть, есть у кого-нибудь расширенная цветовая палитра (более 255 цветов, например DIC или DIC II и т.п.) которую можно распечатать и повесить перед глазами.
Просмотров: 9340
 
Непрочитано 09.08.2006, 18:55
#2
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Да, такая распечатка здорово помогает. У нас один архитектор за 2 месяца распечатал постепенно альбом цветов DIC (по несколько форматок А4 в день). Делал так: рисовал в AutoCAD'е несколько горизонтальных прямоугольников и заливал их по порядку цветами из альбома. Только вот болван, не в обиду будь ему сказано, вместо того, чтобы добавлять прямоугольники и, соответственно, цвета, он использовал одни и те же прямоугольники, заменяя в них заливку. Теперь придется заново выполнять эту работу, потому что листочки, распечатанные в 1 экземпляре, уже затерлись. Черт бы его побрал.
Profan вне форума  
 
Непрочитано 10.08.2006, 08:13
#3
Кулик Алексей aka kpblc
Moderator

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


> Profan : Я правильно понял, что фактически выполняется массив прямоугольников, и на каждый выполняется заливка типа SOLID с назначенным цветом от 1 до 255? Если да, то почему б не сделать лиспик на такое?
---
Добавлено:
Невнимательно прочитал первый пост. Дай закон формирования цвета штриховки, попробую что-нибудь придумать
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 10.08.2006, 08:59
#4
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Для kpblc.
Альбом цветов (COlorbook) DIC COLOR GUIDE(R) содержит 654 цвета начиная с DIC 1 до DIC 654.
Выражение для задания цвета может выглядеть так:
Код:
[Выделить все]
(command "_-COLOR" "_CO" "DIC COLOR GUIDE(R)" "DIC 1")
В принципе запросто можно составить программку для отрисовки прямоугольников в AutoCAD'е c использованием (repeat) и залить их.
Profan вне форума  
 
Непрочитано 10.08.2006, 09:31
#5
Кулик Алексей aka kpblc
Moderator

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


Ну вот, набросал по быстрому. Я не ковырял TrueColor, поэтому пришлось использовать command:
Код:
[Выделить все]
(defun setcolor	(/ adoc hat count)
  (vl-load-com)
  (setq	adoc  (vla-get-activedocument (vlax-get-acad-object))
	count 1
	) ;_ end of setq
  (vla-startundomark adoc)
  (foreach item (mapcar 'vlax-ename->vla-object
		       (vl-remove-if
			 'listp
			 (mapcar 'cadr (ssnamex (ssget '((0 . "LWPOLYLINE")))))
			 ) ;_ end of vl-remove-if
		       ) ;_ end of mapcar
    (command "_.-color"
	     "_col"
	     "dic color guide(r)"
	     (strcat "dic " (itoa count))
	     ""
	     ) ;_ end of command
    (setq
      hat (vla-addhatch
	    (vla-objectidtoobject adoc (vla-get-ownerid item))
	    achatchpatterntypepredefined
	    "SOLID"
	    :vlax-false
	    achatchobject
	    ) ;_ end of vla-addhatch
      ) ;_ end of setq
    (vla-appendouterloop
      hat
      (vlax-make-variant
	(vlax-safearray-fill
	  (vlax-make-safearray vlax-vbobject '(0 . 0))
	  (list item)
	  ) ;_ end of vlax-safearray-fill
	) ;_ end of vlax-make-variant
      ) ;_ end of vla-AppendOuterLoop
    (vla-evaluate hat)
    (setq count (1+ count))
    ) ;_ end of foreach
  (vla-endundomark adoc)
  (princ)
  ) ;_ end of defun
Ну под себя уже подзаточишь
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 10.08.2006, 12:47
#6
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Программа отрисовки палитры из альбома цветов DIC COLOR GUIDE(R).
Код:
[Выделить все]
(defun C:PAL_DIC ( / echo osm ramka pt1 pt2 ptt dy n colr prg)
(setq echo (getvar "CMDECHO"))
(setq osm (getvar "OSMODE"))
(setvar "CMDECHO" 0)
(setvar "OSMODE" 0)
(command "_-color" "7")
(command "_rectang" "0,0" "210,300")
(setq ramka (entlast))
(command "_-array" ramka "" "_R" 66 1 300)
(setq pt1 (list 15 5) pt2 (list 175 25) ptt (list 192.5 15) dy 30 n "1")
(repeat 654
        (setq colr (strcat "DIC " n))
        (command "_-color" "_CO" "DIC COLOR GUIDE(R)" colr)
        (command "_rectang" pt1 pt2)
        (setq prg (entlast))
        (command "_HATCH" "SOLID" prg "")
        (command "_-color" "7")
        (command "_TEXT" "_J" "_M" ptt "4" "0" colr)
        (setq n (itoa (1+ (atoi n))))
        (setq pt1 (list (car pt1) (+ (cadr pt1) 30)))
        (setq pt2 (list (car pt2) (+ (cadr pt2) 30)))
        (setq ptt (list (car ptt) (+ (cadr ptt) 30)))
) ; repeat
(setvar "CMDECHO" echo)
(setvar "OSMODE" osm)
(princ)
)
Эта программа не отрабатывает корректно, потому что в альбоме отсутствуют цвета 560 562 573 575 622-631. Как учесть это в цикле - пока не сообразил, поэтому привожу урезанный вариант для цветов с DIC 1 по DIC 559.
Код:
[Выделить все]
(defun C:PAL_DIC ( / echo osm ramka pt1 pt2 ptt dy n colr prg)
(setq echo (getvar "CMDECHO"))
(setq osm (getvar "OSMODE"))
(setvar "CMDECHO" 0)
(setvar "OSMODE" 0)
(command "_-color" "7")
(command "_rectang" "0,0" "210,300")
(setq ramka (entlast))
(command "_-array" ramka "" "_R" 56 1 300)
(setq pt1 (list 15 5) pt2 (list 175 25) ptt (list 192.5 15) dy 30 n "1")
(repeat 559
        (setq colr (strcat "DIC " n))
        (command "_-color" "_CO" "DIC COLOR GUIDE(R)" colr)
        (command "_rectang" pt1 pt2)
        (setq prg (entlast))
        (command "_HATCH" "SOLID" prg "")
        (command "_-color" "7")
        (command "_TEXT" "_J" "_M" ptt "4" "0" colr)
        (setq n (itoa (1+ (atoi n))))
        (setq pt1 (list (car pt1) (+ (cadr pt1) 30)))
        (setq pt2 (list (car pt2) (+ (cadr pt2) 30)))
        (setq ptt (list (car ptt) (+ (cadr ptt) 30)))
) ; repeat
(setvar "CMDECHO" echo)
(setvar "OSMODE" osm)
(princ)
)
Палитра отрисовывается в форматках А4 для удобства распечатки.
Profan вне форума  
 
Непрочитано 10.08.2006, 14:23
#7
Кулик Алексей aka kpblc
Moderator

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


Если еще интересно: функция возвращает список доступных индексов для указанной colorbook. Работает медленно, предупреждаю сразу.
Параметры вызова:
colorbook - имя книги цветов ("dic color guide(r)" или любая иная)
start-index - с какого номера начинать проверку
end-index - чем закончить
name-mask - маска имени (типа "dic ")
Возвращает список вида '(559 600 601)
(color-avail "dic color guide(r)" 620 635 "dic ") ; '(620 621 632 633 634)
Код:
[Выделить все]
(defun color-avail (colorbook start-index end-index name-mask / res obj counter)
  (setq	obj	(vla-getinterfaceobject
		  (vlax-get-acad-object)
		  (strcat "autocad.accmcolor"
			  (if (= (atoi (getvar "acadver")) 15)
			    ""
			    ".16"
			    ) ;_ end of if
			  ) ;_ end of strcat
		  ) ;_ end of vla-getinterfaceobject
	counter	start-index
	) ;_ end of setq
  (while (< counter end-index)
    (if	(not (vl-catch-all-apply
	       'vla-setcolorbookcolor
	       (list obj colorbook (strcat name-mask (itoa counter)))
	       ) ;_ end of vl-catch-all-apply
	     ) ;_ end of not
      (setq res (append res (list counter)))
      ) ;_ end of if
    (setq counter (1+ counter))
    ) ;_ end of while
  (if obj
    (vlax-release-object obj)
    ) ;_ end of if
  (setq obj nil)
  res
  ) ;_ end of defun
---
Добавлено. Тестировал на AutoCAD 2005 и 2006. На других версиях возможности проверить нет
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 10.08.2006, 14:48
#8
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Для kpblc.
Ну, у тебя какие-то исследовательские программы. А смысл-то темы в чем? Смысл в том, что хочется иметь на руках распечатанную палитру и с ее помощью назначать цвета объектам AutoCAD'а даже, если на экране цвет кажется другим. Вот как в цикл моей первой программы включить проверку на наличие цвета по порядку в альбоие? Т.е., если цвет присутствует, то цикл отрисовывает прямоугольник, заливает его и ставит название цвета, а если цвет отсутствует в альбоме, то эти операции пропускаются. Я полазил в словарях, но пока ничего не сообразил.
Profan вне форума  
 
Непрочитано 10.08.2006, 14:53
#9
Кулик Алексей aka kpblc
Moderator

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


Дык ента... Запускаешь обследователя, получаешь список возможных цветов в color_res, потом уже делаешь нечто (вместо repeat) типа
Код:
[Выделить все]
(foreach item color_res
(setq colr (strcat "dic " (itoa item)))
;;; И далее по тексту.
)
Или такое нафиг не надо?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 10.08.2006, 15:22
#10
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Смысл в таких исследованиях большой. Можно в результате сделать "кнопку", позволяющую быстро выбрать из по-человечески прокомментированного и проиллюстрированного списка "любимые" цвета для применения с материалами.

Например, "медная труба", "некрашеный прокат", "полипропилен" и т.п.

Это позволит не ковыряться в палитре, вечно забывая, где там спрятан подходящий цвет.

Распечатка образов на бумаге тоже безусловно необходимый, но частный случай. Только нужны и заливки и линии, так как воспринимаются по разному.

Оба молодцы!
ShaggyDoc вне форума  
 
Непрочитано 10.08.2006, 15:27
#11
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Для kpblc.
Ага, подумаю.
Profan вне форума  
 
Непрочитано 10.08.2006, 17:29
1 | #12
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Для kpblc.
Попробовал твой обозреватель с такими параметрами:
Код:
[Выделить все]
(color-avail "dic color guide(r)" 1 654 "dic ")
Программа работала достаточно долго, но выдала список цветов с теми же отсутствующими номерами, которые я уже раньше определил.
Ну, я не стал мудрствовать и в лоб записал прямое условие по отсутствующим цветам.
Теперь отрисовывается полная палитра.
Код:
[Выделить все]
(defun C:PAL_DIC ( / echo osm ramka pt1 pt2 ptt n dy colr prg)
(setq echo (getvar "CMDECHO"))
(setq osm (getvar "OSMODE"))
(setvar "CMDECHO" 0)
(setvar "OSMODE" 0)
(command "_-color" "7")
(command "_rectang" "0,0" "210,300")
(setq ramka (entlast))
(command "_-array" ramka "" "_R" 66 1 300)
(setq pt1 (list 15 5) pt2 (list 175 25) ptt (list 192.5 15) dy 30 n "1")
(repeat 654
    (if (and 
        (/= n "560") (/= n "562") (/= n "573") (/= n "575") (/= n "622") (/= n "623") (/= n "624")
        (/= n "625") (/= n "626") (/= n "627") (/= n "628") (/= n "629") (/= n "630") (/= n "631")
        )
        (progn
        (setq colr (strcat "DIC " n))
        (command "_-color" "_CO" "DIC COLOR GUIDE(R)" colr)
        (command "_rectang" pt1 pt2)
        (setq prg (entlast))
        (command "_HATCH" "SOLID" prg "")
        (command "_-color" "7")
        (command "_TEXT" "_J" "_M" ptt "4" "0" colr)
        ) ; progn
    ) ; if
        (setq n (itoa (1+ (atoi n))))
        (setq pt1 (list (car pt1) (+ (cadr pt1) 30)))
        (setq pt2 (list (car pt2) (+ (cadr pt2) 30)))
        (setq ptt (list (car ptt) (+ (cadr ptt) 30)))
) ; repeat
(setvar "CMDECHO" echo)
(setvar "OSMODE" osm)
(princ)
)
Profan вне форума  
 
Непрочитано 21.05.2011, 09:35 Спасибо профан
#13
zip13


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


Очень понравился ваш Лисп. Попробовал переделать его на RAL Design, но ничего не вышло.
В итоге мне нужно получить табличку в правом столбике название РАЛ в левом значение RGB (команда извлечение данных). Из вашего лиспа такая табличка легко делается. Но в палитре RAL лисп теряет цвета.

В автокаде все библиотеки цветов лежат в отдельных файликах. Но цвет ргб там зашифрован 9тью буквами (по 3 на составляющую) из этих файликов удалив весь лишний код (найти+заменить) можно получить названия всех цветов из библиотеки через запятую. Можно ли эти названия вставить в ваш лисп, чтобы он не терял цвета?
В итоге я хочу получить нормальные библиотеки цветов из Автокада с ргб значениями.

и еще, чтобы было легче извлекать данные нужно, чтобы название цвета писалось этим цветом.
Еще раз спасибо.
zip13 вне форума  
 
Непрочитано 22.05.2011, 10:21
#14
zip13


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


как переделать этот лисп под ral design?
zip13 вне форума  
 
Непрочитано 24.05.2011, 21:25
#15
zip13


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


Все! Разобралсо. Пришлось просто все текстовые значения из внешнего фаила подставлять. Получилось громоздко, зато цвета не пропускает. В итоге решил отцепить табличку от автокада и оформить в html код. Ссылки мои модератор удаляет, поэтому ищите по (архизона библиотека цветов)
Из автокада взял DIC COLOR GUIDE, DIC COLOR GUIDE PART II, RAL DESIGN. Можно было бы все таблицы цветов перекинуть, но решил не захламлять.

еще на сайте есть палитры RAL, PANTONE, PANTONEMETALLIC, TIKKURILA, TIKKURILA FACADE 2004TVT, CAPAROL3D SISTEM PLUS, Benjamin MoorePaints Color Collection Designer Classics, NCS INDEX EDITION 2, W3C Named Colors, Named Web Colors, Websafe Colors, TOYO, FOCOLTONE, TRUMATCH все с RGB значениями. можно переводить цвета из одной библиотеки в другую или по rgb найти ближайший.
Не сочтите за рекламу, просто кучу времени на это убил, надеюсь кому-нибудь пригодится. Если кому-нибудь другие библиотеки цветов понадобятся - могу залить. ))
zip13 вне форума  
 
Непрочитано 07.02.2012, 15:50
#16
sofiveter

Генплан
 
Регистрация: 04.02.2010
Москва
Сообщений: 28


Возможно ли скачать данные палитры на ноут?.
Пробовала сохранить страницу через Acrobat в pdf- ничего не вышло- отображается всё,кроме самих палитр.
sofiveter вне форума  
 
Непрочитано 08.02.2012, 13:48
#17
zip13


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


Распечать в пдф палитры скорее всего не получится, (если только принтскрином) а на ноут сохранить очень легко: страница---сохранить как---- веб страница полностью. При этом у вас уберется вся реклама со страницы, но нельзя будет из палитры в палитру переводить.
zip13 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Цветовая палитра раскрасок