3DCoatScripting  4.8.31Ξ²
Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ скриптинга ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ возмоТностями ΠšΠΎΡƒΡ‚Π° ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π».
πŸŒ€ Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ интСрфСйса ΠΈΠ· ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ²

Π’ 3DCoat-Π΅ ΠΌΠΎΠΆΠ½Π° ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ скриптов интСрфСйсныС классы с ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π°ΠΌΠΈ, ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ со сцСны, примСняя Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. НиТС ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ список классов Π² скриптС для создания интСрфСйса ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ² Π² ΡΠΊΡƒΠ»ΡŒΠΏΡ‚ ΠΊΠΎΠΌΠ½Π°Ρ‚Π΅.

НачнСм с ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов.

ПанСль инструмСнтов с ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π°ΠΌΠΈ

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ этот скрипт сСбС Π½Π° ΠΊΠΎΠΌΠΏ ΠΈ запусти ΠΈΠ· мСню 3DCoat: "Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт". Если Π½Π΅ знаСшь, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты, загляни сюда.

// access to debugging
Debug dbg;
DebugLog log = dbg.log();
void main() {
Coat coat;
log.clear();
// go to sculpt room
coat.room("Sculpt");
// go to primitives
UI ui;
ui("$SCULP_PRIM");
// voxel object
Vox vox1;
vox1.clearScene();
vox1.rename("Volume0");
//prepare the primitives tool
PrimitivesTool tool;
//create sphere obj
SpherePrim sphere = tool.sphere();
//create cube obj
CubPrim cube = tool.cube();
//create cylinder obj
CylinderPrim cylinder = tool.cylinder();
//create cone obj
ConePrim cone = tool.cone();
//create torus obj
TorusPrim torus = tool.torus();
float timeDelay = 2000; //delay 2 sec
//goto to sphere
tool.SetPrim("sphere");
sphere.Radius(50.0);
sphere.Position(Vec3(-400,-50,0));
// add sphere in the scene
tool.Apply(0);
//goto cylinder
tool.SetPrim("cylinder");
cylinder.radius(50.0);
cylinder.startPoint(Vec3(-300,0,0));
cylinder.endPoint(Vec3(-300,100,0));
// add cylinder in the scene
tool.Apply(0);
// goto cube
tool.SetPrim("cube");
Wait(timeDelay);
// goto cone
tool.SetPrim("cone");
// sets parameters
cone.startPoint(Vec3(-500,0,0));
cone.endPoint(Vec3(-500,100,0));
cone.radius(50);
// add cone in the scene
tool.Apply(0);
}

primitives-tool.png
Primitives Tool

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния скрипта смотри здСсь

PrimitivesTool tool;

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ `Π˜Π½ΡΡ‚ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ²` ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹.

Как ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹ Π² ΡΠΊΡƒΠ»ΡŒΠΏΡ‚ ΠΊΠΎΠΌΠ½Π°Ρ‚Π΅

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ классы:

Π‘Ρ„Π΅Ρ€Π°

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ этот скрипт сСбС Π½Π° ΠΊΠΎΠΌΠΏ ΠΈ запусти ΠΈΠ· мСню 3DCoat: "Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт". Если Π½Π΅ знаСшь, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты, загляни сюда.

void main() {
Coat coat;
// go to sculpt room
coat.room("Sculpt");
// voxel object
Vox vox1;
//clear the scene
vox1.clearScene();
vox1.rename("Volume4");
// go to primitives
UI ui;
ui("$SCULP_PRIM");
// prepare the primitives tool
PrimitivesTool tool;
// sphere object
SpherePrim sphere1;
//gets the sphere tool
sphere1 = tool.sphere();
// initializing parameters
sphere1.Position(Vec3(0.00,0.00,0.00));
sphere1.Radius(15.00);
// go tΠΎ the surface mode
vox1.toSurface();
//Change the radius and position
sphere1.Position(Vec3(-300.00,-12.00,369.07));
sphere1.Radius(74.72);
// add the sphere in the scene
// Zero equals the binary operation "add"
tool.Apply(0);
}
SpherePrim sphere = tool.sphere()
//Π’Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ для создания сфСры.

ВсС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, допустимыС для сфСры, моТСшь Π³Π»ΡΠ½ΡƒΡ‚ΡŒ здСсь.

sphere-prim.png
Sphere Primitive

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния скрипта смотри здСсь

ΠšΡƒΠ±

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ этот скрипт сСбС Π½Π° ΠΊΠΎΠΌΠΏ ΠΈ запусти ΠΈΠ· мСню 3DCoat: "Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт". Если Π½Π΅ знаСшь, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты, загляни сюда.

void main() {
Coat coat;
// ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΡΠΊΡƒΠ»ΡŒΠΏΡ‚-ΠΊΠΎΠΌΠ½Π°Ρ‚Ρƒ
coat.room("Sculpt");
// воксСль
Vox vox1;
// ΠΎΡ‡ΠΈΡ‰Π°Π΅ΠΌ сцСну
vox1.clearScene();
vox1.rename("Volume3");
// ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π°ΠΌ
UI ui;
ui("$SCULP_PRIM");
// ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ инструмСнт ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ²
PrimitivesTool tool;
// ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΡƒΠ±
CubPrim cube2;
cube2 = tool.cube();
// инициализация ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²
cube2.AxisX(Vec3(1.00,0.00,0.00));
cube2.AxisY(Vec3(0.00,1.00,0.00));
cube2.AxisZ(Vec3(0.00,0.00,1.00));
// ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ фаску
cube2.useFillet(false);
cube2.Position(Vec3(0.00,0.00,0.00));
cube2.SideA(30.00);
cube2.SideB(30.00);
cube2.SideC(30.00);
// ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² сурфСксный Ρ€Π΅ΠΆΠΈΠΌ
vox1.toSurface();
// Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ фаску
cube2.useFillet(true);
// ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ радиус
cube2.filletRadiusRelation(0.20);
cube2.filletRadius(14.41);
// ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ
cube2.Position(Vec3(-223.11,44.94,336.39));
// стороны
cube2.SideA(144.11);
cube2.SideB(144.11);
cube2.SideC(144.11);
cube2.details(0.38);
// Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΡƒΠ± Π² сцСну
tool.Apply(0);
}

ВсС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, допустимыС для ΠΊΡƒΠ±Π°, моТСшь Π³Π»ΡΠ½ΡƒΡ‚ΡŒ здСсь.

cube-prim.png
Cube Primitive

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния скрипта смотри здСсь

Еллипс

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ этот скрипт сСбС Π½Π° ΠΊΠΎΠΌΠΏ ΠΈ запусти ΠΈΠ· мСню 3DCoat: "Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт". Если Π½Π΅ знаСшь, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты, загляни сюда.

void main() {
Coat coat;
UI ui;
// ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΡΠΊΡƒΠ»ΡŒΠΏΡ‚-ΠΊΠΎΠΌΠ½Π°Ρ‚Ρƒ
coat.room("Sculpt");
//Ρ‰Ρ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ ΡΠΊΡƒΠ»ΡŒΠΏΡ‚-ΠΊΠΎΠΌΠ½Π°Ρ‚Ρƒ
SculptRoom sculpt;
sculpt.clear();
sculpt.toVoxel();
// ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²ΠΎΠΊΡΠ΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚
Vox vox1;
vox1.clearScene();
vox1.rename("Volume12");
// ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ инструмСнт ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ²
PrimitivesTool tool;
// ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π°ΠΌ
ui("$SCULP_PRIM");
// ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Сллипс
EllipsePrim ellipse3;
ellipse3 = tool.ellipse();
// инициализация ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²
ellipse3.Position(Vec3(-307.18,61.64,380.09));
ellipse3.SideA(40.82);
ellipse3.SideB(40.89);
ellipse3.SideC(108.31);
ellipse3.AxisX(Vec3(1.00,-0.04,-0.01));
ellipse3.AxisY(Vec3(0.04,0.99,0.15));
ellipse3.AxisZ(Vec3(0.00,-0.15,0.99));
// ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² сСрфиксный Ρ€Π΅ΠΆΠΈΠΌ
vox1.toSurface();
// ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ стороны
ellipse3.SideA(51.39);
ellipse3.SideB(51.48);
ellipse3.SideC(136.36);
// ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ
ellipse3.details(0.61);
// Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² сцСну
tool.Apply(0);
}

