Added rod_ends.scad to lib.scad and lib_test.scad.
Fixed rod_end colours. Added new pulleys to the test list and reodered. Printed pulleys nopw shown in two rows. Updated images and readme.
1
lib.scad
@@ -58,6 +58,7 @@ include <vitamins/pulleys.scad>
|
||||
include <vitamins/ring_terminals.scad>
|
||||
include <vitamins/rails.scad>
|
||||
include <vitamins/rod.scad>
|
||||
include <vitamins/rod_ends.scad>
|
||||
include <vitamins/servo_motors.scad>
|
||||
include <vitamins/shaft_couplings.scad>
|
||||
include <vitamins/sheets.scad>
|
||||
|
BIN
libtest.png
Before Width: | Height: | Size: 1002 KiB After Width: | Height: | Size: 1007 KiB |
12
libtest.scad
@@ -98,6 +98,7 @@ use <tests/rails.scad>
|
||||
use <tests/ring_terminals.scad>
|
||||
use <tests/rockers.scad>
|
||||
use <tests/rod.scad>
|
||||
use <tests/rod_ends.scad>
|
||||
use <tests/SBR_rails.scad>
|
||||
use <tests/screws.scad>
|
||||
use <tests/sealing_strip.scad>
|
||||
@@ -178,7 +179,7 @@ translate([x5, screw_knobs_y])
|
||||
screw_knobs();
|
||||
|
||||
knobs_y = screw_knobs_y + 40;
|
||||
translate([640, knobs_y])
|
||||
translate([660, knobs_y])
|
||||
printed_pulley_test();
|
||||
|
||||
translate([x5, knobs_y])
|
||||
@@ -223,7 +224,7 @@ translate([950, box_y])
|
||||
|
||||
inserts_y = 0;
|
||||
nuts_y = inserts_y + 20;
|
||||
washers_y = nuts_y + 140;
|
||||
washers_y = nuts_y + 160;
|
||||
screws_y = washers_y + 120;
|
||||
threaded_inserts_y = screws_y + 180;
|
||||
circlips_y = threaded_inserts_y + 30;
|
||||
@@ -293,6 +294,9 @@ translate([x0, pulleys_y])
|
||||
translate([x0, leadnuts_y])
|
||||
leadnuts();
|
||||
|
||||
translate([x0 + 170, leadnuts_y])
|
||||
rod_ends();
|
||||
|
||||
translate([x0 + 120, leadnuts_y])
|
||||
leadnuthousings();
|
||||
|
||||
@@ -306,7 +310,7 @@ translate([x0, linear_bearings_y]) {
|
||||
translate([x0, steppers_y])
|
||||
stepper_motors();
|
||||
|
||||
translate([x0 + 400, steppers_y])
|
||||
translate([x0 + 450, steppers_y])
|
||||
gear_motors();
|
||||
|
||||
translate([x0, sheets_y])
|
||||
@@ -410,7 +414,7 @@ blowers_y = ssrs_y + 60;
|
||||
hot_ends_y = blowers_y + 100;
|
||||
batteries_y = hot_ends_y + 55;
|
||||
panel_meters_y = batteries_y + 70;
|
||||
extrusions_y = panel_meters_y + 100;
|
||||
extrusions_y = panel_meters_y + 130;
|
||||
|
||||
translate([x3, veroboard_y])
|
||||
veroboard_test();
|
||||
|
157
readme.md
@@ -26,30 +26,31 @@ A list of changes classified as breaking, additions or fixes is maintained in [C
|
||||
<tr><td> <a href = "#axials">Axials</a> </td><td> <a href = "#jack">Jack</a> </td><td> <a href = "#ring_terminals">Ring_terminals</a> </td><td> <a href = "#cable_clip">Cable_clip</a> </td><td> <a href = "#catenary">Catenary</a> </td><td> <a href = "#global">Global</a> </td></tr>
|
||||
<tr><td> <a href = "#bldc_motors">BLDC_motors</a> </td><td> <a href = "#ldrs">LDRs</a> </td><td> <a href = "#rockers">Rockers</a> </td><td> <a href = "#cable_grommets">Cable_grommets</a> </td><td> <a href = "#core_xy">Core_xy</a> </td><td> <a href = "#polyholes">Polyholes</a> </td></tr>
|
||||
<tr><td> <a href = "#ball_bearings">Ball_bearings</a> </td><td> <a href = "#led_meters">LED_meters</a> </td><td> <a href = "#rod">Rod</a> </td><td> <a href = "#camera_housing">Camera_housing</a> </td><td> <a href = "#dogbones">Dogbones</a> </td><td> <a href = "#rounded_rectangle">Rounded_rectangle</a> </td></tr>
|
||||
<tr><td> <a href = "#batteries">Batteries</a> </td><td> <a href = "#leds">LEDs</a> </td><td> <a href = "#sbr_rails">SBR_rails</a> </td><td> <a href = "#carriers">Carriers</a> </td><td> <a href = "#fillet">Fillet</a> </td><td> <a href = "#sphere">Sphere</a> </td></tr>
|
||||
<tr><td> <a href = "#bearing_blocks">Bearing_blocks</a> </td><td> <a href = "#leadnuts">Leadnuts</a> </td><td> <a href = "#sk_brackets">SK_brackets</a> </td><td> <a href = "#corner_block">Corner_block</a> </td><td> <a href = "#gears">Gears</a> </td><td> <a href = "#teardrops">Teardrops</a> </td></tr>
|
||||
<tr><td> <a href = "#belts">Belts</a> </td><td> <a href = "#light_strips">Light_strips</a> </td><td> <a href = "#smds">SMDs</a> </td><td> <a href = "#door_hinge">Door_hinge</a> </td><td> <a href = "#hanging_hole">Hanging_hole</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#blowers">Blowers</a> </td><td> <a href = "#linear_bearings">Linear_bearings</a> </td><td> <a href = "#ssrs">SSRs</a> </td><td> <a href = "#door_latch">Door_latch</a> </td><td> <a href = "#horiholes">Horiholes</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#box_sections">Box_sections</a> </td><td> <a href = "#magnets">Magnets</a> </td><td> <a href = "#screws">Screws</a> </td><td> <a href = "#drag_chain">Drag_chain</a> </td><td> <a href = "#layout">Layout</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#bulldogs">Bulldogs</a> </td><td> <a href = "#mains_sockets">Mains_sockets</a> </td><td> <a href = "#sealing_strip">Sealing_strip</a> </td><td> <a href = "#fan_guard">Fan_guard</a> </td><td> <a href = "#maths">Maths</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#buttons">Buttons</a> </td><td> <a href = "#microswitches">Microswitches</a> </td><td> <a href = "#servo_motors">Servo_motors</a> </td><td> <a href = "#fixing_block">Fixing_block</a> </td><td> <a href = "#offset">Offset</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#cable_strips">Cable_strips</a> </td><td> <a href = "#microview">Microview</a> </td><td> <a href = "#shaft_couplings">Shaft_couplings</a> </td><td> <a href = "#flat_hinge">Flat_hinge</a> </td><td> <a href = "#pcb_utils">PCB_utils</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#cameras">Cameras</a> </td><td> <a href = "#modules">Modules</a> </td><td> <a href = "#sheets">Sheets</a> </td><td> <a href = "#foot">Foot</a> </td><td> <a href = "#quadrant">Quadrant</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#circlips">Circlips</a> </td><td> <a href = "#nuts">Nuts</a> </td><td> <a href = "#spades">Spades</a> </td><td> <a href = "#handle">Handle</a> </td><td> <a href = "#round">Round</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#components">Components</a> </td><td> <a href = "#o_ring">O_ring</a> </td><td> <a href = "#spools">Spools</a> </td><td> <a href = "#knob">Knob</a> </td><td> <a href = "#rounded_cylinder">Rounded_cylinder</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#dip">DIP</a> </td><td> <a href = "#opengrab">Opengrab</a> </td><td> <a href = "#springs">Springs</a> </td><td> <a href = "#led_bezel">LED_bezel</a> </td><td> <a href = "#rounded_polygon">Rounded_polygon</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#d_connectors">D_connectors</a> </td><td> <a href = "#pcb">PCB</a> </td><td> <a href = "#stepper_motors">Stepper_motors</a> </td><td> <a href = "#pcb_mount">PCB_mount</a> </td><td> <a href = "#rounded_triangle">Rounded_triangle</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#displays">Displays</a> </td><td> <a href = "#pcbs">PCBs</a> </td><td> <a href = "#swiss_clips">Swiss_clips</a> </td><td> <a href = "#psu_shroud">PSU_shroud</a> </td><td> <a href = "#sector">Sector</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#extrusion_brackets">Extrusion_brackets</a> </td><td> <a href = "#psus">PSUs</a> </td><td> <a href = "#terminals">Terminals</a> </td><td> <a href = "#pocket_handle">Pocket_handle</a> </td><td> <a href = "#splines">Splines</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#extrusions">Extrusions</a> </td><td> <a href = "#panel_meters">Panel_meters</a> </td><td> <a href = "#toggles">Toggles</a> </td><td> <a href = "#press_fit">Press_fit</a> </td><td> <a href = "#sweep">Sweep</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#fans">Fans</a> </td><td> <a href = "#photo_interrupters">Photo_interrupters</a> </td><td> <a href = "#transformers">Transformers</a> </td><td> <a href = "#printed_box">Printed_box</a> </td><td> <a href = "#thread">Thread</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#fastons">Fastons</a> </td><td> <a href = "#pillars">Pillars</a> </td><td> <a href = "#ttracks">Ttracks</a> </td><td> <a href = "#printed_pulleys">Printed_pulleys</a> </td><td> <a href = "#tube">Tube</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#fuseholder">Fuseholder</a> </td><td> <a href = "#pillow_blocks">Pillow_blocks</a> </td><td> <a href = "#tubings">Tubings</a> </td><td> <a href = "#ribbon_clamp">Ribbon_clamp</a> </td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#gear_motors">Gear_motors</a> </td><td> <a href = "#pin_headers">Pin_headers</a> </td><td> <a href = "#variacs">Variacs</a> </td><td> <a href = "#ssr_shroud">SSR_shroud</a> </td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#geared_steppers">Geared_steppers</a> </td><td> <a href = "#potentiometers">Potentiometers</a> </td><td> <a href = "#veroboard">Veroboard</a> </td><td> <a href = "#screw_knob">Screw_knob</a> </td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#green_terminals">Green_terminals</a> </td><td> <a href = "#pulleys">Pulleys</a> </td><td> <a href = "#washers">Washers</a> </td><td> <a href = "#socket_box">Socket_box</a> </td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#hot_ends">Hot_ends</a> </td><td></td><td> <a href = "#wire">Wire</a> </td><td> <a href = "#strap_handle">Strap_handle</a> </td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#hygrometer">Hygrometer</a> </td><td></td><td> <a href = "#zipties">Zipties</a> </td><td></td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#batteries">Batteries</a> </td><td> <a href = "#leds">LEDs</a> </td><td> <a href = "#rod_ends">Rod_ends</a> </td><td> <a href = "#carriers">Carriers</a> </td><td> <a href = "#fillet">Fillet</a> </td><td> <a href = "#sphere">Sphere</a> </td></tr>
|
||||
<tr><td> <a href = "#bearing_blocks">Bearing_blocks</a> </td><td> <a href = "#leadnuts">Leadnuts</a> </td><td> <a href = "#sbr_rails">SBR_rails</a> </td><td> <a href = "#corner_block">Corner_block</a> </td><td> <a href = "#gears">Gears</a> </td><td> <a href = "#teardrops">Teardrops</a> </td></tr>
|
||||
<tr><td> <a href = "#belts">Belts</a> </td><td> <a href = "#light_strips">Light_strips</a> </td><td> <a href = "#sk_brackets">SK_brackets</a> </td><td> <a href = "#door_hinge">Door_hinge</a> </td><td> <a href = "#hanging_hole">Hanging_hole</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#blowers">Blowers</a> </td><td> <a href = "#linear_bearings">Linear_bearings</a> </td><td> <a href = "#smds">SMDs</a> </td><td> <a href = "#door_latch">Door_latch</a> </td><td> <a href = "#horiholes">Horiholes</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#box_sections">Box_sections</a> </td><td> <a href = "#magnets">Magnets</a> </td><td> <a href = "#ssrs">SSRs</a> </td><td> <a href = "#drag_chain">Drag_chain</a> </td><td> <a href = "#layout">Layout</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#bulldogs">Bulldogs</a> </td><td> <a href = "#mains_sockets">Mains_sockets</a> </td><td> <a href = "#screws">Screws</a> </td><td> <a href = "#fan_guard">Fan_guard</a> </td><td> <a href = "#maths">Maths</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#buttons">Buttons</a> </td><td> <a href = "#microswitches">Microswitches</a> </td><td> <a href = "#sealing_strip">Sealing_strip</a> </td><td> <a href = "#fixing_block">Fixing_block</a> </td><td> <a href = "#offset">Offset</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#cable_strips">Cable_strips</a> </td><td> <a href = "#microview">Microview</a> </td><td> <a href = "#servo_motors">Servo_motors</a> </td><td> <a href = "#flat_hinge">Flat_hinge</a> </td><td> <a href = "#pcb_utils">PCB_utils</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#cameras">Cameras</a> </td><td> <a href = "#modules">Modules</a> </td><td> <a href = "#shaft_couplings">Shaft_couplings</a> </td><td> <a href = "#foot">Foot</a> </td><td> <a href = "#quadrant">Quadrant</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#circlips">Circlips</a> </td><td> <a href = "#nuts">Nuts</a> </td><td> <a href = "#sheets">Sheets</a> </td><td> <a href = "#handle">Handle</a> </td><td> <a href = "#round">Round</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#components">Components</a> </td><td> <a href = "#o_ring">O_ring</a> </td><td> <a href = "#spades">Spades</a> </td><td> <a href = "#knob">Knob</a> </td><td> <a href = "#rounded_cylinder">Rounded_cylinder</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#dip">DIP</a> </td><td> <a href = "#opengrab">Opengrab</a> </td><td> <a href = "#spools">Spools</a> </td><td> <a href = "#led_bezel">LED_bezel</a> </td><td> <a href = "#rounded_polygon">Rounded_polygon</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#d_connectors">D_connectors</a> </td><td> <a href = "#pcb">PCB</a> </td><td> <a href = "#springs">Springs</a> </td><td> <a href = "#pcb_mount">PCB_mount</a> </td><td> <a href = "#rounded_triangle">Rounded_triangle</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#displays">Displays</a> </td><td> <a href = "#pcbs">PCBs</a> </td><td> <a href = "#stepper_motors">Stepper_motors</a> </td><td> <a href = "#psu_shroud">PSU_shroud</a> </td><td> <a href = "#sector">Sector</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#extrusion_brackets">Extrusion_brackets</a> </td><td> <a href = "#psus">PSUs</a> </td><td> <a href = "#swiss_clips">Swiss_clips</a> </td><td> <a href = "#pocket_handle">Pocket_handle</a> </td><td> <a href = "#splines">Splines</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#extrusions">Extrusions</a> </td><td> <a href = "#panel_meters">Panel_meters</a> </td><td> <a href = "#terminals">Terminals</a> </td><td> <a href = "#press_fit">Press_fit</a> </td><td> <a href = "#sweep">Sweep</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#fans">Fans</a> </td><td> <a href = "#photo_interrupters">Photo_interrupters</a> </td><td> <a href = "#toggles">Toggles</a> </td><td> <a href = "#printed_box">Printed_box</a> </td><td> <a href = "#thread">Thread</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#fastons">Fastons</a> </td><td> <a href = "#pillars">Pillars</a> </td><td> <a href = "#transformers">Transformers</a> </td><td> <a href = "#printed_pulleys">Printed_pulleys</a> </td><td> <a href = "#tube">Tube</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#fuseholder">Fuseholder</a> </td><td> <a href = "#pillow_blocks">Pillow_blocks</a> </td><td> <a href = "#ttracks">Ttracks</a> </td><td> <a href = "#ribbon_clamp">Ribbon_clamp</a> </td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#gear_motors">Gear_motors</a> </td><td> <a href = "#pin_headers">Pin_headers</a> </td><td> <a href = "#tubings">Tubings</a> </td><td> <a href = "#ssr_shroud">SSR_shroud</a> </td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#geared_steppers">Geared_steppers</a> </td><td> <a href = "#potentiometers">Potentiometers</a> </td><td> <a href = "#variacs">Variacs</a> </td><td> <a href = "#screw_knob">Screw_knob</a> </td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#green_terminals">Green_terminals</a> </td><td> <a href = "#pulleys">Pulleys</a> </td><td> <a href = "#veroboard">Veroboard</a> </td><td> <a href = "#socket_box">Socket_box</a> </td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#hot_ends">Hot_ends</a> </td><td></td><td> <a href = "#washers">Washers</a> </td><td> <a href = "#strap_handle">Strap_handle</a> </td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#hygrometer">Hygrometer</a> </td><td></td><td> <a href = "#wire">Wire</a> </td><td></td><td></td><td></td></tr>
|
||||
<tr><td></td><td></td><td> <a href = "#zipties">Zipties</a> </td><td></td><td></td><td></td></tr>
|
||||
</table>
|
||||
|
||||
---
|
||||
@@ -233,13 +234,16 @@ Also single bearing balls are modelled as just a silver sphere and a BOM entry.
|
||||
| 1 | `ball_bearing(BB686)` | Ball bearing 686ZZ 6mm x 13mm x 5mm |
|
||||
| 1 | `ball_bearing(BB696)` | Ball bearing 696ZZ 6mm x 16mm x 5mm |
|
||||
| 1 | `ball_bearing(BBF623)` | Ball bearing F623-2RS 3mm x 10mm x 4mm |
|
||||
| 1 | `ball_bearing(BBF625)` | Ball bearing F625ZZ 5mm x 16mm x 5mm |
|
||||
| 1 | `ball_bearing(BBF693)` | Ball bearing F693ZZ 3mm x 8mm x 3mm |
|
||||
| 1 | `ball_bearing(BBF695)` | Ball bearing F695ZZ 5mm x 13mm x 4mm |
|
||||
| 1 | `ball_bearing(BBMR63)` | Ball bearing MR63ZZ 3mm x 6mm x 2.5mm |
|
||||
| 1 | `ball_bearing(BBMR83)` | Ball bearing MR83ZZ 3mm x 8mm x 3mm |
|
||||
| 1 | `ball_bearing(BBMR85)` | Ball bearing MR85ZZ 5mm x 8mm x 2.5mm |
|
||||
| 1 | `ball_bearing(BBMR93)` | Ball bearing MR93ZZ 3mm x 9mm x 4mm |
|
||||
| 1 | `ball_bearing(BBMR95)` | Ball bearing MR95ZZ 5mm x 9mm x 3mm |
|
||||
| 1 | `ball_bearing(BBSMR95)` | Ball bearing SMR95ZZ 5mm x 9mm x 2.5mm |
|
||||
| 7 | ` bearing_ball(3)` | Steel ball 3mm |
|
||||
| 8 | ` bearing_ball(3)` | Steel ball 3mm |
|
||||
|
||||
|
||||
<a href="#top">Top</a>
|
||||
@@ -2374,6 +2378,8 @@ If a nut is given a child then it gets placed on its top surface.
|
||||
| `nut_square_width(type)` | Width of the square nut |
|
||||
| `nut_trap_depth(type)` | Depth of nut trap |
|
||||
| `nut_washer(type)` | Corresponding washer |
|
||||
| `nut_weld_base_r(type)` | Weld nut base radius |
|
||||
| `nut_weld_base_t(type)` | Weld nut base thickness |
|
||||
|
||||
### Functions
|
||||
| Function | Description |
|
||||
@@ -2393,7 +2399,9 @@ If a nut is given a child then it gets placed on its top surface.
|
||||
| `nut_and_washer(type, nyloc)` | Draw nut with corresponding washer |
|
||||
| `nut_square(type, brass = false, nylon = false)` | Draw specified square nut |
|
||||
| `nut_trap(screw, nut, depth = 0, horizontal = false, supported = false, h = 200)` | Make a nut trap |
|
||||
| `sliding_ball_t_nut(size, w, h, r)` | Draw a sliding ball t nut |
|
||||
| `sliding_t_nut(type)` | Draw a sliding T nut, T nut with a spring loaded ball or a hammer nut. |
|
||||
| `weld_nut(type)` | draw a weld nut |
|
||||
| `wingnut(type)` | Draw a wingnut |
|
||||
|
||||

|
||||
@@ -2436,6 +2444,8 @@ If a nut is given a child then it gets placed on its top surface.
|
||||
| 1 | `nut(M8_nut, nyloc = true)` | Nut M8 x 6.5mm nyloc |
|
||||
| 1 | `nut(M8nS_thin_nut)` | Nut M8nS 13 x 4mm |
|
||||
| 1 | `washer(M6_washer)` | Washer M6 x 12.5mm x 1.5mm |
|
||||
| 1 | `weld nut(M4_weld_nut)` | Weld Nut M4 |
|
||||
| 1 | `weld nut(M6_weld_nut)` | Weld Nut M6 |
|
||||
| 1 | `wingnut(M4_wingnut)` | Wingnut M4 |
|
||||
|
||||
|
||||
@@ -3372,9 +3382,14 @@ Timing belt pulleys, both toothed and plain with internal bearings for idlers.
|
||||
### Vitamins
|
||||
| Qty | Module call | BOM entry |
|
||||
| ---:|:--- |:---|
|
||||
| 1 | `pulley(GT2x16_pulley_9)` | Pulley GT2 16 teeth |
|
||||
| 1 | `pulley(GT2x16_pulley)` | Pulley GT2 16 teeth |
|
||||
| 1 | `pulley(GT2x20_pulley_9)` | Pulley GT2 20 teeth |
|
||||
| 1 | `pulley(GT2x80_pulley)` | Pulley GT2 80 teeth |
|
||||
| 1 | `pulley(GT2x16_toothed_idler)` | Pulley GT2 idler 16 teeth |
|
||||
| 1 | `pulley(GT2x16_toothed_idler_9)` | Pulley GT2 idler 16 teeth |
|
||||
| 1 | `pulley(GT2x20_toothed_idler)` | Pulley GT2 idler 20 teeth |
|
||||
| 1 | `pulley(GT2x20_toothed_idler_9)` | Pulley GT2 idler 20 teeth |
|
||||
| 1 | `pulley(GT2x20_plain_idler)` | Pulley GT2 idler smooth 12mm |
|
||||
| 1 | `pulley(GT2x16_plain_idler)` | Pulley GT2 idler smooth 9.63mm |
|
||||
| 1 | `pulley(GT2x16x7_plain_idler)` | Pulley GT2 idler smooth 9.63mm |
|
||||
@@ -3386,8 +3401,9 @@ Timing belt pulleys, both toothed and plain with internal bearings for idlers.
|
||||
| 1 | `screw(M3_grub_screw, 3)` | Screw M3 grub x 3mm |
|
||||
| 2 | `screw(M3_grub_screw, 4.5)` | Screw M3 grub x 4.5mm |
|
||||
| 2 | `screw(M3_grub_screw, 4)` | Screw M3 grub x 4mm |
|
||||
| 4 | `screw(M3_grub_screw, 6)` | Screw M3 grub x 6mm |
|
||||
| 1 | `screw(M4_grub_screw, 6)` | Screw M4 grub x 6mm |
|
||||
| 6 | `screw(M3_grub_screw, 6)` | Screw M3 grub x 6mm |
|
||||
| 3 | `screw(M4_grub_screw, 6)` | Screw M4 grub x 6mm |
|
||||
| 2 | `screw(M5_grub_screw, 6)` | Screw M5 grub x 6mm |
|
||||
|
||||
|
||||
<a href="#top">Top</a>
|
||||
@@ -3723,6 +3739,48 @@ These items are symmetrical, so by default the origin is in the centre but it ca
|
||||
| 1 | `studding(8, 80)` | Threaded rod M8 x 80mm |
|
||||
|
||||
|
||||
<a href="#top">Top</a>
|
||||
|
||||
---
|
||||
<a name="rod_ends"></a>
|
||||
## Rod_ends
|
||||
A rod end, sometimes called a spherical bearing or rod-end eye, is a component used in mechanical systems to create a flexible connection between two parts.
|
||||
|
||||
[vitamins/rod_ends.scad](vitamins/rod_ends.scad) Object definitions.
|
||||
|
||||
[vitamins/rod_end.scad](vitamins/rod_end.scad) Implementation.
|
||||
|
||||
[tests/rod_ends.scad](tests/rod_ends.scad) Code for this example.
|
||||
|
||||
### Properties
|
||||
| Function | Description |
|
||||
|:--- |:--- |
|
||||
| `rod_end_bearing_bore(type)` | radius of the bore hole in the bearing |
|
||||
| `rod_end_bearing_od(type)` | Outer diameter of the bearing |
|
||||
| `rod_end_bearing_rim(type)` | Outer rim thickness guesstimate |
|
||||
| `rod_end_bearing_shield_colour(type)` | Shield colour, "silver" for metal |
|
||||
| `rod_end_bearing_width(type)` | Width |
|
||||
| `rod_end_bore_width(type)` | Width |
|
||||
| `rod_end_overall_length(type)` | overall length of the rod end |
|
||||
| `rod_end_screw_length(type)` | length of the screw from eye center, not the bore |
|
||||
| `rod_end_screw_radius(type)` | radius of the screw end, not the bore |
|
||||
| `rod_end_sphere_radius(type)` | radius of the rod end sphere |
|
||||
| `rod_end_sphere_seg_width(type)` | the width of the pivoting part, effectively a (sphere - sphereCaps - center bore) |
|
||||
| `rod_end_thread_length(type)` | length of the threads |
|
||||
|
||||
### Modules
|
||||
| Module | Description |
|
||||
|:--- |:--- |
|
||||
| `rod_end_bearing(type)` | Draw a rod end bearing |
|
||||
|
||||

|
||||
|
||||
### Vitamins
|
||||
| Qty | Module call | BOM entry |
|
||||
| ---:|:--- |:---|
|
||||
| 1 | `Rod End Bearing(RE_m5_bearing, 33)` | Rod End Bearing 5 x 33mm |
|
||||
|
||||
|
||||
<a href="#top">Top</a>
|
||||
|
||||
---
|
||||
@@ -3856,11 +3914,13 @@ For an explanation of `screw_polysink()` see <https://hydraraptor.blogspot.com/2
|
||||
| 1 | `screw(M5_pan_screw, 30)` | Screw M5 pan x 30mm |
|
||||
| 1 | `screw(M6_cap_screw, 30)` | Screw M6 cap x 30mm |
|
||||
| 1 | `screw(M6_cs_cap_screw, 30)` | Screw M6 cs cap x 30mm |
|
||||
| 1 | `screw(M6_dome_screw, 30)` | Screw M6 dome x 30mm |
|
||||
| 1 | `screw(M6_grub_screw, 12)` | Screw M6 grub x 12mm |
|
||||
| 1 | `screw(M6_hex_screw, 30)` | Screw M6 hex x 30mm |
|
||||
| 1 | `screw(M6_pan_screw, 30)` | Screw M6 pan x 30mm |
|
||||
| 1 | `screw(M8_cap_screw, 35)` | Screw M8 cap x 35mm |
|
||||
| 1 | `screw(M8_cs_cap_screw, 35)` | Screw M8 cs cap x 35mm |
|
||||
| 1 | `screw(M8_dome_screw, 35)` | Screw M8 dome x 35mm |
|
||||
| 1 | `screw(M8_hex_screw, 30)` | Screw M8 hex x 30mm |
|
||||
| 1 | `screw(No2_screw, 10)` | Screw No2 pan wood x 10mm |
|
||||
| 1 | `screw(No4_screw, 10)` | Screw No4 pan wood x 10mm |
|
||||
@@ -4405,6 +4465,7 @@ By default springs have their origin at the bottom but can be centered.
|
||||
| ---:|:--- |:---|
|
||||
| 1 | `comp_spring(batt_spring)` | Spring 5 - 6mm spiral OD, 0.5mm gauge x 8mm long, closed end |
|
||||
| 1 | `comp_spring(peg_spring)` | Spring 6.4mm OD, 0.9mm gauge x 15.5mm long, closed end |
|
||||
| 1 | `comp_spring(yellow_bed_spring)` | Spring 8mm OD, 0.9mm gauge x 20mm long, closed end |
|
||||
|
||||
|
||||
<a href="#top">Top</a>
|
||||
@@ -4504,18 +4565,19 @@ NEMA stepper motor model.
|
||||
| Qty | Module call | BOM entry |
|
||||
| ---:|:--- |:---|
|
||||
| 4 | `ring_terminal(M3_ringterm)` | Ring terminal 3mm |
|
||||
| 20 | `screw(M3_pan_screw, 8)` | Screw M3 pan x 8mm |
|
||||
| 1 | `NEMA(NEMA14_36)` | Stepper motor NEMA14 x 36mm |
|
||||
| 1 | `NEMA(NEMA16_19)` | Stepper motor NEMA16 x 19.2mm |
|
||||
| 1 | `NEMA(NEMA17_27)` | Stepper motor NEMA17 x 26.5mm |
|
||||
| 1 | `NEMA(NEMA17_34)` | Stepper motor NEMA17 x 34mm |
|
||||
| 1 | `NEMA(NEMA17_40)` | Stepper motor NEMA17 x 40mm |
|
||||
| 1 | `NEMA(NEMA17_47)` | Stepper motor NEMA17 x 47mm |
|
||||
| 1 | `NEMA(NEMA23_51)` | Stepper motor NEMA22 x 51.2mm |
|
||||
| 1 | `NEMA(NEMA8_30)` | Stepper motor NEMA8 x 30mm |
|
||||
| 1 | `NEMA(NEMA8_30BH)` | Stepper motor NEMA8 x 30mm |
|
||||
| 16 | `washer(M3_washer)` | Washer M3 x 7mm x 0.5mm |
|
||||
| 20 | `star_washer(M3_washer)` | Washer star M3 x 0.5mm |
|
||||
| 25 | `screw(M3_pan_screw, 8)` | Screw M3 pan x 8mm |
|
||||
| 1 | `NEMA(NEMA14_36)` | Stepper motor NEMA14 x 36mm (5x21 shaft) |
|
||||
| 1 | `NEMA(NEMA16_19)` | Stepper motor NEMA16 x 19.2mm (5x12 shaft) |
|
||||
| 1 | `NEMA(NEMA17_27)` | Stepper motor NEMA17 x 26.5mm (5x26.5 shaft) |
|
||||
| 1 | `NEMA(NEMA17_34)` | Stepper motor NEMA17 x 34mm (5x24 shaft) |
|
||||
| 1 | `NEMA(NEMA17_40)` | Stepper motor NEMA17 x 40mm (5x20 shaft) |
|
||||
| 1 | `NEMA(NEMA17_47)` | Stepper motor NEMA17 x 47mm (5x24 shaft) |
|
||||
| 1 | `NEMA(NEMA17_47L80)` | Stepper motor NEMA17 x 47mm (5x80 shaft) |
|
||||
| 1 | `NEMA(NEMA23_51)` | Stepper motor NEMA22 x 51.2mm (6.35x24 shaft) |
|
||||
| 1 | `NEMA(NEMA8_30)` | Stepper motor NEMA8 x 30mm (4x6 shaft) |
|
||||
| 1 | `NEMA(NEMA8_30BH)` | Stepper motor NEMA8 x 30mm (5x12 shaft) |
|
||||
| 21 | `washer(M3_washer)` | Washer M3 x 7mm x 0.5mm |
|
||||
| 25 | `star_washer(M3_washer)` | Washer star M3 x 0.5mm |
|
||||
|
||||
|
||||
<a href="#top">Top</a>
|
||||
@@ -6512,8 +6574,9 @@ Creative Commons - Attribution - Share Alike license (see <https://creativecommo
|
||||
| 1 | `screw(M3_grub_screw, 3)` | Screw M3 grub x 3mm |
|
||||
| 2 | `screw(M3_grub_screw, 4.5)` | Screw M3 grub x 4.5mm |
|
||||
| 2 | `screw(M3_grub_screw, 4)` | Screw M3 grub x 4mm |
|
||||
| 4 | `screw(M3_grub_screw, 6)` | Screw M3 grub x 6mm |
|
||||
| 1 | `screw(M4_grub_screw, 6)` | Screw M4 grub x 6mm |
|
||||
| 6 | `screw(M3_grub_screw, 6)` | Screw M3 grub x 6mm |
|
||||
| 3 | `screw(M4_grub_screw, 6)` | Screw M4 grub x 6mm |
|
||||
| 2 | `screw(M5_grub_screw, 6)` | Screw M5 grub x 6mm |
|
||||
|
||||
### Printed
|
||||
| Qty | Filename |
|
||||
@@ -6521,12 +6584,17 @@ Creative Commons - Attribution - Share Alike license (see <https://creativecommo
|
||||
| 1 | printed_pulley_GT2x12_pulley.stl |
|
||||
| 1 | printed_pulley_GT2x16_plain_idler.stl |
|
||||
| 1 | printed_pulley_GT2x16_pulley.stl |
|
||||
| 1 | printed_pulley_GT2x16_pulley_9.stl |
|
||||
| 1 | printed_pulley_GT2x16_toothed_idler.stl |
|
||||
| 1 | printed_pulley_GT2x16_toothed_idler_9.stl |
|
||||
| 1 | printed_pulley_GT2x16x7_plain_idler.stl |
|
||||
| 1 | printed_pulley_GT2x20_plain_idler.stl |
|
||||
| 1 | printed_pulley_GT2x20_pulley_9.stl |
|
||||
| 1 | printed_pulley_GT2x20_toothed_idler.stl |
|
||||
| 1 | printed_pulley_GT2x20_toothed_idler_9.stl |
|
||||
| 1 | printed_pulley_GT2x20ob_pulley.stl |
|
||||
| 1 | printed_pulley_GT2x20um_pulley.stl |
|
||||
| 1 | printed_pulley_GT2x80_pulley.stl |
|
||||
| 1 | printed_pulley_T2p5x16_pulley.stl |
|
||||
| 1 | printed_pulley_T5x10_pulley.stl |
|
||||
|
||||
@@ -6535,13 +6603,18 @@ Creative Commons - Attribution - Share Alike license (see <https://creativecommo
|
||||
| ---:|:--- |
|
||||
| 1 | printed_pulley_GT2x12_pulley_assembly |
|
||||
| 1 | printed_pulley_GT2x16_plain_idler_assembly |
|
||||
| 1 | printed_pulley_GT2x16_pulley_9_assembly |
|
||||
| 1 | printed_pulley_GT2x16_pulley_assembly |
|
||||
| 1 | printed_pulley_GT2x16_toothed_idler_9_assembly |
|
||||
| 1 | printed_pulley_GT2x16_toothed_idler_assembly |
|
||||
| 1 | printed_pulley_GT2x16x7_plain_idler_assembly |
|
||||
| 1 | printed_pulley_GT2x20_plain_idler_assembly |
|
||||
| 1 | printed_pulley_GT2x20_pulley_9_assembly |
|
||||
| 1 | printed_pulley_GT2x20_toothed_idler_9_assembly |
|
||||
| 1 | printed_pulley_GT2x20_toothed_idler_assembly |
|
||||
| 1 | printed_pulley_GT2x20ob_pulley_assembly |
|
||||
| 1 | printed_pulley_GT2x20um_pulley_assembly |
|
||||
| 1 | printed_pulley_GT2x80_pulley_assembly |
|
||||
| 1 | printed_pulley_T2p5x16_pulley_assembly |
|
||||
| 1 | printed_pulley_T5x10_pulley_assembly |
|
||||
|
||||
@@ -7038,7 +7111,7 @@ allows flexible positioning of the motors.
|
||||
| 2 | `pulley(GT2x20ob_pulley)` | Pulley GT2OB 20 teeth |
|
||||
| 8 | `screw(M3_cap_screw, 20)` | Screw M3 cap x 20mm |
|
||||
| 4 | `screw(M3_grub_screw, 6)` | Screw M3 grub x 6mm |
|
||||
| 2 | `NEMA(NEMA17_40)` | Stepper motor NEMA17 x 40mm |
|
||||
| 2 | `NEMA(NEMA17_40)` | Stepper motor NEMA17 x 40mm (5x20 shaft) |
|
||||
|
||||
|
||||
<a href="#top">Top</a>
|
||||
|
@@ -86,12 +86,12 @@ module nuts() {
|
||||
nut_square(M8nS_thin_nut);
|
||||
}
|
||||
|
||||
translate([0,150]){
|
||||
translate([0,140]) {
|
||||
if(n==M4_nut)
|
||||
weld_nut(M4_weld_nut);
|
||||
if(n==M6_nut)
|
||||
weld_nut(M6_weld_nut);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 135 KiB After Width: | Height: | Size: 132 KiB |
Before Width: | Height: | Size: 116 KiB After Width: | Height: | Size: 116 KiB |
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 63 KiB |
Before Width: | Height: | Size: 128 KiB After Width: | Height: | Size: 129 KiB |
Before Width: | Height: | Size: 122 KiB After Width: | Height: | Size: 122 KiB |
Before Width: | Height: | Size: 145 KiB After Width: | Height: | Size: 147 KiB |
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 113 KiB After Width: | Height: | Size: 114 KiB |
Before Width: | Height: | Size: 147 KiB After Width: | Height: | Size: 149 KiB |
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 60 KiB |
Before Width: | Height: | Size: 126 KiB After Width: | Height: | Size: 126 KiB |
Before Width: | Height: | Size: 241 KiB After Width: | Height: | Size: 241 KiB |
Before Width: | Height: | Size: 116 KiB After Width: | Height: | Size: 135 KiB |
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 93 KiB After Width: | Height: | Size: 92 KiB |
Before Width: | Height: | Size: 193 KiB After Width: | Height: | Size: 194 KiB |
BIN
tests/png/rod_ends.png
Normal file
After Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 160 KiB After Width: | Height: | Size: 165 KiB |
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 91 KiB After Width: | Height: | Size: 182 KiB |
Before Width: | Height: | Size: 104 KiB After Width: | Height: | Size: 111 KiB |
Before Width: | Height: | Size: 168 KiB After Width: | Height: | Size: 169 KiB |
@@ -22,9 +22,16 @@ include <../vitamins/pulleys.scad>
|
||||
include <../printed/printed_pulleys.scad>
|
||||
use <../utils/layout.scad>
|
||||
|
||||
n = len(pulleys) - 1;
|
||||
half = floor((n - 1) / 2);
|
||||
split = n - half;
|
||||
pulleys1 = [for(i = [0 : split - 1]) pulleys[i]];
|
||||
pulleys2 = [for(i = [split : n - 1]) pulleys[i]];
|
||||
|
||||
module printed_pulley_test(show_metal = false) {
|
||||
layout([for (p = pulleys) pulley_flange_dia(p)]) let(p = pulleys[$i]) {
|
||||
max_d = max([for(p = concat(pulleys1, pulleys2)) pulley_flange_dia(p)]);
|
||||
|
||||
module do_list(list, show_metal) {
|
||||
layout([for (p = list) max_d]) let(p = list[$i]) {
|
||||
rotate(-145)
|
||||
if($preview)
|
||||
printed_pulley_assembly(p);
|
||||
@@ -33,12 +40,23 @@ module printed_pulley_test(show_metal = false) {
|
||||
|
||||
if(show_metal)
|
||||
not_on_bom()
|
||||
translate([0, 20])
|
||||
translate([0, 60])
|
||||
rotate(-145)
|
||||
pulley_assembly(p);
|
||||
}
|
||||
}
|
||||
|
||||
module printed_pulley_test(show_metal = false) {
|
||||
translate([0, 10])
|
||||
do_list(pulleys1, show_metal);
|
||||
|
||||
translate([0, -10])
|
||||
do_list(pulleys2, show_metal);
|
||||
|
||||
translate([split * (max_d + 5), 0])
|
||||
do_list([pulleys[n]], show_metal);
|
||||
}
|
||||
|
||||
if($preview)
|
||||
printed_pulley_test(true);
|
||||
else
|
||||
|
@@ -1,3 +1,21 @@
|
||||
//
|
||||
// NopSCADlib Copyright Chris Palmer 2024
|
||||
// nop.head@gmail.com
|
||||
// hydraraptor.blogspot.com
|
||||
//
|
||||
// This file is part of NopSCADlib.
|
||||
//
|
||||
// NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the
|
||||
// GNU General Public License as published by the Free Software Foundation, either version 3 of
|
||||
// the License, or (at your option) any later version.
|
||||
//
|
||||
// NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||
// without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
// See the GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License along with NopSCADlib.
|
||||
// If not, see <https://www.gnu.org/licenses/>.
|
||||
//
|
||||
|
||||
include <../utils/core/core.scad>
|
||||
use <../utils/layout.scad>
|
||||
@@ -5,13 +23,12 @@ use <../utils/layout.scad>
|
||||
include <../vitamins/rod_ends.scad>
|
||||
|
||||
|
||||
module do_rod_ends(list) {
|
||||
module rod_ends(list = rod_ends) {
|
||||
diameters = [for(b = list) rod_end_bearing_od(b)];
|
||||
max = max(diameters);
|
||||
layout(diameters) let(b = list[$i])
|
||||
//translate([0, (max - bb_diameter(b)) / 2])
|
||||
rod_end_bearing(list[$i]);
|
||||
rod_end_bearing(list[$i]);
|
||||
}
|
||||
|
||||
if($preview)
|
||||
do_rod_ends(rod_ends);
|
||||
rod_ends();
|
||||
|
@@ -41,9 +41,12 @@ function nut_dome(type) = type[8]; //! Dome height and max thread d
|
||||
|
||||
function nut_flat_radius(type) = nut_radius(type) * cos(30); //! Radius across the flats
|
||||
|
||||
function nut_square_size(type) = type[1]; //! Diameter of the corresponding screw
|
||||
function nut_square_width(type) = type[2]; //! Width of the square nut
|
||||
function nut_square_thickness(type) = type[3]; //! Thickness of the square nut
|
||||
function nut_square_size(type) = type[1]; //! Diameter of the corresponding screw
|
||||
function nut_square_width(type) = type[2]; //! Width of the square nut
|
||||
function nut_square_thickness(type) = type[3]; //! Thickness of the square nut
|
||||
|
||||
function nut_weld_base_r(type) = type[7] / 2; //! Weld nut base radius
|
||||
function nut_weld_base_t(type) = type[8]; //! Weld nut base thickness
|
||||
|
||||
function nut_dome_height(type) = let(d = nut_dome(type)) d ? d[0] : nut_thickness(type); //! Height of the domed version
|
||||
function nut_thread_depth(type) = let(d = nut_dome(type)) d ? d[1] : nut_thickness(type); //! Max thread depth in domed version
|
||||
@@ -190,7 +193,7 @@ module wingnut(type) { //! Draw a wingnut
|
||||
|
||||
function t_nut_tab(type) = [type[8], type[9]]; //! Sliding t-nut T dimensions
|
||||
|
||||
module sliding_ball_t_nut(size, w, h, r) { //! Draw a sliding ball t nut
|
||||
module sliding_ball_t_nut(size, w, h, r) { //! Draw a sliding ball t nut
|
||||
rad = 0.5;
|
||||
stem = size.z - h;
|
||||
ball_d = 4;
|
||||
@@ -249,14 +252,13 @@ module weld_nut(type) { //! draw a weld nut
|
||||
thread_d = nut_size(type);
|
||||
hole_rad = thread_d / 2;
|
||||
nut_neck_rad = nut_radius(type);
|
||||
// top_rad = type[4] / 2;
|
||||
thickness = nut_thickness(type);
|
||||
base_rad = type[7]/2;
|
||||
base_thickness= type[8];
|
||||
base_rad = nut_weld_base_r(type);
|
||||
base_thickness = nut_weld_base_t(type);
|
||||
|
||||
|
||||
vitamin(str("weld nut(", type[0], "): Weld Nut M", nut_size(type)));
|
||||
colour = silver;
|
||||
colour = silver;
|
||||
explode(-20) {
|
||||
color(colour) {
|
||||
|
||||
|
@@ -50,8 +50,10 @@ M8_nut = ["M8_nut", 8, 15, 6.5, 8, M8_washer, M8_n
|
||||
toggle_nut = ["toggle_nut", 6.1, 9.2, 1.5, 1.5, M6_washer, 1.5, inch(1/40)];
|
||||
|
||||
M4_wingnut = ["M4_wingnut", 4, 10, 3.75,8, M4_washer, 0, 22, 10, 6, 3];
|
||||
M4_weld_nut = ["M4_weld_nut", 4, 5.3, 6.3, 8, M4_washer, 0, 18, 0.8, 6, 3];
|
||||
M6_weld_nut = ["M6_weld_nut", 6, 7.7, 7.9, 8, M6_washer, 0, 19.1, 1.2, 6, 3];
|
||||
|
||||
M4_weld_nut = ["M4_weld_nut", 4, 5.3, 6.3, 8, M4_washer, 0, 18, 0.8,]; // Base diameter and thickness
|
||||
M6_weld_nut = ["M6_weld_nut", 6, 7.7, 7.9, 8, M6_washer, 0, 19.1, 1.2,];
|
||||
|
||||
// sx ty1 ty2 hammer
|
||||
M3_sliding_t_nut = ["M3_sliding_t_nut", 3, 6, 3.0, 4.0, false, 0, 10, 10, 6, false];
|
||||
M4_sliding_t_nut = ["M4_sliding_t_nut", 4, 6, 3.7, 4.7, false, 0, 11, 10, 6, false];
|
||||
|
@@ -26,7 +26,7 @@ include <belts.scad>
|
||||
// e e s
|
||||
// l z
|
||||
// d t
|
||||
//
|
||||
//
|
||||
T5x10_pulley = ["T5x10_pulley", "T5", 10, 15, T5x6, 11.6, 7.9, 7, 5, 19.3, 1.7, 3, 10.7, M3_grub_screw, 1];
|
||||
T2p5x16_pulley = ["T2p5x16_pulley", "T2.5", 16, 12.16, T2p5x6, 8, 16, 5.7, 5, 16.0, 1.0, 6, 3.75, M4_grub_screw, 1];
|
||||
GT2x20um_pulley = ["GT2x20um_pulley", "GT2UM", 20, 12.22, GT2x6, 7.5, 18, 6.5, 5, 18.0, 1.0, 6, 3.75, M3_grub_screw, 2]; //Ultimaker
|
||||
@@ -39,26 +39,33 @@ GT2x16_toothed_idler = ["GT2x16_toothed_idler", "GT2", 16, 9.75, GT2x6, 6.
|
||||
GT2x16_plain_idler = ["GT2x16_plain_idler", "GT2", 0, 9.63, GT2x6, 6.5, 13, 0, 3, 13.0, 1.0, 0, 0, false, 0];
|
||||
GT2x16x7_plain_idler = ["GT2x16x7_plain_idler", "GT2", 0, 9.63, GT2x6, 7.0, 13, 0, 3, 13.0, 1.0, 0, 0, false, 0];
|
||||
|
||||
GT2x80_pulley = ["GT2x80_pulley", "GT2", 80, 50.42, GT2x6, 7, 35, 9, 5, 55, 1.0, 6, 4.5, M5_grub_screw, 2]; // Powge branded from West3D
|
||||
GT2x80_pulley = ["GT2x80_pulley", "GT2", 80, 50.42, GT2x6, 7, 35, 9, 5, 55, 1.0, 6, 4.5, M5_grub_screw, 2]; // Powge branded from West3D
|
||||
GT2x16_toothed_idler_9 = ["GT2x16_toothed_idler_9", "GT2", 16, 9.75, GT2x9, 10, 14, 0, 3, 14.0, 1.0, 0, 0, false, 0];//Robotdigg
|
||||
GT2x16_pulley_9 = ["GT2x16_pulley_9", "GT2", 16, 9.65, GT2x9, 9.5, 14, 6.5, 5, 14.0, 1.0, 6, 3.5, M3_grub_screw, 2];
|
||||
GT2x20_pulley_9 = ["GT2x20_pulley_9", "GT2", 20, 12.22, GT2x9, 11, 16, 7, 5, 16.0, 1.0, 6, 3.25, M4_grub_screw, 2];//Powge
|
||||
GT2x16_pulley_9 = ["GT2x16_pulley_9", "GT2", 16, 9.65, GT2x9, 9.5, 14, 6.5, 5, 14.0, 1.0, 6, 3.5, M3_grub_screw, 2];
|
||||
GT2x20_pulley_9 = ["GT2x20_pulley_9", "GT2", 20, 12.22, GT2x9, 11, 16, 7, 5, 16.0, 1.0, 6, 3.25, M4_grub_screw, 2];//Powge
|
||||
GT2x20_toothed_idler_9 = ["GT2x20_toothed_idler_9", "GT2", 20, 12.22, GT2x9, 10, 18, 0, 5, 18.0, 1.0, 0, 0, false, 0];
|
||||
|
||||
|
||||
|
||||
pulleys = [T5x10_pulley,
|
||||
T2p5x16_pulley,
|
||||
GT2x20um_pulley,
|
||||
GT2x20ob_pulley,
|
||||
GT2x16_pulley,
|
||||
GT2x12_pulley,
|
||||
GT2x20_toothed_idler,
|
||||
GT2x20_plain_idler,
|
||||
GT2x16_toothed_idler,
|
||||
GT2x16_plain_idler,
|
||||
GT2x16x7_plain_idler
|
||||
|
||||
];
|
||||
pulleys = [
|
||||
T5x10_pulley,
|
||||
T2p5x16_pulley,
|
||||
GT2x20_pulley_9,
|
||||
GT2x20um_pulley,
|
||||
GT2x20ob_pulley,
|
||||
GT2x16_pulley_9,
|
||||
GT2x16_pulley,
|
||||
GT2x12_pulley,
|
||||
|
||||
GT2x16_plain_idler,
|
||||
GT2x16x7_plain_idler,
|
||||
GT2x20_plain_idler,
|
||||
GT2x16_toothed_idler,
|
||||
GT2x16_toothed_idler_9,
|
||||
GT2x20_toothed_idler,
|
||||
GT2x20_toothed_idler_9,
|
||||
|
||||
GT2x80_pulley,
|
||||
];
|
||||
|
||||
use <pulley.scad>
|
||||
|
@@ -1,40 +1,55 @@
|
||||
//
|
||||
// NopSCADlib Copyright Chris Palmer 2024
|
||||
// nop.head@gmail.com
|
||||
// hydraraptor.blogspot.com
|
||||
//
|
||||
// This file is part of NopSCADlib.
|
||||
//
|
||||
// NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the
|
||||
// GNU General Public License as published by the Free Software Foundation, either version 3 of
|
||||
// the License, or (at your option) any later version.
|
||||
//
|
||||
// NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||
// without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
// See the GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License along with NopSCADlib.
|
||||
// If not, see <https://www.gnu.org/licenses/>.
|
||||
//
|
||||
|
||||
//
|
||||
//! A rod end, sometimes called a spherical bearing or rod-end eye, is a component used in mechanical systems to create a flexible connection between two parts.
|
||||
//
|
||||
include <NopSCADlib/utils/core/core.scad>
|
||||
include <NopSCADlib/utils/thread.scad>
|
||||
|
||||
|
||||
function rod_end_bearing_bore(type) =type[1]; //! radius of the bore hole in the bearing
|
||||
function rod_end_bearing_od(type) =type[2]; //! Outer diameter of the bearing
|
||||
function rod_end_bore_width(type) = type[3]; //! Width
|
||||
function rod_end_bearing_width(type) = type[4]; //! Width
|
||||
function rod_end_bearing_shield_colour(type) = type[5]; //! Shield colour, "silver" for metal
|
||||
function rod_end_screw_radius(type) =type[6]/2; //! radius of the screw end, not the bore
|
||||
// function screw_pitch(type) =type[6]; //! pitch of the screw end, not the bore
|
||||
function rod_end_sphere_seg_width(type) = type[7]; //! the width of the pivoting part, effectively a (sphere - sphereCaps - center bore)
|
||||
function rod_end_sphere_radius(type) = type[8]; //!radius of the rod end sphere
|
||||
function rod_end_screw_length(type) =type[9]; //! length of the screw from eye center, not the bore
|
||||
function rod_end_thread_length(type) =type[10]; //! length of the threads
|
||||
function rod_end_overall_length(type) = type[11]; //! overall length of the rod end
|
||||
function rod_end_bearing_rim(type) = type[12]; //! Outer rim thickness guesstimate
|
||||
|
||||
// function screw_thread_radius(type) = //! Thread radius
|
||||
// let(d = screw_thread_diameter(type)) is_undef(d) ? rod_end_screw_radius(type) : d / 2;
|
||||
|
||||
function rod_end_bearing_bore(type) = type[1]; //! radius of the bore hole in the bearing
|
||||
function rod_end_bearing_od(type) = type[2]; //! Outer diameter of the bearing
|
||||
function rod_end_bore_width(type) = type[3]; //! Width
|
||||
function rod_end_bearing_width(type) = type[4]; //! Width
|
||||
function rod_end_bearing_shield_colour(type) = type[5]; //! Shield colour, "silver" for metal
|
||||
function rod_end_screw_radius(type) = type[6] / 2;//! radius of the screw end, not the bore
|
||||
function rod_end_sphere_seg_width(type) = type[7]; //! the width of the pivoting part, effectively a (sphere - sphereCaps - center bore)
|
||||
function rod_end_sphere_radius(type) = type[8]; //!radius of the rod end sphere
|
||||
function rod_end_screw_length(type) = type[9]; //! length of the screw from eye center, not the bore
|
||||
function rod_end_thread_length(type) = type[10]; //! length of the threads
|
||||
function rod_end_overall_length(type) = type[11]; //! overall length of the rod end
|
||||
function rod_end_bearing_rim(type) = type[12]; //! Outer rim thickness guesstimate
|
||||
|
||||
module rod_end_bearing(type) { //! Draw a rod end bearing
|
||||
|
||||
bb_bore = rod_end_bearing_bore(type);
|
||||
bb_od=rod_end_bearing_od(type);
|
||||
bb_rim=rod_end_bearing_rim(type);
|
||||
|
||||
bb_width=rod_end_bearing_width(type);
|
||||
bb_bore = rod_end_bearing_bore(type);
|
||||
bb_od = rod_end_bearing_od(type);
|
||||
bb_rim = rod_end_bearing_rim(type);
|
||||
|
||||
bb_width = rod_end_bearing_width(type);
|
||||
bb_shield_colour = rod_end_bearing_shield_colour(type);
|
||||
length = rod_end_screw_length(type);
|
||||
sphere_rad = rod_end_sphere_radius(type)/2;
|
||||
sphere_rad = rod_end_sphere_radius(type) / 2;
|
||||
rod_end_sphere_seg_width= rod_end_sphere_seg_width(type);
|
||||
shaft_rad = rod_end_screw_radius(type) - eps;
|
||||
shaft_rad = rod_end_screw_radius(type) - eps;
|
||||
thread_rad = rod_end_screw_radius(type);
|
||||
thread = rod_end_thread_length(type); //length - bb_od/2;
|
||||
// thread = length - bb_od/2;
|
||||
thread_offset = 0;
|
||||
thread_d = 2 * thread_rad;
|
||||
pitch = metric_coarse_pitch(thread_d);
|
||||
@@ -42,77 +57,53 @@ module rod_end_bearing(type) { //! Draw a rod end bearing
|
||||
shield_width=bb_width - (bb_width < 5 ? 0.5 : 1);
|
||||
chamfer = bb_rim / 6;
|
||||
|
||||
description = str("Rod End Bearing ", type[1], length < 10 ? " x " : " x ", length, "mm");
|
||||
vitamin(str("Rod End Bearing(", type[0], length, "): ", description));
|
||||
|
||||
// show_threads=true;
|
||||
description = str("Rod End Bearing ", type[1], length < 10 ? " x " : " x ", length, "mm");
|
||||
vitamin(str("Rod End Bearing(", type[0], ", ", length, "): ", description));
|
||||
|
||||
module shaft(socket = 0, headless = false) {
|
||||
// point = screw_nut(type) ? 0 : 3 * shaft_rad;
|
||||
shank = length;
|
||||
shank = length;
|
||||
|
||||
if(show_threads && pitch)
|
||||
translate_z(-length - thread_offset)
|
||||
male_metric_thread(thread_d, pitch, thread, false, top = headless ? -1 : 0, solid = !headless, colour = colour);
|
||||
else
|
||||
color(colour * 0.9)
|
||||
rotate_extrude() {
|
||||
translate([0, -length - thread_offset])
|
||||
square([thread_rad - eps, thread ]);
|
||||
|
||||
// if(point)
|
||||
// polygon([
|
||||
// [0.4, -length], [0, point - length], [shaft_rad, point - length]
|
||||
// ]);
|
||||
}
|
||||
|
||||
|
||||
// if(shank > 0)
|
||||
// color(colour)
|
||||
// translate_z(-shank - socket)
|
||||
// cylinder(r = shaft_rad + eps, h = shank);
|
||||
if(show_threads && pitch)
|
||||
translate_z(-length - thread_offset)
|
||||
male_metric_thread(thread_d, pitch, thread, false, top = headless ? -1 : 0, solid = !headless, colour = colour);
|
||||
else
|
||||
color(colour * 0.9)
|
||||
rotate_extrude() {
|
||||
translate([0, -length - thread_offset])
|
||||
square([thread_rad - eps, thread ]);
|
||||
}
|
||||
}
|
||||
|
||||
module bearingEye(){
|
||||
rotate_extrude()
|
||||
{
|
||||
difference() {
|
||||
circle(r = sphere_rad);
|
||||
translate(v = [0,-sphere_rad])
|
||||
square(size = sphere_rad*2);
|
||||
module bearingEye() {
|
||||
color(colour)
|
||||
rotate_extrude()
|
||||
difference() {
|
||||
circle(r = sphere_rad);
|
||||
|
||||
for(i=[0,1])
|
||||
mirror(v = [0,i])
|
||||
translate(v = [-sphere_rad,rod_end_sphere_seg_width/2])
|
||||
square(size = sphere_rad*2);
|
||||
translate(v = [0, -sphere_rad])
|
||||
square(size = sphere_rad * 2);
|
||||
|
||||
square([bb_bore,rod_end_sphere_seg_width+1], center=true);
|
||||
}
|
||||
}
|
||||
for(i=[0, 1])
|
||||
mirror(v = [0, i])
|
||||
translate(v = [-sphere_rad,rod_end_sphere_seg_width / 2])
|
||||
square(size = sphere_rad * 2);
|
||||
|
||||
square([bb_bore, rod_end_sphere_seg_width + 1], center = true);
|
||||
}
|
||||
|
||||
color(bb_shield_colour)
|
||||
rotate_extrude()
|
||||
{
|
||||
difference() {
|
||||
translate([0,-shield_width/2])
|
||||
square([bb_od/2-bb_rim,shield_width]);
|
||||
circle(r = sphere_rad);
|
||||
}
|
||||
}
|
||||
rotate_extrude()
|
||||
difference() {
|
||||
translate([0, -shield_width / 2])
|
||||
square([bb_od / 2 - bb_rim,shield_width]);
|
||||
|
||||
// rotate_extrude()
|
||||
// {
|
||||
// translate([0,-bb_width/2])
|
||||
// difference() {
|
||||
// square([(bb_od)/2,bb_width]);
|
||||
// square([bb_od/2-bb_rim,bb_width]);
|
||||
// }
|
||||
// }
|
||||
circle(r = sphere_rad);
|
||||
}
|
||||
|
||||
rotate_extrude()
|
||||
color(colour) {
|
||||
rotate_extrude()
|
||||
hull() {
|
||||
// rim= bb_rim;
|
||||
or= bb_od/2;
|
||||
or = bb_od / 2;
|
||||
h = bb_width;
|
||||
translate([or - bb_rim, -h / 2 + chamfer])
|
||||
square([bb_rim, h - 2 * chamfer]);
|
||||
@@ -120,25 +111,24 @@ description = str("Rod End Bearing ", type[1], length < 10 ? " x " : " x ", len
|
||||
translate([or - bb_rim, -h / 2])
|
||||
square([bb_rim - chamfer, h]);
|
||||
}
|
||||
translate([0,0,-bb_width/2+chamfer])
|
||||
linear_extrude(bb_width-chamfer*2){
|
||||
difference() {
|
||||
|
||||
hull(){
|
||||
circle(r = bb_od/2);
|
||||
translate([length-thread,-shaft_rad])
|
||||
square([0.5,shaft_rad*2]);
|
||||
}
|
||||
circle(r = bb_od/2-bb_rim);
|
||||
}
|
||||
|
||||
translate_z(-bb_width/2+chamfer)
|
||||
linear_extrude(bb_width-chamfer*2)
|
||||
difference() {
|
||||
hull() {
|
||||
circle(r = bb_od/2);
|
||||
translate([length-thread,-shaft_rad])
|
||||
square([0.5,shaft_rad*2]);
|
||||
}
|
||||
circle(r = bb_od/2-bb_rim);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
shaft();
|
||||
rotate([0,90,0])
|
||||
bearingEye();
|
||||
shaft();
|
||||
|
||||
// square()
|
||||
}
|
||||
rotate([0,90,0])
|
||||
bearingEye();
|
||||
}
|
||||
|
@@ -1,5 +1,23 @@
|
||||
RE_m5_bearing = ["rodEndBearingM5", 5, 16, 8, 6, "gold", 5, 8, 11.11, 33, 21, 41, 2.0, 2.0, 0, 0]; // uxcell M5x0.8 Right Hand Thread, Self-Lubricating Joint Rod Ends
|
||||
//
|
||||
// NopSCADlib Copyright Chris Palmer 2024
|
||||
// nop.head@gmail.com
|
||||
// hydraraptor.blogspot.com
|
||||
//
|
||||
// This file is part of NopSCADlib.
|
||||
//
|
||||
// NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the
|
||||
// GNU General Public License as published by the Free Software Foundation, either version 3 of
|
||||
// the License, or (at your option) any later version.
|
||||
//
|
||||
// NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||
// without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
// See the GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License along with NopSCADlib.
|
||||
// If not, see <https://www.gnu.org/licenses/>.
|
||||
//
|
||||
RE_m5_bearing = ["RE_m5_bearing", 5, 16, 8, 6, brass, 5, 8, 11.11, 33, 21, 41, 2.0, 2.0, 0, 0]; // uxcell M5x0.8 Right Hand Thread, Self-Lubricating Joint Rod Ends
|
||||
|
||||
rod_ends= [ RE_m5_bearing];
|
||||
|
||||
use<rod_end.scad>
|
||||
use<rod_end.scad>
|
||||
|