$fn = 40; //The more, the smoother smoothness= 20; //The lesser, the smoother HelixDiameter = 39.79; //mm HelixWireSize = 2; //mm ThreeDPartCutout = HelixWireSize*1.5; ThreeDPartWidth = 10; //mm (distance from PCV pipe to wire) PVCPipeInnerDiameter = 16; //mm PVCPipeOuterDiameter = 20; //mm //This should be applied: Helix diameter //= PVC pipe diameter //+ 2 * (distance from pipe surface to wire center) //Helper 3d printing needed fixer color("blue"){ union(){ difference(){ translate([PVCPipeOuterDiameter-ThreeDPartWidth,-ThreeDPartWidth/2,0]){ cube([ThreeDPartWidth,ThreeDPartWidth,ThreeDPartWidth]); } translate([0,0,-ThreeDPartWidth/2]){ cylinder(ThreeDPartCutout*8,PVCPipeOuterDiameter,PVCPipeOuterDiameter); } } translate([PVCPipeOuterDiameter,-ThreeDPartWidth/2,0]){ difference(){ cube([HelixDiameter-PVCPipeOuterDiameter+ThreeDPartWidth,ThreeDPartWidth,ThreeDPartWidth]); translate([ThreeDPartWidth*2,ThreeDPartWidth*1.5,ThreeDPartWidth/2]){ rotate([90.0,0.0,0.0]){ cylinder(ThreeDPartWidth*2,ThreeDPartCutout,ThreeDPartCutout); } } } } } } //PVC pipe color("gray"){ translate([0,0,0]){ difference(){ } } }