ellipse-prim.png
Ellipse Primitive

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния скрипта смотри здСсь

Π¦ΠΈΠ»ΠΈΠ½Π΄Ρ€

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ этот скрипт сСбС Π½Π° ΠΊΠΎΠΌΠΏ ΠΈ запусти ΠΈΠ· мСню 3DCoat: "Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт". Если Π½Π΅ знаСшь, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты, загляни сюда.

void main() {
Coat coat;
UI ui;
coat.room("Sculpt");
// ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ сцСну
SculptRoom sculpt;
sculpt.clear();
sculpt.toVoxel();
// ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ Π²ΠΎΠΊΡΠ΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚
Vox vox1;
vox1.clearScene();
vox1.rename("Volume3");
vox1.toSurface();
// ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ инструмСнт ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ²
PrimitivesTool tool;
ui("$SCULP_PRIM");
// ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ†ΠΈΠ»ΠΈΠ½Π΄Ρ€
CylinderPrim cylinder4;
cylinder4 = tool.cylinder();
cylinder4.useFillet(true);
cylinder4.filletRadiusRelation(0.20);
cylinder4.startPoint(Vec3(-280.98,23.17,236.68));
cylinder4.endPoint(Vec3(-292.61,159.80,242.19));
cylinder4.height(137.24);
cylinder4.radius(52.42);
cylinder4.topRadius(52.42);
cylinder4.bottomRadius(52.42);
cylinder4.scalex(1.00);
cylinder4.scaley(1.00);
cylinder4.details(0.69);
// Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ†ΠΈΠ»ΠΈΠ½Π΄Ρ€ Π² сцСну
tool.Apply(0);
cylinder4.startPoint(Vec3(-251.18,102.24,277.48));
cylinder4.endPoint(Vec3(-221.85,103.49,308.54));
cylinder4.height(42.73);
cylinder4.radius(27.30);
cylinder4.topRadius(27.30);
cylinder4.bottomRadius(27.30);
// Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ†ΠΈΠ»ΠΈΠ½Π΄Ρ€ Π² сцСну
tool.Apply(0);
cylinder4.startPoint(Vec3(-335.49,85.39,257.88));
cylinder4.endPoint(Vec3(-394.83,79.38,281.57));
cylinder4.height(64.17);
// Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ†ΠΈΠ»ΠΈΠ½Π΄Ρ€ Π² сцСну
tool.Apply(0);
cylinder4.startPoint(Vec3(-295.43,127.83,244.86));
cylinder4.endPoint(Vec3(-306.96,263.31,250.33));
cylinder4.height(136.08);
// Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ†ΠΈΠ»ΠΈΠ½Π΄Ρ€ Π² сцСну
tool.Apply(0);
}

cylinder-prim.png
Cylinder Primitive

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния скрипта смотри здСсь

ΠšΠΎΠ½ΡƒΡ

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ этот скрипт сСбС Π½Π° ΠΊΠΎΠΌΠΏ ΠΈ запусти ΠΈΠ· мСню 3DCoat: "Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт". Если Π½Π΅ знаСшь, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты, загляни сюда.

void main() {
Coat coat;
UI ui;
// ΠΈΠ΄Π΅ΠΌ Π² ΡΠΊΡƒΠ»ΡŒΠΏΡ‚-ΠΊΠΎΠΌΠ½Π°Ρ‚Ρƒ
coat.room("Sculpt");
//ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° сцСны
SculptRoom sculpt;
sculpt.toVoxel();
//ΠΎΡ‡ΠΈΡ‰Π°Π΅ΠΌ сцСну
Vox vox1;
vox1.clearScene();
vox1.rename("Volume1");
// ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ инструмСнт ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ²
PrimitivesTool tool;
// ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π°ΠΌ
ui("$SCULP_PRIM");
//ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ конус
ConePrim cone5;
cone5 = tool.cone();
// инициализация
cone5.startPoint(Vec3(0.00,0.00,0.00));
cone5.endPoint(Vec3(0.00,20.00,0.00));
cone5.height(20.00);
cone5.bottomRadius(10.00);
// ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹
cone5.useFillet(true);
cone5.filletRadiusRelation(0.20);
cone5.startPoint(Vec3(-285.69,-58.62,257.72));
cone5.endPoint(Vec3(-305.78,108.83,232.01));
cone5.height(170.60);
cone5.bottomRadius(74.79);
// Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² сцСну
tool.Apply(0);
}

cone-prim.png
Cone Primitive

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния скрипта смотри здСсь

ΠšΠ°ΠΏΡΡƒΠ»Π°

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ этот скрипт сСбС Π½Π° ΠΊΠΎΠΌΠΏ ΠΈ запусти ΠΈΠ· мСню 3DCoat: "Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт". Если Π½Π΅ знаСшь, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты, загляни сюда.

void main() {
Coat coat;
UI ui;
//ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΡΠΊΡƒΠ»ΡŒΠΏΡ‚-ΠΊΠΎΠΌΠ½Π°Ρ‚Ρƒ
coat.room("Sculpt");
// ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° сцСны
SculptRoom sculpt;
sculpt.toVoxel();
//ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρƒ
Vox vox1;
vox1.clearScene();
vox1.rename("Volume58");
// ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ инструмСнт ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ²
PrimitivesTool tool;
// ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π°ΠΌ
ui("$SCULP_PRIM");
// ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ капсула
CapsulePrim capsule16;
capsule16 = tool.capsule();
// Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹
capsule16.useDiameter(false);
// позиция
capsule16.startPoint(Vec3(-502.04,-138.54,138.58));
capsule16.endPoint(Vec3(-502.04,31.45,138.58));
capsule16.height(169.98);
capsule16.radius(41.13);
capsule16.topRadius(41.13);
capsule16.bottomRadius(41.13);
// ΠΌΠ°ΡΡˆΡ‚Π°Π±
capsule16.scalex(1.00);
capsule16.Cap1(1.00);
capsule16.scaley(1.00);
capsule16.Cap2(1.00);
capsule16.scalex(1.00);
capsule16.Cap1(1.00);
capsule16.scaley(1.00);
capsule16.Cap2(1.00);
// ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² повСрхностный Ρ€Π΅ΠΆΠΈΠΌ
vox1.to("Volume58");
vox1.toSurface();
// ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹
capsule16.startPoint(Vec3(-457.88,-216.68,227.52));
capsule16.endPoint(Vec3(-583.86,-116.64,64.04));
capsule16.height(229.36);
capsule16.radius(55.49);
capsule16.topRadius(55.49);
capsule16.bottomRadius(55.49);
capsule16.details(0.84);
// Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² сцСну
tool.Apply(0);
}

capsule-prim.png
Capsule Primitive

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния скрипта смотри здСсь

Π’Ρ€ΡƒΠ±Π°

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ этот скрипт сСбС Π½Π° ΠΊΠΎΠΌΠΏ ΠΈ запусти ΠΈΠ· мСню 3DCoat: "Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт". Если Π½Π΅ знаСшь, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты, загляни сюда.

