1 / 2
Polk Audio Wall insert for RC85i — image 1
1 / 2

Polk Audio Wall insert for RC85i

Order a print of this model

We calculate the final price from your selected file. You review and accept it before payment.

Saved on this device.

I needed an insert into the drywall so the speaker wasn't just in dry wall

Rating
0 / 5
Likes
0
Downloads
2
Makes
0
Views
14
Reviews
0

Updated at source:

Model information

Category
Audio
License
Creative Commons — Public Domain

I needed an insert for sheetrock for my polk speaker.  AI came up with an OpenSCAD file:

// ===== SETTINGS =====

$fn = 64;

IN_TO_MM = 25.4;

// 1 = Left Half (Pins)

// 2 = Right Half (Holes)

// 3 = Both (Viewing only)

PART = 1;

// --- SINGLE PIN Z-LOCATION ---

// 0 is the face touching the drywall. 12.7 is the middle of the 1" frame.

// Adjust this one variable to move all pins/holes up or down.

PIN_Z_POS = 12.7;

// --- Pin Settings ---

PIN_RADIUS = 4; // 8mm diameter

PIN_HEIGHT = 8; // 8mm long

PIN_TOLERANCE = 0.25; // Extra space for the hole

// --- Dimensions ---

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;

OUTER_CLEARANCE = 0.03 * IN_TO_MM;

REINFORCE_INSET = 0.25 * IN_TO_MM;

OUTER_X = (12.75 + 2*1.00) IN_TO_MM - (2 OUTER_CLEARANCE);

OUTER_Y = (8.75 + 2*1.00) IN_TO_MM - (2 OUTER_CLEARANCE);

REINF_OX = OUTER_X - (2 * REINFORCE_INSET);

REINF_OY = OUTER_Y - (2 * REINFORCE_INSET);

// ===== MODULES =====

module 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);

}

}

module full_model() {

union() {

rectangular_ring(OUTER_X, OUTER_Y, INNER_X, INNER_Y, CONTACT_THICK);

translate([(OUTER_X-REINF_OX)/2, (OUTER_Y-REINF_OY)/2, CONTACT_THICK])

rectangular_ring(REINF_OX, REINF_OY, INNER_X, INNER_Y, REINFORCE_THICK);

}

}

module pin_geometry(extra=0) {

// Tapered cylinder for easy insertion

rotate([0, 90, 0])

cylinder(r1=PIN_RADIUS+extra, r2=(PIN_RADIUS*0.8)+extra, h=PIN_HEIGHT);

}

// ===== ASSEMBLY =====

SPLIT_X = OUTER_X / 2;

// Logic to center pins in the middle of the frame rails

PIN_Y_TOP = OUTER_Y - (FRAME_WALL / 2);

PIN_Y_BOT = FRAME_WALL / 2;

// --- PART 1: LEFT SIDE ---

if (PART == 1 || PART == 3) {

union() {

intersection() {

full_model();

cube([SPLIT_X, OUTER_Y, TOTAL_THICK]);

}

// Pins added to the cut face (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);

}

}

// --- PART 2: RIGHT SIDE ---

if (PART == 2 || PART == 3) {

// Move slightly if viewing both

VIS_OFFSET = (PART == 3) ? 10 : 0;

translate([VIS_OFFSET, 0, 0])

difference() {

// Shift the right half to the origin for easier printing

translate([-SPLIT_X, 0, 0])

intersection() {

full_model();

translate([SPLIT_X, 0, 0]) cube([SPLIT_X, OUTER_Y, TOTAL_THICK]);

}

// Subtract holes from the cut face (now at 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);

}

}

I used  https://ochafik.com/openscad2/