玩转树莓派-RaspBerry,3D打印个御用外壳

夙愿已清 提交于 2019-12-03 08:47:30

网上已经有很多种外壳出售,可以直接购买。

但你也许不满意与别人雷同,想要做出自己的创意,或者是要满足一些特殊的需求。

那么用先进的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]);
    }

}



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!