Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- include <quickthread.scad>;
- //preferences
- length = 90;
- backLength = 15;
- backDiameter = 50;
- frontDiameter = 30;
- //thread parameters
- holeDepht = 20;
- holdeDiameter = 16;
- threadLength = 46;
- threadDiameter = 12;
- threadDiameterInternal = 10.2;
- theadPitch = 1.75;
- //smothness
- $fn = 200;
- cornerRadius = 4;
- //derived parameters
- threadDepht = holeDepht + threadLength;
- beforeStop = length - backLength;
- backRadius = backDiameter/2;
- frontRadius = frontDiameter/2;
- module base() {
- translate([0,0,length]) rotate([180,0,0]) rotate_extrude() translate([0,backLength,0]) hull() {
- translate([0, -(backLength),0]) square(cornerRadius);
- translate([0,beforeStop-cornerRadius]) square(cornerRadius);
- translate([backRadius-cornerRadius,cornerRadius,0]) circle(cornerRadius);
- translate([frontRadius-cornerRadius, beforeStop-cornerRadius,0]) circle(cornerRadius);
- translate([backRadius-cornerRadius, -(backLength-cornerRadius),0]) circle(cornerRadius);
- }
- }
- module withHoles() {
- difference() {
- base();
- translate([0,0,-1]) cylinder(threadDepht+1, r = threadDiameterInternal/2);
- translate([0,0,-1]) cylinder(holeDepht+1, r = holdeDiameter/2);
- }
- }
- render() {
- translate([0,0,-(length/2)]) difference() {
- withHoles();
- isoThread(d=threadDiameter,h=threadDepht,pitch=theadPitch,internal=true);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement