SCAD code for clarity and compatibility with OpenSCAD

formatted_scad_code = """
// Dental Sandblasting Machine - Full Cutaway Model (Organized and OpenSCAD-Compatible)

$fn = 60; // Curve smoothness

// ========== Modules ==========

// Main body (cutaway)
module main_body() {
    difference() {
        union() {
            color("lightgray")
            cube([300, 200, 250], center = false);

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

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

        // Hollow inner volume
        translate([10, 10, 10])
            cube([280, 180, 230]);
    }
}

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

        // Inner space
        translate([75, 75, 255])
            cylinder(h = 190, r = 50);

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

// Air inlet (cutaway)
module air_inlet() {
    translate([75, 130, 440])
        rotate([90, 0, 0])
        color("blue")
        difference() {
            cylinder(h = 30, r = 6);
            translate([-10, -10, -5])
                cube([20, 20, 40]);
        }
}

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

// Suction system (cutaway)
module suction_system() {
    // Rear suction box
    translate([-50, 60, 100])
        color("dimgray")
        difference() {
            cube([50, 60, 80]);
            translate([0, 0, 0])
                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 (cutaway)
module nozzle() {
    // Hose
    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
    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 ==========
main_body();
powder_tank();
air_inlet();
powder_pipe();
suction_system();
nozzle();
"""

# Save the reformatted SCAD file
formatted_file_path = "/mnt/data/sandblast_machine_formatted_cutaway.scad"
with open(formatted_file_path, "w") as f:
    f.write(form✅ فایل SCAD با ساختار منظم و کاملاً سازگار با نرم‌افزار **OpenSCAD** آماده شد:

📁 **[دانلود فایل منظم‌شده و قابل اجرا در OpenSCAD](https://file.aiquickdraw.com/chatgpt/036be2fd-bc74-4dfc-ac6b-7c070e273e1d/mnt/data/sandblast_machine_formatted_cutaway.scad)**

---

### 📌 ویژگی‌های این نسخه:
- کد تمیز و دسته‌بندی‌شده با استفاده از ماژول‌ها (modules)
- تمام اجزای مهم: بدنه، مخزن، مسیر هوا، لوله پودر، ساکشن و نازل
- برش خورده به‌صورت واقعی برای نمایش اجزای داخلی
- قابل ویرایش آسان در OpenSCAD

اگر بخوای فایل STEP هم ازش تولید کنم، یا مثلاً ابعاد خاص یا اجزای بیشتری بهش اضافه کنم، فقط بگو!