103 lines
4.2 KiB
OpenSCAD
103 lines
4.2 KiB
OpenSCAD
// Flansch für Saugpumpe
|
|
|
|
$fn = 100; // Auflösung
|
|
Scheibenhoehe = 6; // Dicke der Flanschscheibe
|
|
Dichtungsringdicke = 2; // Ring wird Dicke / 2 eingelassen
|
|
|
|
|
|
// Gewinde
|
|
type = "rod";//[nut,bolt,rod,washer]
|
|
|
|
/* [Bolt and Rod Options] */
|
|
|
|
//Head type - Hex, Socket Cap, Button Socket Cap or Countersunk Socket Cap (ignored for Rod)
|
|
head_type = "hex";//[hex,socket,button,countersunk]
|
|
//Drive type - Socket, Phillips, Slot (ignored for Hex head type and Rod)
|
|
drive_type = "socket";//[socket,phillips,slot]
|
|
//Distance between flats for the hex head or diameter for socket or button head (ignored for Rod)
|
|
head_diameter = 12;
|
|
//Height of the head (ignored for Rod)
|
|
head_height = 5;
|
|
//Diameter of drive type (ignored for Hex head and Rod)
|
|
drive_diameter = 5;
|
|
//Width of slot aperture for phillips or slot drive types
|
|
slot_width = 1;
|
|
//Depth of slot aperture for slot drive type
|
|
slot_depth = 2;
|
|
//Surface texture (socket head only)
|
|
texture = "exclude";//[include,exclude]
|
|
//Outer diameter of the thread
|
|
thread_outer_diameter = 41;
|
|
//Thread step or Pitch (2mm works well for most applications ref. ISO262: M3=0.5,M4=0.7,M5=0.8,M6=1,M8=1.25,M10=1.5)
|
|
thread_step = 2;
|
|
//Step shape degrees (45 degrees is optimised for most printers ref. ISO262: 30 degrees)
|
|
step_shape_degrees = 45;
|
|
//Length of the threaded section
|
|
thread_length = 25;
|
|
//Countersink in both ends
|
|
countersink = 2;
|
|
//Length of the non-threaded section
|
|
non_thread_length = 0;
|
|
//Diameter for the non-threaded section (-1: Same as inner diameter of the thread, 0: Same as outer diameter of the thread, value: The given value)
|
|
non_thread_diameter = 0;
|
|
|
|
/* [Nut Options] */
|
|
|
|
//Type: Normal or WingNut
|
|
nut_type = "normal";//[normal,wingnut]
|
|
//Distance between flats for the hex nut
|
|
nut_diameter = 12;
|
|
//Height of the nut
|
|
nut_height = 6;
|
|
//Outer diameter of the bolt thread to match (usually set about 1mm larger than bolt diameter to allow easy fit - adjust to personal preferences)
|
|
nut_thread_outer_diameter = 9;
|
|
//Thread step or Pitch (2mm works well for most applications ref. ISO262: M3=0.5,M4=0.7,M5=0.8,M6=1,M8=1.25,M10=1.5)
|
|
nut_thread_step = 2;
|
|
//Step shape degrees (45 degrees is optimised for most printers ref. ISO262: 30 degrees)
|
|
nut_step_shape_degrees = 30;
|
|
//Wing radius ratio. The proportional radius of the wing on the wing nut compared to the nut height value (default = 1)
|
|
wing_ratio = 1;
|
|
wing_radius=wing_ratio * nut_height;
|
|
|
|
/* [Washer Options] */
|
|
|
|
//Inner Diameter (suggest making diameter slightly larger than bolt diameter)
|
|
inner_diameter = 8;
|
|
//Outer Diameter
|
|
outer_diameter = 14;
|
|
//Thickness
|
|
thickness = 2;
|
|
|
|
/* [Extended Options] */
|
|
|
|
//Number of facets for hex head type or nut. Default is 6 for standard hex head and nut
|
|
facets = 6;
|
|
//Number of facets for hole in socket head. Default is 6 for standard hex socket
|
|
socket_facets = 6;
|
|
//Depth of hole in socket head. Default is 3.5
|
|
socket_depth = 3.5;
|
|
//Resolution (lower values for higher resolution, but may slow rendering)
|
|
resolution = 0.5;
|
|
nut_resolution = resolution;
|
|
|
|
include <nut_job.scad>
|
|
|
|
difference() {
|
|
union() {
|
|
translate([0,0,3])hex_screw(thread_outer_diameter,thread_step,step_shape_degrees,thread_length,resolution,countersink,head_diameter,0,non_thread_length,non_thread_diameter);
|
|
linear_extrude(height = Scheibenhoehe, center = false, convexity = 10, twist = 0) {
|
|
hull(){
|
|
translate([36,0,0])circle(r = 10);
|
|
translate([-36,0,0])circle(r = 10);
|
|
circle(r = 25);
|
|
}
|
|
}
|
|
}
|
|
translate([36,0,-1])cylinder(h = Scheibenhoehe+2, d = 11, center = false);
|
|
translate([-36,0,-1])cylinder(h = Scheibenhoehe+2, d = 11, center = false);
|
|
difference() {
|
|
translate([0,0,0-Dichtungsringdicke/2])cylinder(h = Dichtungsringdicke, d = 45, center = false);
|
|
translate([0,0,0-Dichtungsringdicke/2-1])cylinder(h = Dichtungsringdicke+1, d = 33, center = false);
|
|
}
|
|
translate([0,0,-1])cylinder(h = 40, d = 30, center = false);
|
|
}
|