Index: tantalum.scad =================================================================== --- tantalum.scad (revision 32587) +++ tantalum.scad (revision 32588) @@ -30,57 +30,58 @@ // in any way. // -module capacitor_impl (L, W, H, P, Tw, Th) +module part_tantalum (sz) { - delta = 1e-3 ; + module impl (L, W, H, P, Tw, Th) + { + delta = 1e-3 ; - module lead (P, Tw, Th) - { - color ([0.9, 0.9, 0.9]) - translate ([-delta, -Tw/2, -delta]) + module lead (P, Tw, Th) + color ([0.9, 0.9, 0.9]) + translate ([-delta, -Tw/2, -delta]) + { + translate ([0.3/2, 0, 0.3/2]) + rotate ([-90, 0, 0]) + cylinder (d = 0.3, h = Tw) ; + + translate ([0, 0, 0.3/2]) + cube ([0.3, Tw, Th - 0.3/2]) ; + + translate ([0.3/2, 0, 0]) + cube ([P - 0.3/2, Tw, 0.3]) ; + } + + module case() + hull() { - translate ([0.3/2, 0, 0.3/2]) - rotate ([-90, 0, 0]) - cylinder (d = 0.3, h = Tw) ; - - translate ([0, 0, 0.3/2]) - cube ([0.3, Tw, Th - 0.3/2]) ; - - translate ([0.3/2, 0, 0]) - cube ([P - 0.3/2, Tw, 0.3]) ; + translate ([0, 0, H/2]) + cube ([L - 0.3*2, W - 0.2, H], center = true) ; + + translate ([0, 0, Th]) + cube ([L, W, delta], center = true) ; } - } - color ([0.9, 0.8, 0.2]) - { - hull() - { - translate ([0, 0, Th]) - cube ([L, W, delta], center = true) ; - - translate ([0, 0, H]) - cube ([L - 0.3*2, W - 0.2, delta], center = true) ; - } + color ([0.7, 0.55, 0]) + intersection() + { + translate ([-L/3, -5, -5]) + cube ([P/2, 10, 10]) ; + + scale (1.001) + case() ; + } - hull() - { - cube ([L - 0.3*2, W - 0.2, delta], center = true) ; + color ([0.9, 0.8, 0.2]) + case() ; - translate ([0, 0, Th]) - cube ([L, W, delta], center = true) ; - } + translate ([-L/2, 0, 0]) + lead (P, Tw, Th) ; + + translate ([L/2, 0, 0]) + mirror ([1, 0, 0]) + lead (P, Tw, Th) ; } - - translate ([-L/2, 0, 0]) - lead (P, Tw, Th) ; - translate ([L/2, 0, 0]) - mirror ([1, 0, 0]) - lead (P, Tw, Th) ; -} - -module tantalum (sz) -{ sizes = "ABCDE" ; L = [ 3.2, 3.5, 6.0, 7.3, 7.3 ] ; W = [ 1.6, 2.8, 3.2, 4.3, 4.3 ] ; @@ -89,5 +90,5 @@ Tw = [ 1.2, 2.2, 2.2, 2.4, 2.4 ] ; idx = search (sz, sizes)[0] ; - capacitor_impl (L[idx], W[idx], H[idx], P[idx], Tw[idx], H[idx]/2) ; + impl (L[idx], W[idx], H[idx], P[idx], Tw[idx], H[idx]/2) ; }