void main() {
Coat coat;
UI ui;
//go to sculpt room
coat.room("Sculpt");
//prepare the scene
SculptRoom sculpt;
sculpt.toVoxel();
//clear the sculpt room
Vox vox1;
vox1.clearScene();
vox1.rename("Volume1");
//prepare the primitives tool
PrimitivesTool tool;
// go to primitives
ui("$SCULP_PRIM");
// goto surface mode
vox1.toSurface();
// create the tube obj
TubePrim tube7;
tube7 = tool.tube();
// init parameters
tube7.startPoint(Vec3(-223.68,3.57,222.30));
tube7.endPoint(Vec3(-230.67,118.01,173.44));
tube7.height(124.63);
tube7.radius(32.72);
tube7.WallThickness(16.36);
tube7.details(0.84);
// change parameters
tube7.useFillet(true);
tube7.Bevel(1,false);
tube7.Bevel(2,true);
tube7.filletRadiusRelation(0.20);
tube7.startPoint(Vec3(-227.87,-73.63,238.01));
tube7.endPoint(Vec3(-217.73,113.49,199.92));
tube7.height(191.24);
tube7.radius(50.20);
tube7.WallThickness(25.10);
tube7.details(0.57);
// add in the scene
tool.Apply(0);
}

tube-prim.png
Tube Primitive

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния скрипта смотри здСсь

ΠœΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊ

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ этот скрипт сСбС Π½Π° ΠΊΠΎΠΌΠΏ ΠΈ запусти ΠΈΠ· мСню 3DCoat: "Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт". Если Π½Π΅ знаСшь, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты, загляни сюда.

void main() {
Coat coat;
UI ui;
// ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΡΠΊΡƒΠ»ΡŒΠΏΡ‚ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρƒ
coat.room("Sculpt");
//ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ сцСну
SculptRoom sculpt;
sculpt.toVoxel();
//ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ сцСну
Vox vox1;
vox1.clearScene();
vox1.rename("Volume1");
// ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ инструмСнт ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ²
PrimitivesTool tool;
// ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π°ΠΌ
ui("$SCULP_PRIM");
// ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊ
NGonPrim ngon8;
ngon8 = tool.ngon();
// позиция
ngon8.startPoint(Vec3(238.79,-48.69,340.52));
ngon8.endPoint(Vec3(238.79,118.53,340.52));
// высота & радиус
ngon8.height(167.22);
ngon8.radius(68.07);
// ΠΊΠΎΠ»-Π²ΠΎ сторон
ngon8.Order(6);
// Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² сцСну
tool.Apply(0);
}

ngon-prim.png
NGon Primitive

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния скрипта смотри здСсь

ШСстСрСнка

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ этот скрипт сСбС Π½Π° ΠΊΠΎΠΌΠΏ ΠΈ запусти ΠΈΠ· мСню 3DCoat: "Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт". Если Π½Π΅ знаСшь, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты, загляни сюда.

void main() {
Coat coat;
UI ui;
// ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΡΠΊΡƒΠ»ΡŒΠΏΡ‚ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρƒ
coat.room("Sculpt");
// ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ сцСну
SculptRoom sculpt;
sculpt.toVoxel();
// ΠΎΡ‡ΠΈΡ‰Π°Π΅ΠΌ сцСну
Vox vox1;
vox1.clearScene();
vox1.rename("Volume1");
// ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ инструмСнт ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ²
PrimitivesTool tool;
// ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π°ΠΌ
ui("$SCULP_PRIM");
// ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡˆΠ΅ΡΡ‚Π΅Ρ€Π΅Π½ΠΊΡƒ
GearPrim gear9;
gear9 = tool.gear();
// позиция
gear9.startPoint(Vec3(0.00,0.00,0.00));
gear9.endPoint(Vec3(0.00,20.00,0.00));
// инициализация ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²
gear9.height(20.00);
gear9.radius(10.00);
gear9.Depth(0.10);
gear9.Sharpness(0.5);
gear9.Order(16);
// ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹
gear9.startPoint(Vec3(285.31,-181.30,495.22));
gear9.endPoint(Vec3(285.31,-33.71,478.45));
gear9.height(148.55);
gear9.radius(94.87);
// Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² сцСну
tool.Apply(0);
}

gear-prim.png
Gear Primitive

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния скрипта смотри здСсь

Π’ΠΎΠΊΠ°Ρ€Π½Ρ‹ΠΉ станок

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ этот скрипт сСбС Π½Π° ΠΊΠΎΠΌΠΏ ΠΈ запусти ΠΈΠ· мСню 3DCoat: "Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт". Если Π½Π΅ знаСшь, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты, загляни сюда.

void main() {
Coat coat;
// ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΡΠΊΡƒΠ»ΡŒΠΏΡ‚ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρƒ
coat.room("Sculpt");
// Π²ΠΎΠΊΡΠ΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚
Vox vox1;
// ΠΎΡ‡ΠΈΡ‰Π°Π΅ΠΌ сцСну
vox1.clearScene();
vox1.rename("Volume2");
// ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π°ΠΌ
UI ui;
ui("$SCULP_PRIM");
// ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ инструмСнт ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ²
PrimitivesTool tool;
// ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΎΠΊΠ°Ρ€Π½Ρ‹ΠΉ станок
LathePrim lathe10;
lathe10 = tool.lathe();
// ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ оси
lathe10.AxisX(Vec3(0.22,0.08,0.97));
lathe10.AxisY(Vec3(-0.09,0.99,-0.06));
lathe10.AxisZ(Vec3(-0.97,-0.07,0.23));
// ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ
lathe10.Position(Vec3(-141.10,35.58,306.22));
// стороны
lathe10.SideA(160.96);
lathe10.SideB(160.96);
lathe10.SideC(160.96);
// ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ цилиндричСский
lathe10.LatheType(0);
// ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ‚ΠΎΡ‡Π΅ΠΊ
lathe10.SetPoint(0,0.00,0.50,0);
lathe10.SetPoint(1,0.49,0.11,0);
lathe10.SetPoint(2,1.00,0.50,0);
// Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² сцСну
tool.Apply(0);
}

lathe-prim.png
Lathe Primitive

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния скрипта смотри здСсь

ВСкст

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ этот скрипт сСбС Π½Π° ΠΊΠΎΠΌΠΏ ΠΈ запусти ΠΈΠ· мСню 3DCoat: "Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт". Если Π½Π΅ знаСшь, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты, загляни сюда.

void main() {
Coat coat;
// go to sculpt room
coat.room("Sculpt");
// voxel object
Vox vox1;
//clear the sculpt room
vox1.clearScene();
vox1.rename("Volume2");
// go to primitives
UI ui;
ui("$SCULP_PRIM");
//create the font object
Font font;
//font parameters
font.Name("Arial");
font.Size(96);
font.Weight(400);
font.Style(0);
font.OutPrecision(3);
font.ClipPrecision(2);
font.CharSet(0);
font.Quality(4);
font.Family(34);
//prepare the primitives tool
PrimitivesTool tool;
//create the text object
TextPrim text11;
text11 = tool.text();
//sets text
text11.SetText("Sculpt room");
//axis transform
text11.AxisX(Vec3(0.77,0.00,-0.64));
text11.AxisY(Vec3(-0.34,0.85,-0.41));
text11.AxisZ(Vec3(0.54,0.53,0.65));
//position
text11.Position(Vec3(-293.23,132.34,210.24));
//sides
text11.SideA(174.53);
text11.SideB(174.53);
text11.SideC(17.45);
//rotation
text11.ExtraRotation(-21.60);
//bending
text11.Bend(false);
//add text object in the scene
tool.Apply(0);
}

