From cae0d928a3e5b03a6532349f06453a723978ccfa Mon Sep 17 00:00:00 2001 From: Clinton Ebadi Date: Wed, 3 Apr 2019 22:47:47 -0400 Subject: [PATCH] etc: scads of random scad Mostly just wanted to get these out of the untracked files list. --- calibration/ninjaflex-ooze.scad | 38 ++++++++++++++++++++++ etc/belt-clip.scad | 52 ++++++++++++++++++++++++++++++ etc/cork.scad | 57 +++++++++++++++++++++++++++++++++ etc/mosquito-honeypot.scad | 33 +++++++++++++++++++ etc/printdry-foot.scad | 29 +++++++++++++++++ etc/stopper-stopper.scad | 26 +++++++++++++++ etc/tap-handle.scad | 8 +++++ 7 files changed, 243 insertions(+) create mode 100644 calibration/ninjaflex-ooze.scad create mode 100644 etc/belt-clip.scad create mode 100644 etc/cork.scad create mode 100644 etc/mosquito-honeypot.scad create mode 100644 etc/printdry-foot.scad create mode 100644 etc/stopper-stopper.scad create mode 100644 etc/tap-handle.scad diff --git a/calibration/ninjaflex-ooze.scad b/calibration/ninjaflex-ooze.scad new file mode 100644 index 0000000..ad001f4 --- /dev/null +++ b/calibration/ninjaflex-ooze.scad @@ -0,0 +1,38 @@ +// quick hack to test ooze with ninjaflex + +// lots of small towerslike in the make magazine tests are doomed with +// ninjaflex, so just use four larger towers + +tower_base_d = 10; +tower_top_d = 2; + +tower_height = 20; +tower_spacing = 15; + +base_height = 0.8; +base_extra_d = 0; + +$fn = 4; + + +module tower () { + cylinder (d1=tower_base_d, d2=tower_top_d, h=tower_height); +} + +module towers () { + spacing = tower_spacing + tower_base_d; + + for (x = [0, spacing], y = [0, spacing]) { + translate ([x, y, 0]) tower (); + } + + translate ([spacing/2, spacing/2, 0]) tower (); +} + +difference () { + linear_extrude (height = base_height) offset (r = base_extra_d/2, chamfer=true) hull () projection () towers (); + translate ([0, 0, 0]) cylinder (d=tower_base_d/2, h=base_height/2); +} +translate ([0, 0, base_height]) towers (); + + diff --git a/etc/belt-clip.scad b/etc/belt-clip.scad new file mode 100644 index 0000000..d029e7c --- /dev/null +++ b/etc/belt-clip.scad @@ -0,0 +1,52 @@ +use // https://github.com/JustinSDK/dotSCAD + +$fs = 0.1; +$fa = 0.1; + + +buckle_height = 60; +buckle_width = 120; +buckle_thickness = 3; + +slot_width = 3.5; +slot_height = buckle_height - 15; +slot_edge_offset = 5.5 + slot_width; + +dragon_d = 90; + +buckle_corner_r = 1.5; +slot_corner_r = 0.5; + +module buckle_piece () { + difference () { + rounded_square ([buckle_width/2, buckle_height], buckle_corner_r); + + translate ([buckle_width/2 - slot_edge_offset, (buckle_height - slot_height) / 2, 0]) { + square ([slot_width, slot_height]); + translate ([slot_width/2, slot_height, 0]) circle (d=slot_width); + translate ([slot_width/2, 0, 0]) circle (d=slot_width); + } + } +} + +module buckle_base (buckle_thickness=buckle_thickness) { + linear_extrude (buckle_thickness) { + translate ([-buckle_width/4, 0, 0]) square ([buckle_width/2, buckle_height]); + buckle_piece (); + mirror ([1, 0, 0]) buckle_piece (); + } +} + + +module dragon (d=10) { +/* translate ([-d/2, -d/2, 0]) { + resize ([d, 0, 0], auto=true ) import ("./house-targaryen-game-of-thrones-2_fixed.stl"); + } +*/ + cylinder (d=d, h=buckle_thickness); +} + + + +translate ([0, -buckle_height/2, 0]) buckle_base (); +//translate ([0, 0, 0]) dragon (d=dragon_d); diff --git a/etc/cork.scad b/etc/cork.scad new file mode 100644 index 0000000..0a02514 --- /dev/null +++ b/etc/cork.scad @@ -0,0 +1,57 @@ +// cork for my weep of willow potion bottle + +// designed to fit a small submersible led tea light into the cap and +// illuminate the smoke rising from the smoker. LED sits in +// led_cork(), and led_cap() is placed over it to diffuse. Printed @ +// 100% infill, slow, and with the largest possible layer heights. + +$fa = 1; +$fs = 1; + +led_cork (); +//led_cap (); + +/* actual cork dimensions +bottom_d = 29.5; +top_d = 35.25; +height = 37.77; +*/ + +module cork (bottom_d, top_d, height) { + hull () { + cylinder (d=bottom_d, h=0.1); + translate ([0, 0, height]) cylinder (d=top_d, h=0.1); + } +} + + +// logically, should be arguments, but are shared between led_cork and +// led_cap... + +bottom_inner_d = 30; +top_inner_d = 35.25; +height = 37.77; +wall = 1.0; + +module led_cork () { + difference () { + cork (bottom_inner_d + wall*2, top_inner_d + wall*2, height); + translate ([0, 0, wall*2]) cork (bottom_inner_d, top_inner_d, height); + } + +} + +// dome of the led, to be cut from cap +module led_dome (height = 8.5, diameter = 8.8) { + cylinder (d=diameter, h=height/2); + translate ([0, 0, height/2]) sphere (d=diameter); + +} + +module led_cap (cap_depth = 12, cap_tolerance = 0.5) { + difference () { + // doesn't have to be exact, just need to fit in + cork (bottom_inner_d, top_inner_d - cap_tolerance, cap_depth); + translate ([0, 0, -0.01]) led_dome (); + } +} diff --git a/etc/mosquito-honeypot.scad b/etc/mosquito-honeypot.scad new file mode 100644 index 0000000..db3c4c5 --- /dev/null +++ b/etc/mosquito-honeypot.scad @@ -0,0 +1,33 @@ +// Simple cover for a mosquito bacillus thuringiensis trap + +// UV radiation may slowly kill the bt... so use an opaque container +// and cover it with a lid with a smaller hole in it. Might help +// control evaporation as well, and it helps not having open +// containers of water around (probably don't want wild animals +// drinking a soup of decaying bug larvaue). + +// The trap itself is just water, orange blossom water (which contains +// skatole... I think) as an attractant, and some bt granules or +// dunks. + +$fa = 0.1; +$fs = 0.5; + +module mosquito_honeypot_lid (lid_diameter = 50, lid_depth = 15, hole_width = 20, wall_thickness = 1, bottom_thickness = 2) +{ + total_h = lid_depth + bottom_thickness; + difference () { + cylinder (d = lid_diameter + wall_thickness*2, h = total_h, center = true); + translate ([0, 0, bottom_thickness/2 + 1/2]) + #cylinder (d = lid_diameter, h = lid_depth+1, center = true); + + translate ([0, 0, -lid_depth/2]) + cube ([hole_width, hole_width, bottom_thickness*4], center = true); + } +} + +// wall thickness calculation halves value +//mosquito_honeypot_lid (lid_diameter=72.5, lid_depth=18, wall_thickness=4, bottom_thickness=2); + + +mosquito_honeypot_lid (lid_diameter=71, lid_depth=25, wall_thickness=2, bottom_thickness=2, hole_width=25); diff --git a/etc/printdry-foot.scad b/etc/printdry-foot.scad new file mode 100644 index 0000000..4f71097 --- /dev/null +++ b/etc/printdry-foot.scad @@ -0,0 +1,29 @@ +// Foot for printdry filament dry to make it not rattle about +// Copyright (c) 2017 Clinton Ebadi + +tolerance = 0.2; + +width = 2.7 + tolerance; +length = 13.75 + tolerance; +height = 7.5 - 1.0 - tolerance; + +wall = 2; +foot = 7; + +$fa = 0.1; +$fs = 0.1; + +module slot (length=length, width=width, height=height) { + linear_extrude (height) { + hull () { + translate ([-(length - width)/2, 0, 0]) circle (d=width); + translate ([(length - width)/2, 0, 0]) circle (d=width); + } + } +} + +difference () { + translate ([0, 0, -foot]) slot (length+wall, width+wall, height+foot-0.01); + slot (); +} + diff --git a/etc/stopper-stopper.scad b/etc/stopper-stopper.scad new file mode 100644 index 0000000..348f090 --- /dev/null +++ b/etc/stopper-stopper.scad @@ -0,0 +1,26 @@ +// Trival stopper for a drilled out homebrewing stopper + +// Quick hack so I could store water in homebrewing carboys during +// hurricane florence + +stem_base_d = 6; +stem_neck_d = 11; +stem_head_d = 14; +stem_handle_d = 20; + +base_h = 8; +neck_h = 15; +top_h = 3; + +$fa = 0.1; +$fs = 0.1; + +hull () { + cylinder (d=stem_base_d); + translate ([0, 0, base_h]) cylinder (d=stem_neck_d); +} +hull () { + translate ([0, 0, base_h]) cylinder (d=stem_neck_d); + translate ([0, 0, base_h+neck_h]) cylinder (d=stem_head_d); +} +translate ([0, 0, base_h+neck_h]) cylinder (d=stem_handle_d, h=top_h); diff --git a/etc/tap-handle.scad b/etc/tap-handle.scad new file mode 100644 index 0000000..75a1a40 --- /dev/null +++ b/etc/tap-handle.scad @@ -0,0 +1,8 @@ +use + +// pretty sure this is wrong, it definitely doesn't fit a tap handle... + +difference () { + %cylinder (r=10, h = 40, $fn = 120); + translate ([0, 0, -0.5]) english_thread (diameter=3/8, threads_per_inch=16, length=9/8, internal = true); +} -- 2.20.1