Ich brauchte einen Einsatz für Sheetrock für meinen Polk-Lautsprecher. KI kam mit einer OpenSCAD-Datei:
// ===== EINSTELLUNGEN =====
$fn = 64;
IN_TO_MM = 25,4;
// 1 = Linke Hälfte (Pins)
// 2 = Rechte Hälfte (Löcher)
// 3 = Beide (Nur Anzeigen)
TEIL = 1;
// --- EINZELNE PIN-Z-POSITION ---
// 0 ist das Gesicht, das die Trockenbauwand berührt. 12.7 ist die Mitte des 1"-Rahmens.
// Passen Sie diese eine Variable an, um alle Stifte/Löcher nach oben oder unten zu verschieben.
PIN_Z_POS = 12,7;
// --- Pin-Einstellungen ---
PIN_RADIUS = 4; // 8mm Durchmesser
PIN_HEIGHT = 8; // 8 mm lang
PIN_TOLERANCE = 0,25; // Zusätzlicher Platz für das Loch
// --- Abmessungen ---
INNER_X = 12,75 * IN_TO_MM;
INNER_Y = 8.75 * IN_TO_MM;
FRAME_WALL = 1,00 * IN_TO_MM;
CONTACT_THICK = 0,50 * IN_TO_MM;
REINFORCE_THICK = 0,50 * IN_TO_MM;
TOTAL_THICK = CONTACT_THICK + REINFORCE_THICK;
AUSSENLIESE = 0,03 * IN_TO_MM;
REINFORCE_INSET = 0,25 * IN_TO_MM;
OUTER_X = (12.75 + 2*1.00)IN_TO_MM - (2AUSSENLIEGENDE FREIRAUM);
OUTER_Y = (8,75 + 2*1,00)IN_TO_MM - (2AUSSENLIEGENDE FREIRAUM);
REINF_OX = ÄUSSERER_X - (2 * VERSTÄRKUNGS-INSET);
REINF_OY = OUTER_Y - (2 * REINFORCE_INSET);
// ===== MODULES =====
Modul rectangular_ring(ox, oy, ix, iy, h) {
difference() {
cube([ox, oy, h], center=false);
translate([(ox-ix)/2, (oy-iy)/2, -0.1])
cube([ix, iy, h+0.2], center=false);
}
)
Modul full_model() {
union() {
rechteckiger_Ring(AUSSEN_X, AUSSEN_Y, INNEN_X, INNEN_Y, KONTAKT_DICK);
translate([(OUTER_X-REINF_OX)/2, (OUTER_Y-REINF_OY)/2, CONTACT_THICK])
rechteckiger_Ring(REINF_OX, REINF_OY, INNER_X, INNER_Y, REINFORCE_THICK);
}
)
Modul pin_geometry(extra=0) {
// Konischer Zylinder für einfache Einführung
rotate([0, 90, 0])
Zylinder(r1=PIN_RADIUS+extra, r2=(PIN_RADIUS*0.8)+extra, h=PIN_HEIGHT);
)
// ===== MONTAGAGE =====
SPLIT_X = OUTER_X / 2;
// Logik, um die Stifte in der Mitte der Rahmenschienen zu zentrieren.
PIN_Y_TOP = ÄUSSERER_Y - (RAHMEN_WAND / 2);
PIN_Y_BOT = FRAME_WALL / 2;
// --- TEIL 1: LINKE SEITE ---
wenn (TEIL == 1 || TEIL == 3) {
union() {
intersect() {
full_model();
cube([SPLIT_X, OUTER_Y, TOTAL_THICK]);
}
// Pins, die zum geschnittenen Gesicht hinzugefügt wurden (SPLIT_X)
translate([SPLIT_X, PIN_Y_TOP, PIN_Z_POS]) pin_geometry(0);
translate([SPLIT_X, PIN_Y_BOT, PIN_Z_POS]) pin_geometry(0);
}
)
// --- TEIL 2: RECHTE SEITE ---
wenn (TEIL == 2 || TEIL == 3) {
// Bewegen Sie sich leicht, wenn Sie beide ansehen
VIS_OFFSET = (PART == 3) ? 10 : 0;
translate([VIS_OFFSET, 0, 0])
difference() {
// Verschiebe die rechte Hälfte zum Ursprung, um das Drucken zu erleichtern.
translate([-SPLIT_X, 0, 0])
intersect() {
full_model();
translate([SPLIT_X, 0, 0]) cube([SPLIT_X, OUTER_Y, TOTAL_THICK]);
}
// Subtrahiere Löcher von der geschnittenen Fläche (jetzt bei X=0)
translate([0, PIN_Y_TOP, PIN_Z_POS]) pin_geometry(PIN_TOLERANCE);
translate([0, PIN_Y_BOT, PIN_Z_POS]) pin_geometry(PIN_TOLERANCE);
}
)
Ich habe verwendethttps://ochafik.com/openscad2/
Modellquelle
