Nessuna descrizione
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

dispenser.scad 1.3KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. include <config.scad>;
  2. use <gearbox.scad>;
  3. use <common.scad>;
  4. module dispenser_mount() {
  5. difference() {
  6. color("green")
  7. cube([disp_mount_width, disp_mount_len, disp_mount_wall]);
  8. translate([-disp_mount_off_x, disp_mount_off_y, 0]) {
  9. translate([0, 0, -1])
  10. cylinder(d = dispenser_top_dia, h = disp_mount_wall + 2, $fn = 100);
  11. translate([0, 0, disp_mount_wall - dispenser_rim_height])
  12. cylinder(d = dispenser_rim_dia, h = dispenser_rim_height + 1, $fn = 100);
  13. }
  14. }
  15. }
  16. disp_rail_len = 2 * (disp_mount_width + disp_mount_off_x);
  17. disp_mount_height = dispenser_height - disp_mount_wall + dispenser_rim_height;
  18. module dispenser_assembly() {
  19. %color("magenta")
  20. dispenser();
  21. translate([0, 0, disp_mount_height + 130])
  22. extruder();
  23. for (i = [-1, 1])
  24. scale([i, 1, 1])
  25. translate([disp_mount_off_x, -disp_mount_off_y, disp_mount_height])
  26. dispenser_mount();
  27. translate([-disp_rail_len / 2, dispenser_mount_rail_off, disp_mount_height])
  28. rail_2020_x(disp_rail_len, "dispenser mount base rail");
  29. for (i = [-1, 1])
  30. translate([i * disp_rail_len / 2 - ((i + 1) / 2) * 20, -disp_mount_off_y, disp_mount_height - 20])
  31. rail_2020_y(disp_mount_len + 20, "dispenser mount arm rail");
  32. }
  33. dispenser_assembly();