text-prim.png
Text Primitive

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния скрипта смотри здСсь

Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ этот скрипт сСбС Π½Π° ΠΊΠΎΠΌΠΏ ΠΈ запусти ΠΈΠ· мСню 3DCoat: "Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт". Если Π½Π΅ знаСшь, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты, загляни сюда.

void main() {
Coat coat;
// ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΡΠΊΡƒΠ»ΡŒΠΏΡ‚ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρƒ
coat.room("Sculpt");
// Π²ΠΎΠΊΡΠ΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚
Vox vox1;
// ΠΎΡ‡ΠΈΡ‰Π°Π΅ΠΌ сцСну
vox1.clearScene();
vox1.rename("Volume3");
// ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π°ΠΌ
UI ui;
ui("$SCULP_PRIM");
// ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ инструмСнт ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ²
PrimitivesTool tool;
// ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅
ImagePrim image12;
image12 = tool.image();
image12.AxisX(Vec3(0.80,0.00,-0.60));
image12.AxisY(Vec3(0.00,1.00,0.00));
image12.AxisZ(Vec3(0.60,0.00,0.80));
// позиция ΠΈ стороны
image12.Position(Vec3(-257.19,0.00,282.29));
image12.SideA(128.02);
image12.SideB(128.02);
image12.SideC(12.80);
// Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅
image12.ExtraRotation(0.00);
// ΠΈΠ·Π³ΠΈΠ± Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ
image12.Bend(false);
ImageMeshParam imparam1;
// ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π² сцСну
imparam1.SizeInScene(100.00);
// ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Π΅Ρ€Ρ…Π½Π΅Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅
imparam1.Top("/images/Bracelet.png");
imparam1.TopBump("/images/Bracelet.png");
// ΡˆΠΈΡ€ΠΈΠ½Π° изобраТСния
imparam1.TopBottomWeight(0.70);
imparam1.BasicThickness(8.00);
imparam1.BumpThickness(8.00);
// Π·Π°ΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅
image12.PickImage();
// resize object
image12.SideA(91.12);
image12.SideB(91.12);
image12.SideC(9.11);
// Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² сцСну
tool.Apply(0);
}

image-prim.png
Image Primitive

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния скрипта смотри здСсь

ΠŸΡ€ΡƒΠΆΠΈΠ½Π°

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ этот скрипт сСбС Π½Π° ΠΊΠΎΠΌΠΏ ΠΈ запусти ΠΈΠ· мСню 3DCoat: "Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт". Если Π½Π΅ знаСшь, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты, загляни сюда.

void main() {
Coat coat;
UI ui;
// go to sculpt room
coat.room("Sculpt");
SculptRoom sculpt;
sculpt.toVoxel();
//gets vox obj
Vox vox1;
vox1.clearScene();
vox1.rename("Volume4");
PrimitivesTool tool;
// go to primitives
ui("$SCULP_PRIM");
// create the spiral
SpringPrim spring13;
spring13 = tool.spring();
// sets a position
spring13.Position(Vec3(-318.50,0.00,316.36));
spring13.Position2(Vec3(-318.50,2.00,316.40));
// scale
spring13.ScaleRadius(1.00);
spring13.OuterDiameter(67.96);
// sets the pitch
spring13.Pitch(33.98);
spring13.ProfileDiameter(16.99);
spring13.ProfileRadiusRelation(0.50);
// account turns
spring13.Turns(7);
// spiral direction
spring13.ClockWise(true);
// add the spiral in the scene
tool.Apply(0);
}

spiral-prim.png
Spiral Primitive

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния скрипта смотри здСсь

Π’ΠΎΡ€

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ этот скрипт сСбС Π½Π° ΠΊΠΎΠΌΠΏ ΠΈ запусти ΠΈΠ· мСню 3DCoat: "Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт". Если Π½Π΅ знаСшь, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты, загляни сюда.

void main() {
Coat coat;
UI ui;
// go to sculpt room
coat.room("Sculpt");
SculptRoom sculpt;
sculpt.toVoxel();
//gets vox obj
Vox vox1;
vox1.clearScene();
vox1.rename("Volume5");
PrimitivesTool tool;
// go to primitives
ui("$SCULP_PRIM");
// create the torus
TorusPrim torus14;
torus14 = tool.torus();
// init parameters
torus14.Position(Vec3(0.00,0.00,0.00));
torus14.SideA(30.00);
torus14.SideB(30.00);
torus14.SideC(30.00);
torus14.RadiusRelation(0.50);
torus14.OuterRadius(30.00);
torus14.InnerRadius(15.00);
torus14.ProfileRadius(7.50);
torus14.AxisX(Vec3(1.00,0.05,-0.04));
torus14.AxisY(Vec3(-0.05,1.00,0.05));
torus14.AxisZ(Vec3(0.04,-0.05,1.00));
// go to surface mode
vox1.toSurface();
// change parameters
torus14.Position(Vec3(-525.58,-37.10,196.04));
// sides
torus14.SideA(102.64);
torus14.SideB(102.64);
torus14.SideC(102.64);
// radius
torus14.OuterRadius(102.64);
torus14.InnerRadius(51.32);
torus14.ProfileRadius(25.66);
torus14.AxisX(Vec3(0.83,0.02,-0.56));
torus14.AxisY(Vec3(-0.01,1.00,0.02));
torus14.AxisZ(Vec3(0.56,-0.01,0.83));
// details level
torus14.details(0.81);
// add the torus in the scene
tool.Apply(0);
}

torus-prim.png
Torus Primitive

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния скрипта смотри здСсь

РСзьба

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ этот скрипт сСбС Π½Π° ΠΊΠΎΠΌΠΏ ΠΈ запусти ΠΈΠ· мСню 3DCoat: "Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт". Если Π½Π΅ знаСшь, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты, загляни сюда.

void main() {
Coat coat;
UI ui;
//ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΡΠΊΡƒΠ»ΡŒΠΏΡ‚ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρƒ
coat.room("Sculpt");
Vox vox1;
//ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ сцСну
vox1.clearScene();
vox1.rename("Volume3");
// ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² сурфСйсный ΠΏΠ΅Ρ€Π΅ΠΆΠΈΠΌ
vox1.toSurface();
// ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ инструмСнт ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ²
PrimitivesTool tool;
// ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹
ui("$SCULP_PRIM");
// ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡŒΠ±Ρƒ
ThreadPrim thread15;
thread15 = tool.thread();
// позиция
thread15.Position(Vec3(-416.06,-69.18,174.47));
// Π΄ΠΈΠ°ΠΌΠ΅Ρ‚Ρ€
thread15.Diameter(135.42);
thread15.Pitch(22.57);
thread15.Turns(10);
// ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ
thread15.Profile(ProfileType::TRIANGLE);
thread15.ClockWise(true);
thread15.StubHeight(4.51);
// сурфСйсный Ρ€Π΅ΠΆΠΈΠΌ
vox1.toSurface();
// ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ
thread15.details(0.59);
// Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² сцСну
tool.Apply(0);
}

screwthread-prim.png
Screw-Thread Primitive

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния скрипта смотри здСсь

Π‘Ρ‚Π΅Ρ€ΠΆΠ΅Π½ΡŒ с Ρ€Π΅Π·ΡŒΠ±ΠΎΠΉ

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ этот скрипт сСбС Π½Π° ΠΊΠΎΠΌΠΏ ΠΈ запусти ΠΈΠ· мСню 3DCoat: "Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт". Если Π½Π΅ знаСшь, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты, загляни сюда.

