Цвета и прозрачность в OpenSCAD – команда color()

В OpenSCAD цвета можно задавать с помощью функции color(). Эта функция принимает четыре аргумента: красный (R), зеленый (G), синий (B) и альфа-канал (A) компоненты цвета. Значения компонент задаются в диапазоне от 0 до 1.

// параметры в скобках, указывают цвет в модели RGB
// Последний параметр регулирует прозрачность цвета
color([0, 0, 1], 1)  cube(20);
Цвета и прозрачность в OpenSCAD - команда color()
Три варианта кубика

Задание цвета в OpenSCAD

Цвета в OpenSCAD задать несколькими способами.

Первый способ – модель RGB

Задача цвета путем модели RGB. Вот некоторые примеры цветов в OpenSCAD:

  1. Черный цвет: color([0, 0, 0]).
  2. Белый цвет: color([1, 1, 1]).
  3. Красный цвет: color([1, 0, 0]).
  4. Зеленый цвет: color([0, 1, 0]).
  5. Синий цвет: color([0, 0, 1]).
  6. Желтый цвет: color([1, 1, 0]).
  7. Фиолетовый цвет: color([1, 0, 1]).
  8. Голубой цвет: color([0, 1, 1]).

В этом примере создаются два куба, один красного синего, а другой – желтого.

// выводим синий куб
color([0, 0, 1], 1) cube([10, 10, 10], center = true);

// выводим фиолетовый куб, сдвинутый от центра на 20 единиц по оси Y
translate([0, 20, 0])
      color([1, 0, 1], 1)  
           cube([10, 10, 10], center = true);
Цвета и прозрачность в OpenSCAD - команда color()
Синий и фиолетовый кубики

Второй способ задания цвета – через HEX-значение

Цвета можно задавать и используя HEX-значения. Данная возможность стала доступной после активного развития WEB, где распространена именно такая кодировка цветов:

//Второй способ задания цвета ("#ff0000" - красный)
color("#ff0000", 1) cubе(20);

Третий способ задания цвета – через название цвета

Цвет в OpenSCAD можно задать, называя цвета согласно общепризнанным названиям. Для этого используют альтернативный вариант команды color():

color("blue", 1) cubе(20);

В этом случае название цвета пишется на английском в двойных кавычках. Названия цветов можно узнать из таблицы ниже:

Lavender
Thistle
Plum
Violet
Orchid
Fuchsia
Magenta
MediumOrchid
MediumPurple
BlueViolet
DarkViolet
DarkOrchid
DarkMagenta
Purple
Indigo
DarkSlateBlue
SlateBlue
MediumSlateBlue
Pink
LightPink
HotPink
DeepPink
MediumVioletRed
PaleVioletRed
Aqua
Cyan
LightCyan
PaleTurquoise
Aquamarine
Turquoise
MediumTurquoise
DarkTurquoise
CadetBlue
SteelBlue
LightSteelBlue
PowderBlue
LightBlue
SkyBlue
LightSkyBlue
DeepSkyBlue
DodgerBlue
CornflowerBlue
RoyalBlue
Blue
MediumBlue
DarkBlue
Navy
MidnightBlue
GreenYellow
Chartreuse
LawnGreen
Lime
LimeGreen
PaleGreen
LightGreen
MediumSpringGreen
SpringGreen
MediumSeaGreen
SeaGreen
ForestGreen
Green
DarkGreen
YellowGreen
OliveDrab
Olive
DarkOliveGreen
MediumAquamarine
DarkSeaGreen
LightSeaGreen
DarkCyan
Teal
Cornsilk
BlanchedAlmond
Bisque
NavajoWhite
Wheat
BurlyWood
Tan
RosyBrown
SandyBrown
Peru
Chocolate
SaddleBrown
Sienna
Brown
Maroon
IndianRed
LightCoral
Salmon
DarkSalmon
LightSalmon
Coral
Tomato
LightYellow
LemonChiffon
LightGoldenrodYellow
AntiqueWhite
Linen
LavenderBlush
MistyRose
PapayaWhip
Moccasin
PeachPuff
PaleGoldenrod
Khaki
DarkKhaki
DarkGoldenrod
Goldenrod
Gold
Yellow
DarkOrange
Orange
OrangeRed
Red
Crimson
FireBrick
DarkRed
White
Snow
Honeydew
MintCream
Azure
AliceBlue
GhostWhite
WhiteSmoke
Seashell
Beige
OldLace
FloralWhite
Ivory
Gainsboro
LightGrey
Silver
DarkGray
Gray
DimGray
LightSlateGray
SlateGray
DarkSlateGray
Black

Прозрачность объектов

Прозрачность объектов задается вторым параметром функции color(), отвечающим за альфа-канал, и задается в десятых и сотых от единицы ( обратите внимание, что необходимо использовать точку для указания сотых и десятых):

// Пример кубиков с разной степенью прозрачности
// Красный непрозрачный кубик
color([1, 0, 0], 1)  cube([10, 10, 10], center = true);

// На половину прозрачный зеленый
color("MediumTurquoise", 0.5)  cube([20, 20, 20], center = true);

// На 75% прозрачный синий
color("Blue", 0.25)  cube([30, 30, 30], center = true);

// На 90% прозрачный оранжевый
color("Orange", 0.1)  cube([40, 40, 40], center = true);
Цвета и прозрачность в OpenSCAD - команда color()
Вложенные кубы с разной степенью прозрачности

Используйте эти примеры, чтобы создавать интересные модели с разными цветами в OpenSCAD.

Оцените статью
( Пока оценок нет )
Комментарии: 1
  1. Пирамида Openscad

    Как всегда, качественный материал.

    Ваш ресурс стал для меня проверенным источником информации.
    Ценю ваш профессионализм и
    внимание к деталям. С нетерпением ожидаю свежих увлекательных материалов!

    Ответить
Добавить комментарии

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Цвета и прозрачность в OpenSCAD – команда color()
Булевы операции в OpenScad: union(), difference(), intersection()