3d_print/Neptune4/camera_mount.scad
Sasza Stanczew f0964d702f Dużo pliczków
wiedźmin - pudełko na karty, dodałem dziurę w podstawie i pokrywce
żeby dało się łatwiej podejrzeć karty

neptune 4 camera mount - nowa kamera, do szafki BROR

neptune 4 filament... - przesunąłem detektor filamentu do głowicy, więc
te modele są helperami żeby 1. trzymać detektor oraz 2. trzymać
obcinaczkę do filamentu

Oliwka pierścień - dla taty Oliwki inny rozmiar

Tłumik - dla seby
thumb rest - 1911 ulepszony
2026-01-19 11:04:38 +01:00

79 lines
No EOL
2.3 KiB
OpenSCAD

include <BOSL2/std.scad>
include <BOSL2/screws.scad>
t = 2;
t2 = 4;
$fn = 36;
// connection to the camera
cam_out_width = 25;
cam_width = 15;
cam_hex = "M3";
cam_head_d = 5.5;
cam_screw_l = 23.5;
cam_hole_d = 4;
cam_clearance = 3;
// connection between parts
conn_clearance = 0.2;
conn_cam_distance = 25;
conn_wall_distance = 23;
conn_screw_d = 6;
// wall mount
mount_h = 20;
mount_screw_d = 5;
mount_bror_dist = 17;
mount_bror_width = 5;
// NOT EDIT: helper functions
cam_out_width2 = (cam_out_width - cam_width)/2;
h = cam_hole_d + 2*t;
// connection to the camera
yrot(90) difference() {
// body
union() {
cyl(h=cam_out_width, d=h);
cuboid([h,h,cam_out_width], anchor=FWD);
}
// cutout from the middle
cyl(h=cam_width, d=h + cam_clearance);
// hole for the screw
cyl(h=cam_out_width+t, d=cam_hole_d);
// hole for the screw heads: hex and round
up(cam_screw_l/2) cyl(d=cam_head_d, h=cam_out_width2, anchor=BOTTOM);
down(cam_screw_l/2) nut(spec=cam_hex, thickness=cam_out_width2, anchor=TOP);
}
// connection between parts
back(conn_cam_distance) difference() {
// main body
union() {
cyl(h=h, d=cam_out_width);
up(h/2) cuboid([cam_out_width,conn_cam_distance - h,h/2-conn_clearance], anchor=TOP+BACK);
down(h/2) cuboid([cam_out_width,conn_wall_distance - t,h/2-conn_clearance], anchor=BOTTOM+FWD);
}
// slit in the middle
cyl(h=conn_clearance, d=cam_out_width*2);
// hole for screw
cyl(h=h, d=conn_screw_d);
}
// wall mount
back(conn_cam_distance + conn_wall_distance) difference() {
union() {
// bottom chamfer
down(conn_clearance) cuboid([cam_out_width,t2,2*t], anchor=BOTTOM+BACK, rounding=-2*t, edges=BOTTOM+FWD);
// wall mount body
down(h/2) cuboid([cam_out_width,t2,mount_h+h/2],anchor=BOTTOM+BACK, rounding=cam_out_width/2, edges=[TOP+LEFT, TOP+RIGHT]);
}
// hole for screw
up(mount_h/2 - t) xrot(90) cyl(h=t2, d=mount_screw_d, anchor=BOTTOM, chamfer2=-1);
// holes for Ikea BROR mount
up(mount_screw_d) left(mount_bror_dist/2)
fwd(t2/2) wedge([mount_h,mount_bror_width,mount_bror_width], anchor=TOP+FWD, orient=LEFT);
up(mount_screw_d) yrot(180) fwd(t2/2) left(mount_bror_dist/2) wedge([mount_h,mount_bror_width,mount_bror_width], anchor=TOP+FWD, orient=LEFT);
}