void main() {
Coat coat;
UI ui;
// go to sculpt room
coat.room("Sculpt");
Vox vox1;
// clear the scene
vox1.clearScene();
vox1.rename("Volume36");
// go to surface mode
vox1.toSurface();
// prepare the primitives tool
PrimitivesTool tool;
// go to primitives
ui("$SCULP_PRIM");
// create core thread object
CoreThreadPrim coreThread16;
coreThread16 = tool.corethread();
// position
coreThread16.Position(Vec3(-423.00,-51.63,202.36));
// length
coreThread16.Length(252.50);
// core diameter
coreThread16.Diameter(126.25);
// thread length
coreThread16.ThreadLength(168.33);
// pitch
coreThread16.Pitch(21.04);
// round type
coreThread16.Profile(ProfileType::ROUND);
// add in the scene
tool.Apply(0);
}

screwcorethread-prim.png
Screw-Thread With Core Primitive

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния скрипта смотри здСсь

Шляпка Π±ΠΎΠ»Ρ‚Π°

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ этот скрипт сСбС Π½Π° ΠΊΠΎΠΌΠΏ ΠΈ запусти ΠΈΠ· мСню 3DCoat: "Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт". Если Π½Π΅ знаСшь, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты, загляни сюда.

void main() {
Coat coat;
UI ui;
// ΠΈΠ΄Π΅ΠΌ Π² ΡΠΊΡƒΠ»ΡŒΠΏΡ‚-ΠΊΠΎΠΌΠ½Π°Ρ‚Ρƒ
coat.room("Sculpt");
Vox vox1;
//ΠΎΡ‡ΠΈΡ‰Π°Π΅ΠΌ сцСну
vox1.clearScene();
vox1.rename("Volume36");
vox1.toSurface();
// ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ инструмСнт ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ²
PrimitivesTool tool;
// ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π°ΠΌ
ui("$SCULP_PRIM");
// создаСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Π±ΠΎΠ»Ρ‚Π°
BoltHeadPrim bolthead17;
bolthead17 = tool.bolthead();
// Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ позиция
bolthead17.Position(Vec3(-366.07,0.00,196.40));
// ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ
bolthead17.HeadType(SHeadType::HEXA);
// ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΏΡ€ΠΎΡ€Π΅Π·ΡŒ
bolthead17.UseSlit(false);
bolthead17.Diameter(165.80);
bolthead17.Height(55.27);
// Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅ΠΌ ΠΏΡ€ΠΎΡ€Π΅Π·ΡŒ
bolthead17.UseSlit(true);
// Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Ρ‰Π΅Π»ΠΈ
bolthead17.SlitWidth(8.07);
bolthead17.SlitLength(120.39);
bolthead17.SlitHeight(5.00);
// Ρ€Π°Π·Ρ€Π΅Π·
bolthead17.SlitType(SSlitType::SLOT);
// добавляСм Π² сцСну
tool.Apply(0);
}

bolthead-prim.png
Bolt's head Primitive

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния скрипта смотри здСсь

Π‘ΠΎΠ»Ρ‚

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ этот скрипт сСбС Π½Π° ΠΊΠΎΠΌΠΏ ΠΈ запусти ΠΈΠ· мСню 3DCoat: "Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт". Если Π½Π΅ знаСшь, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты, загляни сюда.

void main() {
Coat coat;
UI ui;
// ΠΈΠ΄Π΅ΠΌ Π² ΠΊΠΎΠΌΠ½Π°Ρ‚Ρƒ Π»Π΅ΠΏΠΊΠΈ
coat.room("Sculpt");
Vox vox1;
// ΠΎΡ‡ΠΈΡ‰Π°Π΅ΠΌ сцСну
vox1.clearScene();
vox1.rename("Volume36");
vox1.toSurface();
// ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ инструмСнт ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ²
PrimitivesTool tool;
// ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π°ΠΌ
ui("$SCULP_PRIM");
// создаСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π±ΠΎΠ»Ρ‚Π°
BoltPrim bolt18;
bolt18 = tool.bolt();
// устанавливаСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ
bolt18.Custom();
// позиция
bolt18.Position(Vec3(-336.02,-80.03,161.63));
// Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Π±ΠΎΠ»Ρ‚Π° с ΡˆΠ΅ΡΡ‚ΠΈΠ³Ρ€Π°Π½Π½ΠΎΠΉ Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΉ
bolt18.HeadType(SHeadType::HEXA);
// ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°
bolt18.Profile(ProfileType::TRIANGLE);
// ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² повСрхностный Ρ€Π΅ΠΆΠΈΠΌ
vox1.toSurface();
// измСняСм ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ оси
bolt18.AxisX(Vec3(-0.01,-0.22,-0.97));
bolt18.AxisY(Vec3(0.93,0.36,-0.09));
bolt18.AxisZ(Vec3(0.37,-0.91,0.20));
bolt18.Diameter(281.71);
bolt18.Height(93.90);
bolt18.BodyLength(281.71);
bolt18.BodyDiameter(140.85);
bolt18.ThreadLength(187.81);
bolt18.Pitch(23.48);
// ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ
bolt18.details(0.32);
// добавляСм Π² сцСну
tool.Apply(0);
}

bolt-prim.png
Bolt Primitive

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния скрипта смотри здСсь

Π¨ΡƒΡ€ΡƒΠΏ

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ этот скрипт сСбС Π½Π° ΠΊΠΎΠΌΠΏ ΠΈ запусти ΠΈΠ· мСню 3DCoat: "Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт". Если Π½Π΅ знаСшь, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты, загляни сюда.

void main() {
Coat coat;
UI ui;
//go to sculpt room
coat.room("Sculpt");
Vox vox1;
//clear the scene
vox1.clearScene();
vox1.rename("Volume36");
vox1.toSurface();
//prepare the primitives tool
PrimitivesTool tool;
// go to primitives
ui("$SCULP_PRIM");
// create screw object
TapScrewPrim screw19;
screw19 = tool.tapscrew();
// sets custom mode
screw19.Custom();
// go to surface mode
vox1.toSurface();
// axises
screw19.AxisX(Vec3(0.03,0.03,-1.00));
screw19.AxisY(Vec3(0.98,0.18,0.03));
screw19.AxisZ(Vec3(0.18,-0.98,-0.03));
// init position
screw19.Position(Vec3(-239.87,-45.06,255.75));
//other parameters
screw19.HeadDiameter(210.99);
screw19.HeadHeight(70.33);
screw19.HeadType(SHeadType::BUGLE);
//enable slit
screw19.UseSlit(true);
screw19.SlitWidth(10.55);
screw19.SlitLength(216.26);
screw19.SlitHeight(17.58);
screw19.SlitType(SSlitType::SLOT);
screw19.Length(281.31);
screw19.Diameter(70.33);
screw19.UseThread(true);
screw19.UseGroove(false);
screw19.ThreadLength(210.99);
screw19.ThreadDiameter(84.39);
screw19.Pitch(17.58);
screw19.details(0.55);
// add screw in the scene
tool.Apply(0);
}

screw-prim.png
Screw Primitive

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния скрипта смотри здСсь

Π“Π°ΠΉΠΊΠ°

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ этот скрипт сСбС Π½Π° ΠΊΠΎΠΌΠΏ ΠΈ запусти ΠΈΠ· мСню 3DCoat: "Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт". Если Π½Π΅ знаСшь, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты, загляни сюда.

void main() {
Coat coat;
UI ui;
//go to sculpt room
coat.room("Sculpt");
//clear the sculpt room
Vox vox1;
vox1.clearScene();
vox1.rename("Volume36");
vox1.toSurface();
//prepare the primitives tool
PrimitivesTool tool;
// go to primitives
ui("$SCULP_PRIM");
// create nut object
NutPrim nut20;
nut20 = tool.nut();
// custom mode
nut20.Custom();
// init axises
nut20.AxisX(Vec3(-0.59,0.36,-0.72));
nut20.AxisY(Vec3(0.81,0.26,-0.53));
nut20.AxisZ(Vec3(-0.00,-0.89,-0.45));
// init position
nut20.Position(Vec3(-30,0,0));
//other parameters
nut20.Name("hexa");
nut20.Diameter(233.01);
nut20.Height(116.51);
nut20.HeadType(SNutType::HEXA);
nut20.ThreadDiameter(155.34);
nut20.Pitch(19.42);
nut20.Profile(ProfileType::TRIANGLE);
nut20.UseThread(true);
// go to surface mode
vox1.toSurface();
// sets the detail level
nut20.details(0.61);
// add in the scene
tool.Apply(0);
}

