COSI CAD objects
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.
 

122 lines
3.5 KiB

//serge caddy;
text="7 Grand Dad";
textSize=6;
offsetToCase = 2.9;
totalDepth = 130;
totalWidth = 76;//75.6
totalHeight = 11;
armWidth = 2.5; //2.9
armLength = 112;
armLengthInner = 101.4;
armHeight = 12.5;
headTotalDepth =22.7;
headMetalDepth =11;
offsetHeight = 0.3;
slitHeight = 9;
slitWith = 4;
slitDistance=1;
screwholeDiameter = 3.6;
screwholeDistanceToEnd = 14.3;
screwholeDistance = 77.5;//+0.1
screwholeHeight = 3.3;
//raw form
translate([0,-totalDepth,0])
union(){
difference(){
cube([totalWidth,headTotalDepth-offsetToCase+armLengthInner,totalHeight]);
translate([-10,headTotalDepth-headMetalDepth-offsetToCase,totalHeight-offsetHeight]){
color("blue"){
cube([totalWidth+20,armLength+10,offsetHeight+10]);
}
}
translate([armWidth,headTotalDepth-offsetToCase,-10]){ //trou entre bras
cube([totalWidth-2*armWidth,armLengthInner+10,40]);
}
translate([-10,headTotalDepth-offsetToCase,armHeight]){//petite decoupe sur le haut des bras
color("green"){
cube([totalWidth+20,armLength+10,offsetHeight+10]);
}
}
translate([-10,totalDepth,-10]){ //bizautage bout bas(droit et gauche)
rotate([40,0,0]){
cube([totalWidth+20,10,10]);
}
}
translate([-10,totalDepth,10.4]){ //bizautage bout haut(droit et gauche)
rotate([50,0,0]){
cube([totalWidth+20,10,10]);
}
}
/////decoupe G7 bout
translate([-11,totalDepth-10,-1]){
rotate([0,0,0]){cube([20,20,30]);}
}
/////////////////////trou ventillation facade
for (i=[-6:1:6]){
translate([totalWidth/2-(slitWith+slitDistance)*i,0,totalHeight/2]){
cube([slitWith,50,slitHeight],center=true);
}
}
/////////////////////Vis disque dur (trou)
for (i=[0:screwholeDistance:screwholeDistance]){
translate([totalWidth/2,totalDepth-screwholeDistanceToEnd-i,screwholeHeight]){
rotate([0,90,0]){ cylinder(h=totalWidth+20, r=screwholeDiameter/2, center=true, $fn = 20);}
}
}
//////////////chanfrein Vis
for (i=[0:screwholeDistance:screwholeDistance]){for (j=[-1:2:1]){
translate([(j+1)/2*totalWidth+j*armWidth/3,totalDepth-screwholeDistanceToEnd-i,screwholeHeight]){
rotate([0,-j*90,0]){
cylinder(h=armWidth, r1=screwholeDiameter*1.2,r2=screwholeDiameter/2, center=false, $fn = 20);
}
}
}}
//////////////interieur trou ventilation facade Trou cylindrique
translate([armWidth,headTotalDepth-offsetToCase,(totalHeight-offsetHeight)/2]){
rotate([0,90,0]){
cylinder(h=totalWidth-armWidth*2, r=(totalHeight-offsetHeight)*0.43, center=false, $fn = 70);
}
}
////////////////////////////////////////////:
cube([1,277,277],center=true);
translate([totalWidth,0,0])cube([1,277,277],center=true);
}
/////////////////// poignees
for (j=[0:1:1]){
difference(){
translate([j*(totalWidth-6)+3,-totalHeight/6,totalHeight/2]){
cube([5,totalHeight,totalHeight],center = true);
}
translate([j*(totalWidth-6)+3,-totalHeight/6,totalHeight/2]){
cube([6,totalHeight-3,totalHeight-3],center = true);
}}}
//////// fin poignees
}
////
translate([armWidth+4,-totalDepth+headTotalDepth-headMetalDepth,totalHeight-1]){
linear_extrude(height = 1) {
color("yellow"){
text(text,size=textSize,font = "Liberation Sans");
}}}
/////////////////////bosse gauche
/*for (i=[0:screwholeDistance-30:screwholeDistance-30]){
translate([0.75,-15-screwholeDistanceToEnd-i,screwholeHeight]){
rotate([0,90,0]){ cylinder(h=1.5, r=screwholeDiameter, center=true, $fn = 20);}
}}
for (i=[0:screwholeDistance-30:screwholeDistance-30]){
translate([totalWidth-0.75,-15-screwholeDistanceToEnd-i,screwholeHeight]){
rotate([0,90,0]){ cylinder(h=1.5, r=screwholeDiameter, center=true, $fn = 20);}
}}*/