网上已经有很多种外壳出售,可以直接购买。
但你也许不满意与别人雷同,想要做出自己的创意,或者是要满足一些特殊的需求。
那么用先进的3D打印技术,将很容易实现这一点。
即使没有3D打印机,也没有关系,您可以使用OpenSCAD来设计一个,然后到某宝上找个3D打印店发送过去,做好了的东东过几天就快递到手了。
如果有3D打印机,没有那么多时间去设计,嗯,到Thingiverse上下一个就可以了。为了便于修改,推荐下载OpenSCAD格式的模型(在搜索框输入OpenSCAD即可)。
嗯,其实我们也可以完全自己去全新设计一个,上图:
下面附上原始代码,有兴趣的朋友可以拷下来自己研究修改,如果发现问题或者有新的创意,也欢迎共享出来,一起完善。
//RaspBerry B+外壳
//注意:树莓派其它版本有所不同,需要修改,否则装不进去哟!
//Author:openthings@163.com.
//copyright 2015-2025.
/*Changelog:
2015-03-05:初步模型。
2015-03-14:修改USB和HDMI的位置,底侧的厚度。
*/
//常量定义
bthick=0.1; //盒壁厚度
bwidth=5.8; //内径净宽
bhight=2.5; //内径净高
blong_inter=11.0; //内径净长
//外径长度=底厚+内径+挡格+盖子厚度
blong=bthick+blong_inter+bthick*4;
//======================================
//盒子体,采用挖空切割方式造型。
difference() {
//外盒
translate([0,0,0])
{ color([0.8,0.8,0.8])
cube([blong,bwidth+bthick*4,
bhight+bthick*3+0.05]);
}
//内盒,挖空。
translate([bthick*2,bthick*2,bthick])
{ color([0.2,0.8,0.8])
cube([blong-bthick*5,bwidth,bhight+1]);
}
//放置盖子的凹槽。
translate([bthick,bthick,bhight+0.05])
{ color([0.5,0.5,0.5])
cube([blong_inter+bthick*3,
bwidth+bthick*2,bthick*5]);
}
//通风孔。
//右侧
translate([0,bwidth+bthick*2,0])
rotate([90,0,0])
for (i=[0:12],j=[0:3])
{ color([0.8,0.2,0.2])
translate([1.1+i*0.5,0.5+j*0.5,-0.3])
cylinder(h = 0.4, r = 0.15,$fn=36);
}
//左侧
rotate([90,0,0])
for (i=[0:12],j=[0:1])
{ color([0.8,0.2,0.2])
translate([1.1+i*0.5,1.6+j*0.5,-0.3])
cylinder(h = 0.4, r = 0.15,$fn=36);
}
//MicroUSB接口
translate([1.0,-0.1,0.5])
{ color([0.2,0.8,0.8])
cube([1,0.8,0.35]);
}
//HDMI接口
translate([2.8,-0.1,0.5])
{ color([0.2,0.8,0.8])
cube([1.6,0.6,0.6]);
}
//音频接口
translate([5.4,-0.1,0.3])
{ color([0.2,0.8,0.8])
cube([0.8,0.6,0.8]);
}
//接线面板================
translate([blong-0.3,0.1,0]){
translate([bthick*2,bthick*2,bthick*2])
{ color([0.6,0.3,0.8])
cube([bthick+1,bwidth-bthick*2,
bhight-bthick*5]);
}
//网线口。
translate([-0.1,0.65,0.4])
{ color([1,0.8,0.8])
cube([1.0,1.2,1.2]);
}
//USB接口,挖空。
translate([-0.1,2.4,0.4])
{ color([1,0.8,0.8])
cube([0.8,1.45,1.6]);
}
translate([-0.1,4.15,0.4])
{ color([1,0.8,0.8])
cube([0.8,1.45,1.6]);
}
}
}
//底部加强,在内部形成边角挡格。
//上部
translate([bthick*2,bthick*2,bhight-bthick+0.05])
{ color([0.2,0.5,0.2])
cube([bthick,bwidth,bthick]);
}
//底部
translate([bthick*2,bthick*2,bthick])
{ color([0.2,0.5,0.2])
cube([bthick,bwidth,bthick]);
}
//底部,USB接口垫片
translate([bthick*2,bthick*2,bthick])
{ color([0.2,0.5,0.2])
cube([2.2,bthick*5,bthick*2]);
}
//======================================
//盖子,单独打印。嵌入盒子内部,注意留公差。
translate([0,-6.2,0]){
//translate([bthick,bthick+0.05,
// bhight+bthick+0.05]){
difference() {
//盖子,挖空。
{ color([0.5,0.6,0.6])
cube([blong_inter+bthick*3-0.04,
bwidth+bthick*2-0.04,bthick*1.5]);
}
//屏幕区域,挖空。
translate([1.1,bthick*4-0.04,-0.1])
{ color([0.5,0.6,0.6])
cube([6.8,5.2,bthick+0.2]);
}
//面板,装饰圆孔。
//rotate([90,0,0])
for (i=[0:7],j=[0:15])
{ color([0.8,0.2,0.2])
translate([8.5+i*0.3,0.65+j*0.3,-0.2])
cylinder(h = 0.6, r = 0.1,$fn=36);
}
}
translate([0,0.0,bthick])
{ color([0.8,0.6,0.6])
cube([0.1,bwidth+bthick*2-0.04,
bthick*1.5]);
}
translate([blong_inter+bthick*2-0.04,0,bthick])
{ color([0.8,0.6,0.6])
cube([0.1,bwidth+bthick*2-0.04,
bthick*1.5]);
}
translate([0,0,bthick])
{ color([0.8,0.6,0.6])
cube([blong_inter+bthick*3-0.04,0.1,
bthick*1.5]);
}
translate([0,bwidth+bthick-0.04,bthick])
{ color([0.8,0.6,0.6])
cube([blong_inter+bthick*3-0.04,0.1,
bthick*1.5]);
}
}
来源:oschina
链接:https://my.oschina.net/u/2306127/blog/387761