+module OurThread(l){
+ translate([0,0,-0.01])
+ metric_thread(diameter=thread_act, pitch=thread_pitch,
+ leadin=3, internal=true,
+ test=$test, length=l);
+}
+
+module Stem(){
+ translate([0,0, stem_l -0.1])
+ english_thread(diameter=positive_dia/inch, threads_per_inch=16,
+ leadin=1, test=$test,
+ length= (positive_l + 0.1) / inch);
+
+ difference(){
+ union(){
+ cylinder(r= stem_dia/2 * 1/(0.5 * sqrt(3)),
+ h = stem_l,
+ $fn=6);
+ cylinder(r= stem_dia/2 * 1/(0.5 * sqrt(3)),
+ h = stem_l,
+ $fn=6);
+ }
+ OurThread(stem_l - stem_ceil);
+ }
+}
+