Дорисуйте остального попугая. Я не собирался в миллионный раз повторять уроки Блендера.
Моя цель выделить использование Blobby которое больше нигде не найти.
Примеры BJS и escad раньше можно было найти только зарывшись в исходники.
Draw the rest of the parrot. I wasn't going to repeat Blender tutorials for the
millionth time. My goal was to highlight the usage of Blobby that you can't
look up anywhere else.
Previously you would have to dig through sources to find any examples of
BJS and escad.
redCollaredLorikeet.bjs :
1
2
3
4
5
6
7
imp lori
loriBase
lori
keepSingleLayer lori Collection3
redCollaredLorikeet.escad :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
union ( r = 0) {
${loriU}
${loriWingU2}
${loriWingU2.opposite}
${loriTailU}
union ( r = 0) {
${loriRightLegU}
}
union ( r = 0) {
${loriRightLegU.opposite}
}
}
Скрипт BJS посылает группу "lori" в скрипт escad с целью получить неявную поверхность
"lori" в форме гномика попугая. Основным объектом, несущим в себе дополнительные
свойства, является "loriBase".
The BJS script sends "lori" group to the escad script to receive an implicit surface
in the shape of don't google this meme a parrot. The base object "loriBase"
carries custom properties.
loriBase["mesh_quality_full"]=0.001;
loriBase["rounding"]=0;
loriBase["toOpenSCAD"]=true;
loriBase["type"]="Sphere";
Свойства "toOpenSCAD" и "type" обязательны для всех объектов в группе
на посыл в openscad/extopenscad,
остальные учитываются только у основного объекта. Свойство "rounding"
устарело, и в большинстве случаев должно быть 0, его функцию теперь
выполняют свойства в escad. Свойство "mesh_quality_full" передаётся
в опцию -r extopenscad. Помимо "Sphere" свойство "type" может принимать
"Cylinder", "Cone" и "Cube". Обратите внимание что нулевая точка
(пространства координат объекта)
конуса и цилиндра в Блендере и openscad/extopenscad не совпадают
по умолчанию. В openscad/extopenscad она находится в центре основания
цилиндра или конуса, выставьте их в Блендере вручную.
Properties "toOpenSCAD" and "type" are mandatory for all objects in
a group that is to be sent to openscad/extopenscad. The rest are
only used for base objects. The "rounding" property is deprecated
and in most cases should be 0, use rounding properties in escad
instead. The "mesh_quality_full" property is inserted into -r option
of extopenscad. Instead of "Sphere" the "type" property could be
"Cylinder", "Cone" or "Cube". Do notice that origin points of a
cone or a cylinder in openscad/extopenscad missmatch the
default origin points in Blender.
Correct this in Blender by manualy
setting the origin points to the center of a base of a cone or
a cylinder.
Члены вида ${} в escad-е являются именами подгрупп группы
использованной в BJS. В примере "loriU", "loriWingU2",
"loriWingU2.opposite", и так далее, являются подгруппами "lori".
Можно отметить, что члены оканчивающиеся на .opposite получены из
соответствующих членов без такого окончания при помощи функции
makeOppositeSide(...) из
apply_custom_options.py или её вариантов.
The ${} entries of an escad are the names of the subgroups of
the group used by a BJS. For example "loriU", "loriWingU2",
"loriWingU2.opposite" and so on are the subgroups of "lori".
It's also worth noting that members ending with .opposite are
derived from the corresponding members without such ending by applying
the function makeOppositeSide(...) or one of its variants imported
from
apply_custom_options.py.
Команда keepSingleLayer происходит из времён, когда в Блендере ещё
были слои. Команда помещает объект на указанный слой, и убирает
его с остальных слоёв. В современном блендере эта команда работает
с коллекциями.
The "keepSingleLayer" command originates from the times when Blender
had layers. It puts the object onto the given layer and removes it from
all the other layers. In modern Blender this command works with collections.
За прошедшие годы я поднимал несколько зеркал этого сайта с целью
повышения доступности и отказоустойчивости. Вы имеете возможность оценить
степень актуальности зеркал по состоянию табличек.
Over the years I have spawned several mirrors of this site to improve
accessibility and fault-tolerance. The level of upkeep of the signs
corresponds to that of the mirrors.