This commit is contained in:
2025-10-20 22:19:16 +02:00
parent d31f73da15
commit f1a58f32d9
24 changed files with 842 additions and 69 deletions

View File

@@ -1,16 +1,62 @@
base_length = 211;
$fn=60;
include <BOSL2/std.scad>
include <boltsos_0.4.1/BOLTS.scad>
base_length = 180;
base_width = 70;
base_height = 15;
pillar_length = 29;
pillar_width = 22;
pillar_height = 100;
slot_length = 140;
slot_length = 120;
slot_width = 22;
delta=0.6;
h_pos=-60;
module plate () {difference () {
translate ([0, -47.5, 0]){cube ([base_length, 95, 25]);}
translate ([73, -11, 15])cube ([slot_length, slot_width, 11]);
rotate(a=45, v=[1, 0, 0])translate ([-2, 40, -30])cube ([215, 40, 40]);
rotate(a=45, v=[1, 0, 0])translate ([-2, -40, 40])cube ([215, 40, 40]);
translate ([170, -50, 50])rotate(a=45, v=[0, 1, 0])cube ([100,100,50]);
}}
module base() {union(){plate();rotate(a=15, v=[0, 1, 0])translate ([10, -10, 15])cube ([pillar_length, pillar_width, pillar_height]);}}
base();
module screw() {
rotate([180,0,90]) {
cylinder(h=40, d=6, center=true);
translate ([0,0,-12]) {
DIN931("M5");
translate([0,0,-1]) DIN931("M5");
translate([0,0,25]) cylinder(h=7, d=12.5);
translate([0,-12.3,-2.5]) cuboid([8.5,pillar_length,5]);
}
}
}
module plate() {
difference() {
// plate
union() {
cuboid([base_length,base_width,base_height/2], rounding=2);
translate([0,0,base_height/4-1]) prismoid(size1=[base_length,base_width], size2=[base_length-10,base_width-10], h=base_height/2, rounding=2);
}
// slot
translate ([base_length/2-slot_length/2, 0, base_height/2]) cuboid([slot_length, slot_width, 15], rounding=2);
}
}
module base() {
difference() {
plate();
// pilar
rotate(a=15, v=[0, 1, 0]) translate ([h_pos,0,pillar_height/3+3]) cuboid([pillar_length+delta, pillar_width+delta, pillar_height], rounding=2);
// screw
rotate(a=15, v=[0, 1, 0]) translate([h_pos,0,-3]) screw();
}
}
* color("red") rotate(a=15, v=[0, 1, 0]) translate([h_pos,0,-3]) screw();
// pilar
rotate(a=15, v=[0, 1, 0]) {
difference() {
color("yellow", alpha=1) translate([h_pos,0,pillar_height/3+3]) cuboid([pillar_length, pillar_width, pillar_height], rounding=2);
translate([h_pos,0,-3]) screw();
}
}
color("orange", alpha=1) base();

View File

