// -*- C -*- include inch = 25.4; positive = inch/2; negative = inch/2; midsection = 5; module Adapter(){ translate([0,0,-0.1]) english_thread(diameter = 3/8., threads_per_inch=16, leadin=1, length= (positive + 0.1) / inch); rotate([180,0,0]) { difference(){ cylinder(r=10, h=negative + midsection); translate([0,0, midsection]) english_thread(diameter = 1/2., threads_per_inch=20, leadin=1, internal=true, length=midsection+0.1); } } } Adapter();