// ============================================ // Tapo Ceiling Mount - Interior Clamps // ============================================ // Two identical curved clamps that sit above the ceiling, one on each side of // the hole. Each one carries one captive M4 nut and bears on the upper ceiling // surface beyond the hole edge. A lip under each clamp drops into the hole, // like the plate lip from below, so the clamp seats itself. // // With clamp_link = true a thin flexible line joins the two clamps across the // hole center. They print as one part and go into the ceiling together: push // one clamp up through the hole, then the other one follows on the line. // // Print orientation: flat top on the bed. The link prints on the bed and the // lips point up. No support is needed. Press the nuts in after printing. parameters_only = false; include ; module tapo_inner_clamp() { inner_clamp_body(); } // Thin flexible line on the top face that joins the two clamps. module clamp_link_line() { translate([-clamp_inner_r - 2, -clamp_link_w / 2, clamp_boss_height - clamp_link_t]) cube([2 * (clamp_inner_r + 2), clamp_link_w, clamp_link_t]); } // Both clamps in their installed positions, joined by the link. module tapo_inner_clamp_pair() { tapo_inner_clamp(); rotate([0, 0, 180]) tapo_inner_clamp(); if (clamp_link) clamp_link_line(); } tapo_inner_clamp_pair();