این کد مسیر های هوا و ماسه و محل ورود هوا به مخزن و محل خروج ساینده از مخزن قابل درک نیست اجزا را به صورت پیوسته و برش خورده متصل به هم نمایش و کد نویسی کن// Dental Sandblasting Machine - Full Cutaway Model
// Organized and modular for clear visibility of interiors

$fn = 60; // curve smoothness

// --------- Main Body Module ---------
module main_body() {
    difference() {
        union() {
            // Outer shell
            color("lightgray")
            cube([300, 200, 250], center = false);

            // Bottom support legs
            for (x = [20, 260])
                for (y = [20, 160])
                    translate([x, y, -20])
                        color("black")
                        cylinder(h = 20, r = 7);
        }

        // Left half cut (cutaway to show interior)
        cube([150, 200, 300]);

        // Hollow interior cavity
        translate([10, 10, 10])
            cube([280, 180, 230]);
    }
}

// --------- Powder Tank Module ---------
module powder_tank() {
    difference() {
        // Outer tank cylinder
        translate([75, 75, 250])
            color("orange")
            cylinder(h = 200, r = 55);

        // Inner hollow of the tank
        translate([75, 75, 255])
            cylinder(h = 190, r = 50);

        // Cutaway portion (slice)
        translate([0, 0, 0])
            cube([300, 100, 500]);
    }
}

// --------- Air Inlet Module ---------
module air_inlet() {
    // Air pipe vertical
    translate([75, 130, 440])
        rotate([90, 0, 0])
        color("blue")
        difference() {
            cylinder(h = 30, r = 6);
            // Cut slice through pipe
            translate([-10, -10, -5])
                cube([20, 20, 40]);
        }
}

// --------- Powder Output Pipe Module ---------
module powder_pipe() {
    translate([75, 75, 250])
        rotate([0, 90, 0])
        color("gray")
        difference() {
            cylinder(h = 80, r = 7);
            // Cut slice in pipe
            translate([-10, -10, -5])
                cube([40, 20, 20]);
        }
}

// --------- Suction System Module ---------
module suction_system() {
    // Suction chamber (rear box)
    translate([-50, 60, 100])
        color("dimgray")
        difference() {
            cube([50, 60, 80]);
            cube([25, 60, 100]);
        }

    // Suction pipe
    translate([0, 90, 120])
        rotate([0, 90, 0])
        color("blue")
        difference() {
            cylinder(h = 50, r = 5);
            translate([-10, -10, -5])
                cube([30, 20, 20]);
        }
}

// --------- Nozzle and Hose Module ---------
module nozzle() {
    // Powder hose section
    translate([200, 100, 80])
        rotate([0, -30, 0])
        color("darkgreen")
        difference() {
            cylinder(h = 60, r = 5);
            translate([-10, -10, -5])
                cube([70, 20, 20]);
        }

    // Tapered nozzle tip
    translate([255, 95, 50])
        rotate([0, -30, 0])
        color("red")
        difference() {
            cylinder(h = 20, r1 = 4, r2 = 1);
            translate([-5, -5, -5])
                cube([30, 10, 30]);
        }
}

// --------- Assembly: Combine All ---------
main_body();
powder_tank();
air_inlet();
powder_pipe();
suction_system();
nozzle();