@@ -1,62 +1,68 @@
$fn=60;
include <BOSL2/std.scad>
include <boltsos_0.4.1/BOLTS.scad>
base_length = 180;
base_width = 70;
base_height = 15;
pillar_length = 29;
pillar_width = 22;
pillar_height = 100;
slot_length = 120;
slot_width = 22;
delta=0.6;
h_pos=-60;
b_width=70;
b_length=202;
b_height=17;
b_ins=b_width-10;
t_width=b_ins-10;
t_length=140;
t_height=25;
t_ins=t_width-10;
m_width=30;
m_length=30;
m_height=60;
module screw() {
rotate([180,0,90]) {
cylinder(h=40, d=6, center=true);
translate ([0,0,-12]) {
DIN931("M5");
translate([0,0,-1]) DIN931("M5");
translate([0,0,25]) cylinder(h=7, d=12.5);
translate([0,-12.3,-2.5]) cuboid([8.5,pillar_length,5]);
}
}
}
module plate() {
/*[base]*/
color("cyan") {
difference() {
cuboid([b_width,b_length,b_height], rounding=2);
translate([0,0,2.5]) cuboid([b_ins,b_length-5,b_height-2.5]);
for(i=[-90 : 15 : 90]) translate([0,i,-6]) cuboid([b_width-25,10,6], rounding=5, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT]);
}
difference() {
// plate
union() {
cuboid([base_length,base_width,base_height/2], rounding=2);
translate([0,0,base_height/4-1]) prismoid(size1=[base_length,base_width], size2=[base_length-10,base_width-10], h=base_height/2, rounding=2);
translate([-b_ins/2,0,-.5]) cuboid([7,b_length,b_height-1], rounding=3);
translate([b_ins/2,0,-.5]) cuboid([7,b_length,b_height-1], rounding=3);
}
// slot
translate ([base_length/2-slot_length/2, 0, base_height/2]) cuboid([slot_length, slot_width, 15], rounding=2);
for(i=[-90 : 10 : 90]) translate([0,i,0]) cuboid([b_width,5,b_height]);
}
}
module base() {
/*[tower]*/
rotate([90,0,0]) translate([0,0,-30]) color("pink") {
difference() {
plate();
// pilar
rotate(a=15, v=[0, 1, 0]) translate ([h_pos,0,pillar_height/3+3]) cuboid([pillar_length+delta, pillar_width+delta, pillar_height], rounding=2);
// screw
rotate(a=15, v=[0, 1, 0]) translate([h_pos,0,-3]) screw();
union() {
for(i=[-20 : 40 : 20]) translate([0,5.5,i]) cuboid([b_ins-3,t_height*2/3,8], chamfer=3);
prismoid([t_width,50], [t_width,t_height/2], shift=[0,-20], h=40, rounding=2, anchor=FRONT);
cuboid([t_width,t_length,t_height], rounding=2, anchor=FRONT+TOP);
}
translate([0,90,-t_height/2+1.6]) cuboid([t_ins,t_length-30,t_height-1.6]);
translate([0,90,-t_height/2+1.6]) cuboid([t_ins-6,t_length+-30,t_height+5]);
cuboid([t_ins-6,50,55], rounding=5);
}
}
* color("red") rotate(a=15, v=[0, 1, 0]) translate([h_pos,0,-3]) screw();
// pilar
rotate(a=15, v=[0, 1, 0]) {
difference() {
color("yellow", alpha=1) translate([h_pos,0,pillar_height/3+3]) cuboid([pillar_length, pillar_width, pillar_height], rounding=2);
translate([h_pos,0,-3]) screw();
translate([0,100,-t_height/2]) union() {
translate([-t_ins/2,-15,0]) cuboid([6,t_length-40,t_height-1], rounding=2, edges=[TOP+FRONT,TOP+RIGHT,FRONT+RIGHT]);
translate([t_ins/2,-15,0]) cuboid([6,t_length-40,t_height-1], rounding=3, edges=[TOP+FRONT,TOP+LEFT,FRONT+LEFT]);
}
for(i=[-2.5 : 10 : 140]) translate([0,i,-t_height/2+1.6]) cuboid([b_width,5,t_height]);
}
}
color("orange", alpha=1) base();
*import("/home/julien/Sync/3D temp/tir/modular-handgun-stand/blank-platestl.stl");
/*mag_holder*/
rotate([90,0,0]) translate([0,0,-80]) color("orange") {
for(i=[-10 : 20 : 10]) translate([0,0,i]) cuboid([b_ins-3,t_height*2/3,8], chamfer=3);
translate([0,-1.35,0]) cuboid([t_ins,14,m_width], rounding=5, edges=[TOP+RIGHT,TOP+LEFT,BOT+RIGHT,BOT+LEFT]);
translate([0,m_height,0]) rotate([90,0,0])rect_tube(size=[t_ins,m_width], h=m_height, wall=2, rounding=5);
}
*translate([0,0,40]) cuboid([34,24,70], rounding=1);