Загрузка данных


$fn = 180;

// ---------------------
// Размеры
// ---------------------
outer_d = 75;
cap_height = 10;

lip_d = 72;          // диаметр буртика бачка
lip_height = 4;

wall = 2.5;
clearance = 0.2;

// ---------------------
// Крышка
// ---------------------
difference()
{
    union()
    {
        // Верхняя площадка
        cylinder(d=outer_d,h=2);

        // Юбка
        translate([0,0,2])
            cylinder(d=outer_d,h=cap_height-2);

        // Внутреннее кольцо-защелка
        translate([0,0,cap_height-lip_height])
        difference()
        {
            cylinder(d=lip_d+2*wall,h=lip_height);
            translate([0,0,-0.1])
                cylinder(d=lip_d-clearance,h=lip_height+0.2);
        }

        // Надпись
        translate([0,0,cap_height])
        linear_extrude(height=1)
        text(
            "ТОВАРИЩ\nПОЛИЦЕЙСКИЙ\n\nАТПУТИТЕ\nПОЖАЛУЙСТА\n\nКОСТЯ\nНЕ ВИНОВАТ",
            size=3,
            halign="center",
            valign="center",
            font="DejaVu Sans:style=Bold"
        );
    }

    // Полость внутри крышки
    translate([0,0,2])
        cylinder(d=outer_d-2*wall,h=20);
}