Insert gắn tường (drywall) cho Polk Audio RC85i
Mẫu insert lót vào tường drywall/sheetrock cho loa Polk Audio RC85i, giúp loa không bắt trực tiếp lên thạch cao. Kèm mã OpenSCAD để tạo khung và chốt/ lỗ ghép khi in 3D.
Mô tả
Mình cần một cái insert cho tấm sheetrock (drywall) cho loa Polk của mình, để loa không chỉ bắt trực tiếp vô drywall. AI đã tạo ra một file OpenSCAD:
// ===== 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_TOMM - (2 OUTER_CLEARANCE);
OUTER_Y = (8.75 + 2*1.00) _IN_TOMM - (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); } }
Mình dùng https://ochafik.com/openscad2/
Giấy phép
File mô hình
Chưa có bản in nào được khoe. Hãy là người đầu tiên!
Chưa có bình luận nào. Hãy là người đầu tiên!