Browse Source

OpenScad parametric Case for Dollatek NRF24L01

pull/210/head
Oliver Fueckert 2 years ago
parent
commit
d58b1c492d
  1. BIN
      tools/esp8266/DollaTek_NRF24L01_Case/case.jpeg
  2. BIN
      tools/esp8266/DollaTek_NRF24L01_Case/case.png
  3. 283
      tools/esp8266/DollaTek_NRF24L01_Case/case.scad
  4. BIN
      tools/esp8266/DollaTek_NRF24L01_Case/case.stl

BIN
tools/esp8266/DollaTek_NRF24L01_Case/case.jpeg

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 KiB

BIN
tools/esp8266/DollaTek_NRF24L01_Case/case.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

283
tools/esp8266/DollaTek_NRF24L01_Case/case.scad

@ -0,0 +1,283 @@
$fn=100;
translate([-w/2-10,0,d+bpt+tpt])
rotate(a=180, v=[0,1,0])
box_top();
translate([w/2+10,0,0])
box_bottom();
//*************************************************//
//PARAMETERS
//*************************************************//
//BOX
//--------------------------------------------------
//inner box width + tolerances
w=90;
//inner box length + tolerances
h=30;
//inner box depth
d=35;
//wall tickness
wt=3;
//bottom plate tickness
bpt=3;
//top plate tickness
tpt=3;
//top cutout depth
cd=5;
//top cutout tickness
cwt=1.5;
//--------------------------------------------------
//BOARD MOUNTING HOLES
//--------------------------------------------------
//position
cx=0;
cy=0;
//holes size (radius)
chs_i=1.5;
chs_o=4;
//distancer height
dsth=3;
//holes distance h
chd_h=90;
//holes distance v
chd_v=90;
//--------------------------------------------------
//TOP PART MOUNTING HOLES
//--------------------------------------------------
//position
cx1=0;
cy1=0;
//holes size (radius)
chs_i1=1.6;
chs_o1=3;
//holes distance h
chd_h1=h-2*chs_i1-2;
//holes distance v
chd_v1=w-2*chs_i1-2;
//*************************************************//
//*************************************************//
//MODULES
//*************************************************//
//top box part
module box_top()
{
difference()
{
union()
{
difference()
{
translate([ 0, 0, d+bpt-cd-0.2])
rounded_cube( w+2*wt, h+2*wt, tpt+cd+0.2, 6);
translate([ 0, 0, d+bpt-cd-1])
rounded_cube( w+2*cwt+0.3, h+2*cwt+0.3, cd+1, 4);
}
/*************************/
//add here...
/*************************/
}
//TOP PART HOLES
//tph_t_cut();
/*************************/
//subtract here...
/*************************/
}
}
//bottom box
module box_bottom()
{
difference()
{
union()
{
difference()
{
rounded_cube( w+2*wt, h+2*wt, d+bpt, 6);
translate([ 0, 0, -cd])
difference()
{
translate([ 0, 0, d+bpt])
rounded_cube( w+2*wt+1, h+2*wt+1, cd+1, 4);
translate([ 0, 0, d+bpt-1])
rounded_cube( w+2*cwt, h+2*cwt, cd+3, 4);
}
translate([ 0, 0, bpt])
rounded_cube( w, h, d+bpt, 4);
}
//BOARD DISTANCER
//board_distancer();
//TOP PLATE DISTANCER
//top_distancer();
/*************************/
/*************************/
}
//BOARD HOLES
//bh_cut();
//TOP PART HOLES
//tph_b_cut();
/*************************/
//subtract here...
translate([25, 0, 14])
rotate([0,90,0])
cylinder(r=3.5,h=40);
translate([-48, 0, 7])
cube( [10, 10, 5], true);
/*************************/
}
}
/****************************************************/
module board_distancer()
{
translate([cx,cy,0])
{
translate([+chd_h/2,chd_v/2,0])
cylinder(r=chs_o,h=bpt+dsth);
translate([-chd_h/2,chd_v/2,0])
cylinder(r=chs_o,h=bpt+dsth);
translate([+chd_h/2,-chd_v/2,0])
cylinder(r=chs_o,h=bpt+dsth);
translate([-chd_h/2,-chd_v/2,0])
cylinder(r=chs_o,h=bpt+dsth);
}
}
module top_distancer()
{
translate([cx1,cy1,0])
{
translate([-chd_v1/2, chd_h1/2, 0])
cylinder(r=chs_o1,h=d+bpt);
translate([-chd_v1/2, -chd_h1/2, 0])
cylinder(r=chs_o1,h=d+bpt);
translate([chd_v1/2, chd_h1/2, 0])
cylinder(r=chs_o1,h=d+bpt);
translate([chd_v1/2, -chd_h1/2, 0])
cylinder(r=chs_o1,h=d+bpt);
}
}
module bh_cut()
{
translate([cx,cy,0])
{
translate([-chd_h/2,-chd_v/2,-1])
cylinder(r=chs_i,h=bpt+dsth+2);
translate([+chd_h/2,-chd_v/2,-1])
cylinder(r=chs_i,h=bpt+dsth+2);
translate([-chd_h/2,chd_v/2,-1])
cylinder(r=chs_i,h=bpt+dsth+2);
translate([+chd_h/2,chd_v/2,-1])
cylinder(r=chs_i,h=bpt+dsth+2);
translate([-chd_h/2,-chd_v/2,1.3])
fhex(5.5,3);
translate([+chd_h/2,-chd_v/2,1.3])
fhex(5.5,3);
translate([-chd_h/2,chd_v/2,1.3])
fhex(5.5,3);
translate([+chd_h/2,chd_v/2,1.3])
fhex(5.5,3);
}
}
module tph_t_cut()
{
translate([cx1,cy1,0])
{
translate([-chd_v1/2, chd_h1/2, -2])
cylinder(r=chs_i1,h=d+bpt+tpt+3);
translate([chd_v1/2, chd_h1/2, -2])
cylinder(r=chs_i1,h=d+bpt+tpt+3);
translate([-chd_v1/2, -chd_h1/2, -2])
cylinder(r=chs_i1,h=d+bpt+tpt+3);
translate([chd_v1/2, -chd_h1/2, -2])
cylinder(r=chs_i1,h=d+bpt+tpt+3);
translate([-chd_v1/2, chd_h1/2, d+bpt+tpt-1.3])
fhex(5.5,3);
translate([chd_v1/2, chd_h1/2, d+bpt+tpt-1.3])
fhex(5.5,3);
translate([-chd_v1/2, -chd_h1/2, d+bpt+tpt-1.3])
fhex(5.5,3);
translate([chd_v1/2, -chd_h1/2, d+bpt+tpt-1.3])
fhex(5.5,3);
}
}
module tph_b_cut()
{
translate([cx1,cy1,0])
{
translate([-chd_v1/2, chd_h1/2, -2])
cylinder(r=chs_i1,h=d+bpt+3);
translate([chd_v1/2, chd_h1/2, -2])
cylinder(r=chs_i1,h=d+bpt+3);
translate([-chd_v1/2, -chd_h1/2, -2])
cylinder(r=chs_i1,h=d+bpt+3);
translate([chd_v1/2, -chd_h1/2, -2])
cylinder(r=chs_i1,h=d+bpt+3);
translate([-chd_v1/2, chd_h1/2, -1])
cylinder(r=3,h=4);
translate([chd_v1/2, chd_h1/2, -1])
cylinder(r=3,h=4);
translate([-chd_v1/2, -chd_h1/2, -1])
cylinder(r=3,h=4);
translate([chd_v1/2, -chd_h1/2, -1])
cylinder(r=3,h=4);
}
}
module rounded_cube( x, y, z, r)
{
translate([-x/2+r,-y/2+r,0])
linear_extrude(height=z)
minkowski()
{
square([x-2*r,y-2*r],true);
translate([x/2-r,y/2-r,0])
circle(r);
}
}
module fhex(wid,height)
{
hull()
{
cube([wid/1.7,wid,height],center = true);
rotate([0,0,120])cube([wid/1.7,wid,height],center = true);
rotate([0,0,240])cube([wid/1.7,wid,height],center = true);
}
}

BIN
tools/esp8266/DollaTek_NRF24L01_Case/case.stl

Binary file not shown.
Loading…
Cancel
Save