Files
3D/tir_sportif/22lr_risers/scad/ammo_risers.scad
2025-06-28 15:45:58 +02:00

90 lines
2.6 KiB
OpenSCAD

$fn=60;
include <BOSL2/std.scad>
module bullets() {
for(x=[1:1:5]) {
for(y=[1:1:5]) {
translate([-38.5+x*14,-21+y*7,31.4]) {
rotate([180,0,0]) {
translate([0,0,12.7]) zcyl(l=25.4, d=5.72, rounding=2.81);
translate([0,0,7.785]) zcyl(l=15.57, d=5.74);
translate([0,0,.545]) zcyl(l=1.09, d=7.06, rounding=.545);
}
}
}
}
for(x=[1:1:5]) {
for(y=[1:1:5]) {
translate([-45.5+x*14,-21+y*7,36.4]) {
rotate([180,0,0]) {
translate([0,0,12.7]) zcyl(l=25.4, d=5.72, rounding=2.81);
translate([0,0,7.785]) zcyl(l=15.57, d=5.74);
translate([0,0,.545]) zcyl(l=1.09, d=7.06, rounding=.545);
}
}
}
}
}
module cci_holder() {
color("grey", alpha=1) {
difference() {
translate([0,0,21]) cuboid([70,37,4]);
translate([-38.5,-21,22]) {
for(i=[1:1:5]) {
for(j=[1:1:10]) {
translate([j*7,i*7,0]) zcyl(l=10, d=5.8);
}
}
}
}
}
}
module federal_holder() {
color("grey", alpha=1) {
difference() {
translate([0,0,11]) cuboid([73,40,22]);
translate([0,0,8]) cuboid([70,50,20], rounding=3);
translate([-38.5,-21,22]) {
for(i=[1:1:5]) {
for(j=[1:1:10]) {
translate([j*7,i*7,0]) zcyl(l=10, d=5.8);
}
}
}
}
}
}
bullets();
translate([0,50,0]) {
cci_holder();
// cci riser
color("orange", alpha=1) {
translate([0,0,11.5]) {
difference() {
cuboid([80,46,23],rounding=1);
translate([0,0,11]) cuboid([73,40,7]);
translate([0,0,-2]) cuboid([71,36,20],rounding=0);
translate([0,0,11]) ycyl(l=46, d=20, rounding=-1);
}
}
}
}
federal_holder();
// federal riser
color("blue", alpha=1) {
translate([0,0,-2]) cuboid([84,48,4], rounding=4, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT]);
translate([0,0,3]) cuboid([70,35,6], rounding=1, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT]);
translate([-32,0,5.5]) cuboid([6,35,11], rounding=1);
translate([-18,0,5.5]) cuboid([6,35,11], rounding=1);
translate([-4,0,5.5]) cuboid([6,35,11], rounding=1);
translate([10,0,5.5]) cuboid([6,35,11], rounding=1);
translate([24,0,5.5]) cuboid([6,35,11], rounding=1);
}