From eadc541e8fb630e41f54e6830f928b4ce5fd5ed8 Mon Sep 17 00:00:00 2001 From: Chris Palmer Date: Mon, 18 May 2020 15:29:19 +0100 Subject: [PATCH] Screw_and_washer() no longer adds washers for countersunk screws. --- vitamins/screw.scad | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/vitamins/screw.scad b/vitamins/screw.scad index 6493dbb..1186034 100644 --- a/vitamins/screw.scad +++ b/vitamins/screw.scad @@ -259,22 +259,28 @@ module screw_countersink(type) { //! Countersink shape module screw_and_washer(type, length, star = false, penny = false) { //! Screw with a washer which can be standard or penny and an optional star washer on top washer = screw_washer(type); + head_type = screw_head_type(type); - translate_z(exploded() * 6) - if(penny) - penny_washer(washer); - else - washer(washer); + if(head_type != hs_cs && head_type != hs_cs_cap) { + translate_z(exploded() * 6) + if(penny) + penny_washer(washer); + else + washer(washer); - translate_z(washer_thickness(washer)) { - if(star) { - translate_z(exploded() * 8) - star_washer(washer); + translate_z(washer_thickness(washer)) { + if(star) { + translate_z(exploded() * 8) + star_washer(washer); - translate_z(washer_thickness(washer)) + translate_z(washer_thickness(washer)) + screw(type, length); + } + else screw(type, length); } - else - screw(type, length); } + else + translate_z(eps) + screw(type, length); }