screwnut-prim.png
Screw-Nut Primitive

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния скрипта смотри здСсь

Π¨Π°ΠΉΠ±Π°

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ этот скрипт сСбС Π½Π° ΠΊΠΎΠΌΠΏ ΠΈ запусти ΠΈΠ· мСню 3DCoat: "Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт". Если Π½Π΅ знаСшь, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты, загляни сюда.

void main() {
Coat coat;
UI ui;
//go to sculpt room
coat.room("Sculpt");
//clear the sculpt room
Vox vox1;
vox1.clearScene();
vox1.rename("Volume36");
vox1.toSurface();
//prepare the primitives tool
PrimitivesTool tool;
// go to primitives
ui("$SCULP_PRIM");
// create screw washer
WasherPrim washer21;
washer21 = tool.washer();
// set custom mode
washer21.Custom();
// init parameters
washer21.Position(Vec3(-372.39,-60.71,-2.84));
washer21.Position2(Vec3(-372.39,-58.80,-2.24));
washer21.ScaleRadius(1.00);
washer21.Name("conus");
washer21.InnerDiameter(182.73);
washer21.OuterDiameter(365.46);
washer21.Thickness(31.84);
washer21.Height(47.75);
washer21.InnerDiameter2(301.79);
washer21.WasherType(SWasherType::CONUS);
washer21.details(0.61);
// change the parameters
washer21.Position(Vec3(-353.83,-60.71,-2.84));
washer21.Position2(Vec3(-353.83,-58.72,-2.22));
washer21.ScaleRadius(1.04);
washer21.InnerDiameter(190.18);
washer21.OuterDiameter(380.37);
washer21.Thickness(33.13);
washer21.Height(49.70);
washer21.InnerDiameter2(314.10);
// detail level
washer21.details(0.41);
// add screw washer in the scene
tool.Apply(0);
}

screwwasher-prim.png
Screw-Washer Primitive

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния скрипта смотри здСсь

ΠŸΠ»Π°Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ этот скрипт сСбС Π½Π° ΠΊΠΎΠΌΠΏ ΠΈ запусти ΠΈΠ· мСню 3DCoat: "Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт". Если Π½Π΅ знаСшь, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты, загляни сюда.

void main() {
Coat coat;
UI ui;
// ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΡΠΊΡƒΠ»ΡŒΠΏΡ‚ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρƒ
coat.room("Sculpt");
// ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ сцСну
SculptRoom sculpt;
sculpt.toVoxel();
// ΠΎΡ‡ΠΈΡ‰Π°Π΅ΠΌ сцСну
Vox vox1;
vox1.rename("Volume36");
vox1.toSurface();
// ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ инструмСнт ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ²
PrimitivesTool tool;
// ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π°ΠΌ
ui("$SCULP_PRIM");
// ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠ»Π°Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹
FreeFormPrim ff32;
ff32 = tool.freeform("Blob:Blob2x2");
ff32.Transform(false);
ff32.SymmetryX(false);
ff32.SymmetryY(false);
ff32.SymmetryZ(false);
// ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΠΈ
ff32.SetPoint(0,-51.67,-51.67,51.67);
ff32.SetPoint(1,-51.67,51.67,51.67);
ff32.SetPoint(2,51.67,51.67,51.67);
ff32.SetPoint(3,51.67,-51.67,51.67);
ff32.SetPoint(4,-51.67,-51.67,-51.67);
ff32.SetPoint(5,-51.67,51.67,-51.67);
ff32.SetPoint(6,51.67,51.67,-51.67);
ff32.SetPoint(7,51.67,-51.67,-51.67);
// 0 - индСкс of "Blob2x2"
ff32.SubPrim(0);
// ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ
ff32.details(0.26);
// ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Ρ‚ΠΎΡ‡ΠΊΠΈ
ff32.SetPoint(0,-97.98,-184.13,169.57);
ff32.SetPoint(1,-137.95,-23.70,192.67);
ff32.SetPoint(2,-75.81,-118.47,333.79);
ff32.SetPoint(3,25.56,-210.63,211.70);
ff32.SetPoint(4,-113.92,116.51,-214.19);
ff32.SetPoint(5,121.35,-253.16,-74.83);
ff32.SetPoint(6,172.05,6.77,-149.14);
ff32.SetPoint(7,125.49,-172.24,-62.55);
// Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² сцСну
tool.Apply(0);
}

freeform-prim.png
Free form Primitive

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния скрипта смотри здСсь

Как ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹ Π² Ρ€Π΅Ρ‚ΠΎΠΏΠΎ ΠΊΠΎΠΌΠ½Π°Ρ‚Π΅

We can use for creating primitives the following classes: Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ классы:

Π‘Ρ„Π΅Ρ€Π°

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ этот скрипт сСбС Π½Π° ΠΊΠΎΠΌΠΏ ΠΈ запусти ΠΈΠ· мСню 3DCoat: "Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт". Если Π½Π΅ знаСшь, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты, загляни сюда.

void main() {
Coat coat;
// go to retopo room
coat.room("Retopo");
// clear retopo
RetopoRoom retopo;
retopo.clear();
// prepare the primitive tool
PrimitivesTool tool;
coat.room("Retopo");
// go to primitives
cmd("$RTP_PRIM");
// create sphere
rGeoSphere rsphere22;
rsphere22 = tool.rsphere();
//init parameters
rsphere22.useDiameter(false);
rsphere22.Position(Vec3(-273.63,0.00,0.00));
rsphere22.Radius(10.00);
rsphere22.SubDivision(0);
// set positions
rsphere22.Position(Vec3(-252.48,80.03,0.00));
// set a radius
rsphere22.Radius(120.15);
// set a subvisision
rsphere22.SubDivision(5);
// add sphere in the scene
tool.Apply();
}
rsphere-prim.png
Sphere Primitive

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния скрипта смотри здСсь

ΠšΡƒΠ±

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ этот скрипт сСбС Π½Π° ΠΊΠΎΠΌΠΏ ΠΈ запусти ΠΈΠ· мСню 3DCoat: "Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт". Если Π½Π΅ знаСшь, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты, загляни сюда.

void main() {
Coat coat;
// ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² Ρ€Π΅Ρ‚ΠΎΠΏΠΎ
coat.room("Retopo");
// ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ сцСну
RetopoRoom retopo;
retopo.clear();
// ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ инструмСнт ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ²
PrimitivesTool tool;
coat.room("Retopo");
// ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π°ΠΌ
cmd("$RTP_PRIM");
// ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ бокс
rGeoBox rbox23;
rbox23 = tool.rbox();
// оси
rbox23.AxisX(Vec3(1.00,0.00,0.00));
rbox23.AxisY(Vec3(0.00,1.00,0.00));
rbox23.AxisZ(Vec3(0.00,0.00,1.00));
rbox23.useUniform(true);
// позиция
rbox23.Position(Vec3(-226.48,32.41,0.00));
// ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ стороны
rbox23.SideA(64.79);
rbox23.SideB(64.79);
rbox23.SideC(64.79);
// инициализация Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠΉ
rbox23.DivX(1);
rbox23.DivY(1);
rbox23.DivZ(1);
rbox23.AverageDivision(1);
// позиция
rbox23.Position(Vec3(-179.87,32.41,0.00));
// стороны
rbox23.SideA(85.72);
rbox23.SideB(85.72);
rbox23.SideC(85.72);
// раздСлСния
rbox23.DivX(7);
rbox23.DivY(7);
rbox23.DivZ(7);
rbox23.AverageDivision(7);
// Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ бокс Π² сцСну
tool.Apply();
}
rbox-prim.png
Box Primitive

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния скрипта смотри здСсь

