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

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