Nové šasi v OpenSCAD

S prototypem lze sice fungovat, ale estetické ani pohodlné to zrovna není. Navrhneme si nové šasi v OpenSCAD.

Původní šasi je zbytečně velké a pracovní stůl docela hyzdí. V programu OpenSCAD jsem navrhl nové.

OpenSCAD umožňuje parametrické 3D modelování a výsledný model je možné exportovat do formátu vhodného pro 3D tiskárny.

Začněte s proměřením klávesnice, zkuste odhadnout z jakých tvarů se jednotlivé části skládají a jakou mají souvislost. Na základě těchto poznatků vytvořte moduly a ty pak pomocí potřebných transformací složte dohromady.

Část šasi musí tvar klávesnice kopírovat, počítejte také s malou vůlí, aby klávesnice lehce zapadla. Vnitřek bude dutý, tloušťka sťen 2.5mm.

Z výsledných údajů a modulů lze pak sestavit následující parametrický program.

$fn = 1000;
// rozmery plechu
pWidth = 287.77;
pHeight = 110;
pThick = 2.25;
pWidth2 = 51.35;
pHeight2 = 129.4;
 // offset plechu 1 a 2 
p12Offset = 6.56; 
 // zarazka 
zHeight = 2; 
zDiff = 10; 
 
module rcube(x, y, z, r){
 hull(){ 
  translate([r, r, 0]) cylinder(r = r, h = z); 
  translate([x - r, r, 0]) cylinder(r = r, h = z); 
  translate([r, y - r, 0]) cylinder(r = r, h = z); 
  translate([x - r, y - r, 0]) cylinder(r = r, h = z); 
 } 
}
 
module uchyt(){ 
 cube([6.1, 2.6, 0.7]); 
} 

module sroubovani() { 
 cylinder(r=2.5, h=8.45); 
} 
 
module obrys_plechu(){ 
 union() { 
  rcube(pWidth, pHeight, pThick, 2.5); 
  translate([pWidth - pWidth2, -p12Offset, 0]){ 
   rcube(pWidth2, pHeight2, pThick, 2.5); 
  } 
 } 
} 

module zarazka_klavesnice(){
 pw1 = pWidth - zDiff; 
 ph1 = pHeight - zDiff; 
 pw2 = pWidth2 - zDiff;
 ph2 = pHeight2 - zDiff;
 p12zOffset = p12Offset * (pHeight2 / pHeight);
 union() { 
  rcube(pw1, ph1, zHeight, 2.5);
  translate([pw1 - pw2, -p12zOffset, 0]){
   rcube(pw2, ph2, zHeight, 2.5);
  }
 }
}

module plech(){ 
 // 110 x 287.77 x 2.25 
 union() { 
  obrys_plechu();
  translate([11, -2.5, 1.55]){ 
   uchyt(); 
  } 
  translate([95, -2.5, 1.55]){ 
   uchyt();
  }
  translate([179, -2.5, 1.55]){
   uchyt(); 
  }
  translate([259.37, -9.05, 1.55]){
   uchyt();
  }
 }
}

module klavesnice(){ 
 union(){ 
  plech();
  translate([77, 82.8, -8.35]) {
   sroubovani(); 
  } 
  translate([172, 82.8, -8.35]) { 
   sroubovani();
  }
 }
}

module kryt(){ 
 difference(){ 
  rcube(295, 137, 14, 2.5);
  translate([3.5, 11, 13]) obrys_plechu();
  translate([3.5, 11, 11]) plech();
  translate([8.5, 16, 9]) zarazka_klavesnice();
  translate([2.5, 2.5, 1]) rcube(290, 132, 8, 2);
  translate([295 / 2, 130, 5]) rotate([-90, 0, 0]) cylinder(r=2.5, h = 20);
 }
}

module komplet(){ 
 translate([-146.5, -66, 0]){
  kryt();
 }
 translate([-143, -55, 50]){
//  klavesnice(); 
 }
}

komplet();

Ve výsledku dostaneme toto.

Rád bych nechal tento model vytisknout. Nevím ale, zda je to v současné době možné v dobré kvalitě i ceně. 3D tiskárny mají problémy s převisy, model bude nutné rozdělit na 2 části a výsledek po opracování slepit.
Pokud někdo máte možnost toto šasi vytisknout, napište. Na ceně se dá dohodnout. Jinak nezbývá, než zkusit sehnat plastovou desku, nařezat a slepit. 3D model pak poslouží k inspiraci a porovnání návrhu s realitou.

Aktualizace 2.3.2020

Nakonec jsem kryt vyřešil jinak, vznikl použitelnější prototyp 2