Π¦ΠΈΠ»ΠΈΠ½Π΄Ρ€

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ этот скрипт сСбС Π½Π° ΠΊΠΎΠΌΠΏ ΠΈ запусти ΠΈΠ· мСню 3DCoat: "Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт". Если Π½Π΅ знаСшь, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты, загляни сюда.

void main() {
Coat coat;
// go to retopo room
coat.room("Retopo");
// clear retopo
RetopoRoom retopo;
retopo.clear();
// prepare the primitives tool
PrimitivesTool tool;
coat.room("Retopo");
// go to the primitives
cmd("$RTP_PRIM");
// create the cylinder
rGeoCylinder rcylinder24;
rcylinder24 = tool.rcylinder();
// init flags
rcylinder24.useDiameter(false);
rcylinder24.useFillet(false);
rcylinder24.RemoveCaps(false);
rcylinder24.useUniform(true);
// init positions
rcylinder24.startPoint(Vec3(-145.07,0.00,0.00));
rcylinder24.endPoint(Vec3(-145.07,20.00,0.00));
// init height,radius,topRadius,bottomRadius
rcylinder24.height(20.00);
rcylinder24.radius(10.00);
rcylinder24.topRadius(10.00);
rcylinder24.bottomRadius(10.00);
// init divisions
rcylinder24.DivY(3);
rcylinder24.DivX(1);
rcylinder24.DivZ(5);
rcylinder24.AverageDivision(3);
// change positions
rcylinder24.startPoint(Vec3(-145.07,-101.38,0.00));
rcylinder24.endPoint(Vec3(-145.07,45.82,0.00));
// sets height
rcylinder24.height(147.20);
// sets radius,topRadius,bottomRadius
rcylinder24.radius(72.82);
rcylinder24.topRadius(72.82);
rcylinder24.bottomRadius(72.82);
// sets divisions
rcylinder24.DivY(13);
rcylinder24.DivX(3);
rcylinder24.DivZ(20);
rcylinder24.AverageDivision(12);
// add in the scene
tool.Apply();
}
rcylinder-prim.png
Cylinder Primitive

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния скрипта смотри здСсь

ΠšΠΎΠ½ΡƒΡ

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ этот скрипт сСбС Π½Π° ΠΊΠΎΠΌΠΏ ΠΈ запусти ΠΈΠ· мСню 3DCoat: "Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт". Если Π½Π΅ знаСшь, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты, загляни сюда.

void main() {
Coat coat;
// go to retopo room
coat.room("Retopo");
// clear the room
RetopoRoom retopo;
retopo.clear();
// prepare the primitives tool
PrimitivesTool tool;
coat.room("Retopo");
cmd("$RTP_PRIM");
// create the cone
rGeoCone rcone25;
rcone25 = tool.rcone();
// init flags
rcone25.useDiameter(false);
rcone25.useFillet(false);
rcone25.useUniform(true);
// init start & end position
rcone25.startPoint(Vec3(0.00,0.00,0.00));
rcone25.endPoint(Vec3(0.00,20.00,0.00));
// height
rcone25.height(20.00);
rcone25.bottomRadius(10.00);
// scales = 1
rcone25.scalex(1.00);
rcone25.scaley(1.00);
// divisions
rcone25.DivY(5);
rcone25.DivX(1);
rcone25.DivZ(4);
rcone25.AverageDivision(3);
// sets fillet to "true"
rcone25.useFillet(true);
// sets fillet radius
rcone25.filletRadiusRelation(0.34);
rcone25.filletRadius(16.61);
// sets the positions
rcone25.startPoint(Vec3(-50.17,0.00,106.16));
rcone25.endPoint(Vec3(-50.17,161.35,106.16));
// sets the height
rcone25.height(161.35);
// sets the bottom radius
rcone25.bottomRadius(75.93);
// sets the count of divisions
rcone25.DivY(19);
rcone25.DivX(2);
rcone25.DivZ(14);
rcone25.AverageDivision(12);
// add in the scene
tool.Apply();
}
rcone-prim.png
Cone Primitive

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния скрипта смотри здСсь

Еллипс

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ этот скрипт сСбС Π½Π° ΠΊΠΎΠΌΠΏ ΠΈ запусти ΠΈΠ· мСню 3DCoat: "Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт". Если Π½Π΅ знаСшь, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты, загляни сюда.

void main() {
Coat coat;
// go to Retopo room
coat.room("Retopo");
// clear retopo
RetopoRoom retopo;
retopo.clear();
//prepare the primitives tool
PrimitivesTool tool;
coat.room("Retopo");
// go to primitives
cmd("$RTP_PRIM");
// create the ellipse
rGeoEllipse rellipse26;
rellipse26 = tool.rellipse();
// init axes & position
rellipse26.AxisX(Vec3(1.00,-0.04,0.04));
rellipse26.AxisY(Vec3(0.04,1.00,-0.04));
rellipse26.AxisZ(Vec3(-0.04,0.05,1.00));
rellipse26.Position(Vec3(-279.27,11.38,-12.08));
// init sided
rellipse26.SideA(30.00);
rellipse26.SideB(30.00);
rellipse26.SideC(62.75);
// change axes
rellipse26.AxisX(Vec3(0.34,0.03,0.94));
rellipse26.AxisZ(Vec3(-0.94,0.06,0.34));
// change position
rellipse26.Position(Vec3(-283.85,16.57,98.84));
// add in the scene
tool.Apply();
}
rellipse-prim.png
Ellipse Primitive

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния скрипта смотри здСсь

Π’ΠΎΡ€

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ этот скрипт сСбС Π½Π° ΠΊΠΎΠΌΠΏ ΠΈ запусти ΠΈΠ· мСню 3DCoat: "Script / Run Script". Don't know how to do that, check here.

void main() {
Coat coat;
// go to the retopo room
coat.room("Retopo");
// clear the room
RetopoRoom retopo;
retopo.clear();
// prepare the primitives tool
PrimitivesTool tool;
coat.room("Retopo");
// go to the primitives
cmd("$RTP_PRIM");
// create the torus
rGeoTorus rtorus27;
rtorus27 = tool.rtorus();
// init axes
rtorus27.AxisX(Vec3(1.00,0.00,0.00));
rtorus27.AxisY(Vec3(0.00,1.00,0.00));
rtorus27.AxisZ(Vec3(0.00,0.00,1.00));
// set a uniform flag
rtorus27.useUniform(true);
// init position
rtorus27.Position(Vec3(0.00,0.00,0.00));
// init sides
rtorus27.SideA(30.00);
rtorus27.SideB(30.00);
rtorus27.SideC(30.00);
// init radius relation
rtorus27.RadiusRelation(0.50);
// init a outer,inner and profile radius
rtorus27.OuterRadius(30.00);
rtorus27.InnerRadius(15.00);
rtorus27.ProfileRadius(7.50);
// set a default division
rtorus27.AverageDivision(3);
// set the axes
rtorus27.AxisY(Vec3(0.00,0.28,-0.96));
rtorus27.AxisZ(Vec3(0.00,0.96,0.28));
// set the position
rtorus27.Position(Vec3(-194.37,-15.59,52.99));
// set a sides
rtorus27.SideA(112.28);
rtorus27.SideB(112.28);
rtorus27.SideC(112.28);
// set a outer, inner and profile radius
rtorus27.OuterRadius(112.28);
rtorus27.InnerRadius(56.14);
rtorus27.ProfileRadius(28.07);
// set an average division
rtorus27.AverageDivision(27);
// add torus in the scene
tool.Apply();
}
rtorus-prim.png
Torus Primitive

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния скрипта смотри здСсь

