added OpenScad pump designs

This commit is contained in:
Sebastian Wendel 2023-09-18 03:42:18 +02:00
parent 78ffd920d6
commit fedb77789d
9 changed files with 184 additions and 8 deletions

View file

@ -4,5 +4,6 @@
"jnoortheen.nix-ide", "jnoortheen.nix-ide",
"kamadorueda.alejandra", "kamadorueda.alejandra",
"antyos.openscad", "antyos.openscad",
"juliangmp.openscad-formatter",
], ],
} }

View file

@ -36,7 +36,7 @@ This project follows the [REUSE Specification](https://reuse.software/spec/) and
## Acknowledgements ## Acknowledgements
To all contributors to the following open-source community for their ongoing support: To all the contributors to the following open source communities for their continued support:
- [OpenFlexure Project](https://openflexure.org/) - [OpenFlexure Project](https://openflexure.org/)
- [Planktoscope Project](https://www.planktoscope.org/) - [Planktoscope Project](https://www.planktoscope.org/)

View file

@ -0,0 +1,57 @@
$fn = 100;
case_size = 31;
case_corner = 5;
motor_screw_y = 8;
motor_screw_x = 17.5;
screws_socket = 4.5;
screws_hole = 2;
module base_layout()
{
minkowski()
{
square(case_size - (case_corner * 2), center = true);
circle(r = case_corner);
}
difference()
{
hull()
{
translate([ motor_screw_x, motor_screw_y, 0 ])
{
circle(r = screws_socket);
}
mirror([ 1, 0, 0 ])
{
translate([ motor_screw_x, motor_screw_y, 0 ])
{
difference()
{
circle(r = screws_socket);
}
}
}
}
translate([ motor_screw_x, motor_screw_y, 0 ])
{
circle(r = screws_hole);
}
mirror([ 1, 0, 0 ])
{
translate([ motor_screw_x, motor_screw_y, 0 ])
{
difference()
{
circle(r = screws_hole);
}
}
}
}
}

View file

@ -0,0 +1,45 @@
use <./libs/base.scad>
$fn = 100;
// translate([ 0, 40, 0 ])
// {
// rotate([ 180, 180, 0 ])
// {
// import("../../../peristaltic-pump/old/body.stl");
// }
// }
body_thickness = 9;
motor_body_radius = 5;
insert_radius = 12;
insert_height = 7;
tubing_radius = 14;
tubing_height = 4;
tube_radius = 2;
module body()
{
difference()
{
linear_extrude(body_thickness)
{
difference()
{
base_layout();
circle(motor_body_radius);
}
}
translate([ 0, 0, body_thickness - insert_height ])
cylinder(insert_height, insert_radius, insert_radius);
translate([ 0, 0, body_thickness - tubing_height ])
cylinder(tubing_height, tubing_radius, tubing_radius);
}
}
body();

View file

@ -0,0 +1,20 @@
$fn = 100;
use <./libs/base.scad>
cover_thickness = 2;
motor_axis_cutout = 2.5;
module cover()
{
linear_extrude(cover_thickness)
{
difference()
{
base_layout();
circle(motor_axis_cutout);
}
}
}
cover();

View file

@ -0,0 +1,58 @@
$fn = 100;
use <./libs/base.scad>
insert_radius = 11;
insert_depth = 6;
axis_diameter = 5;
axis_height = 3;
bearing_radius = 5;
bearing_depth = 4.5;
bearing_axis = 1.5;
bearing_shift = 9;
module bearing()
{
difference()
{
linear_extrude(bearing_depth)
{
circle(bearing_radius);
}
linear_extrude(bearing_depth - 1)
{
circle(bearing_axis);
}
}
}
module insert()
{
difference()
{
linear_extrude(insert_depth)
{
difference()
{
circle(insert_radius);
square([ axis_diameter, axis_height ], center = true);
}
}
translate([ bearing_shift, 0, insert_depth - bearing_depth ])
bearing();
rotate([ 0, 0, 120 ])
translate([ bearing_shift, 0, insert_depth - bearing_depth ])
bearing();
rotate([ 0, 0, 240 ])
translate([ bearing_shift, 0, insert_depth - bearing_depth ])
bearing();
}
}
insert();

View file

@ -1,7 +1,6 @@
{ {
self, self,
pre-commit, pre-commit,
nixpkgs,
... ...
}: system: }: system:
with self.pkgs.${system}; { with self.pkgs.${system}; {
@ -14,11 +13,6 @@ with self.pkgs.${system}; {
statix.enable = true; statix.enable = true;
deadnix.enable = true; deadnix.enable = true;
actionlint.enable = true; actionlint.enable = true;
shellcheck = {
enable = true;
types_or = lib.mkForce [];
};
shfmt.enable = true;
}; };
}; };
} }

View file

@ -2,7 +2,7 @@
with self.pkgs.${system}; with self.pkgs.${system};
mkShell { mkShell {
name = "flowflexure-nix"; name = "flowflexure-nix";
nativeBuildInputs = [ packages = [
alejandra alejandra
deadnix deadnix
git git
@ -13,6 +13,7 @@ with self.pkgs.${system};
statix statix
vscode-extensions.antyos.openscad vscode-extensions.antyos.openscad
vscodium-fhs vscodium-fhs
clang-tools
]; ];
shellHook = '' shellHook = ''