ΠšΠ°ΠΏΡΡƒΠ»Π°

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ этот скрипт сСбС Π½Π° ΠΊΠΎΠΌΠΏ ΠΈ запусти ΠΈΠ· мСню 3DCoat: "Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт". Если Π½Π΅ знаСшь, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты, загляни сюда.

void main() {
Coat coat;
// go to retopo room
coat.room("Retopo");
// clear
RetopoRoom retopo;
retopo.clear();
// prepare the primitives room
PrimitivesTool tool;
coat.room("Retopo");
// go to primitives
cmd("$RTP_PRIM");
// create the capsule
rGeoCapsule rcapsule28;
rcapsule28 = tool.rcapsule();
// init parameters
rcapsule28.useDiameter(false);
rcapsule28.useUniform(true);
// positions
rcapsule28.startPoint(Vec3(0.00,0.00,0.00));
rcapsule28.endPoint(Vec3(0.00,20.00,0.00));
// height
rcapsule28.height(20.00);
// radius
rcapsule28.radius(10.00);
rcapsule28.topRadius(10.00);
rcapsule28.bottomRadius(10.00);
// scales & caps
rcapsule28.scalex(1.00);
rcapsule28.Cap1(1.00);
rcapsule28.scaley(1.00);
rcapsule28.Cap2(1.00);
// divisions
rcapsule28.DivY(2);
rcapsule28.DivZ(6);
rcapsule28.DivX(1);
rcapsule28.AverageDivision(3);
// sets the start & end positions
rcapsule28.startPoint(Vec3(-27.64,-37.33,156.80));
rcapsule28.endPoint(Vec3(-54.29,101.93,125.67));
// sets the height
rcapsule28.height(145.17);
// sets the radius
rcapsule28.radius(66.11);
rcapsule28.topRadius(66.11);
rcapsule28.bottomRadius(66.11);
// sets the count of divisions
rcapsule28.DivY(14);
rcapsule28.DivZ(39);
rcapsule28.DivX(10);
rcapsule28.AverageDivision(21);
// add in the scene
tool.Apply();
}
rcapsule-prim.png
Capsule Primitive

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния скрипта смотри здСсь

Π’Ρ€ΡƒΠ±Π°

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ этот скрипт сСбС Π½Π° ΠΊΠΎΠΌΠΏ ΠΈ запусти ΠΈΠ· мСню 3DCoat: "Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт". Если Π½Π΅ знаСшь, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты, загляни сюда.

void main() {
Coat coat;
// go to the retopo room
coat.room("Retopo");
// clear room
RetopoRoom retopo;
retopo.clear();
// prepare the primitives tool
PrimitivesTool tool;
coat.room("Retopo");
// go to primitives
cmd("$RTP_PRIM");
// create the tube
rGeoTube rtube29;
rtube29 = tool.rtube();
// init flags
rtube29.useDiameter(false);
rtube29.useFillet(false);
rtube29.useUniform(true);
// init start & end points
rtube29.startPoint(Vec3(0.00,0.00,188.41));
rtube29.endPoint(Vec3(0.00,119.83,188.41));
// set a height
rtube29.height(119.83);
// set a radius
rtube29.radius(85.30);
// set a top radius
rtube29.topRadius(85.30);
// set a bottom radius
rtube29.bottomRadius(85.30);
// set a wall thickness
rtube29.WallThickness(42.65);
// set scales to "1"
rtube29.scalex(1.00);
rtube29.scaley(1.00);
// set the number of divisions
rtube29.DivY(7);
rtube29.DivX(1);
rtube29.DivZ(16);
rtube29.AverageDivision(8);
// add in the scene
tool.Apply();
}
rtube-prim.png
Tube Primitive

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния скрипта смотри здСсь

ΠœΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊ

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ этот скрипт сСбС Π½Π° ΠΊΠΎΠΌΠΏ ΠΈ запусти ΠΈΠ· мСню 3DCoat: "Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт". Если Π½Π΅ знаСшь, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты, загляни сюда.

void main() {
Coat coat;
// go to retopo room
coat.room("Retopo");
// clear retopo room
RetopoRoom retopo;
retopo.clear();
// prepare the primitives room
PrimitivesTool tool;
coat.room("Retopo");
// go to primitives
cmd("$RTP_PRIM");
// create the n-gon
rGeoNGon rngon30;
rngon30 = tool.rngon();
// init flags
rngon30.useDiameter(false);
rngon30.useFillet(true);
rngon30.useUniform(false);
// set a bevel to "true"
rngon30.Bevel(1,true);
rngon30.Bevel(2,true);
// set a fillet(bevel) radiuses
rngon30.filletRadiusRelation(0.02);
rngon30.filletRadius(0.34);
// set the positions
rngon30.startPoint(Vec3(-34.32,-54.38,124.74));
rngon30.endPoint(Vec3(-18.28,125.10,124.74));
// set height, radius, topRadius, bottomRadius
rngon30.height(180.20);
rngon30.radius(73.82);
rngon30.topRadius(73.82);
rngon30.bottomRadius(73.82);
// set the number of edges (order)
rngon30.Order(15);
// number of segment for fillet
rngon30.FilletSegs(1);
// set the divisions
rngon30.DivY(14);
rngon30.DivX(5);
rngon30.DivZ(4);
// add in the scene
tool.Apply();
}
rngon-prim.png
NGon Primitive

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния скрипта смотри здСсь

ΠŸΡ€ΡƒΠΆΠΈΠ½Π°

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ этот скрипт сСбС Π½Π° ΠΊΠΎΠΌΠΏ ΠΈ запусти ΠΈΠ· мСню 3DCoat: "Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт". Если Π½Π΅ знаСшь, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты, загляни сюда.

void main() {
Coat coat;
// go to the retopo room
coat.room("Retopo");
// clear room
RetopoRoom retopo;
retopo.clear();
// prepare the primitives room
PrimitivesTool tool;
coat.room("Retopo");
// go to the primitives
cmd("$RTP_PRIM");
// create the spiral
rGeoSpiral rspiral31;
rspiral31 = tool.rspiral();
// init the axes
rspiral31.AxisX(Vec3(0.00,-0.49,-0.87));
rspiral31.AxisY(Vec3(1.00,0.00,0.00));
rspiral31.AxisZ(Vec3(0.00,-0.87,0.49));
// uniform is 'true'
rspiral31.useUniform(true);
// set the positions
rspiral31.Position(Vec3(-140.16,0.00,69.79));
rspiral31.Position2(Vec3(-140.16,1.75,68.82));
// use a circle profile
rspiral31.UseRectProfile(false);
// set a outer diameter
rspiral31.OuterDiameter(151.22);
// set a pitch & profile diameter & radius relation
rspiral31.Pitch(75.61);
rspiral31.ProfileDiameter(37.81);
rspiral31.ProfileRadiusRelation(0.50);
// set the number of turns
rspiral31.Turns(3);
// clockwise = 'true'
rspiral31.ClockWise(true);
// set a number of divisions
rspiral31.DivY(54);
rspiral31.DivX(18);
rspiral31.DivZ(8);
rspiral31.AverageDivision(37);
// add torus in the scene
tool.Apply();
}
rspiral-prim.png
Spiral Primitive

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния скрипта смотри здСсь