备注:Inkscape是一个免费的开源矢量图形编辑器,用于创建矢量图形。该软体的开发目标是成为强大的绘图软体,且能完全遵循与支援XML、SVG及CSS等开放性的标准格式,而且是跨平台的应用程式,能够支持Windows、Mac OS X、Linu及类UNIX版等作业系统。
由于用户不能总是依赖于单板计算机 (SBC) 供应商来提供完全符合自身需求的外壳,因此有些人就选择了自己DIY这个方式。比如Willy Tarreau就使用Inkscape 为各种SBC设计了一些激光切割外壳。hominoids 则更进一步,他通过开发“SBC Case Builder”工具使OpenSCAD自动生成各种类型的 3D 可打印外壳。
Willy为Khadas VIM3 / VIM3L、FriendlyELEC NanoPi Fire3、SolidRun Clearfog Base网络 SBC、Libre Computer AML-S805X-AC(又名“La Frite”)和AAEON UP Board等5个开发板分别设计了类似的外壳。


他们设计的所有外壳都以Inkscape SVG文件按格式提供,Willy还接受了大家对其他开发板的提出的建议。对了,用户需要激光雕刻机或CNC设备才能切割这些外壳。
Hominoids的SBC Case Builder项目尝试使用了OpenSCAD来编写SBC模型框架自动生成SBC 的外壳。到目前为止,他的工作主要集中在ODROID板上,不过它也应该适用于其他供应商。参数是可以在配置文件中定义的:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
view = "model"; // viewing mode "platter", "model", "debug" case_design = "tray"; // "shell", "panel", "stacked", "tray" case_style = "vu5"; // style of case_design // tray: none, vu5 sbc_model = "c4"; // any sbc from sbc model framework: "c1+","c2","c4","hc4" // "xu4","xu4q","mc1","hc1","n1","n2","n2+","h2" pcb_loc_x = 5; // sbc location x axis pcb_loc_y = 0; // sbc location y axis case_offset_x = 0; // additional case x axis size case_offset_y = 0; // additional case y axis size case_offset_tz = 0; // additional case top z axis size case_offset_bz = 4; // additional case bottom z axis size wallthick = 2; // case wall thickness floorthick = 2; // case floor thickness sidethick = 3; // case side thickness gap = 1.5; // distance between pcb and case indents = true; // indentations around io openings sidewall_support = true; // enable wall support for standoffs sbc_top_standoffs = false; // enable sbc top standoffs sbc_bottom_standoffs = true; // enable sbc bottom standoffs case_ext_standoffs = false; // enable case extended standoffs sata_punchout = true; // enable sata punchout gpio_opening = "none"; // gpio openings "none","vent","open","punchout" cooling = "fan"; // "none", "vents", "fan", "custom" using ./dxf/customfan.dxf exhaust_vents = "vent"; // exhaust vents "none","vent" fillet = 0; // edge fillets |
该配置文件可以让用户选择外壳的厚度、GPIO接头的开口、冷却类型和其他参数,还能帮助创建自定义外壳。对了,这个工具还能用于验证设计,从而确保电路板确实是可以放入其中的。

生成文件后,就可以对设计进行3D打印了。或者也可以使用CNC机床:
我相信大多数(如果不是全部)外壳都可以在3轴CNC上进行切割,甚至可以在2 ½ 轴 CNC上进行切割。切割扁平形状的外壳是可行的,不过切割其他的外形可能就得需要多个设置,但应该也是可以工作的。我现在的设计还是有些受限的,因为它们是为3D打印机生产的,所以拥有一个铣床应该可以扩展你可以做的事情并开发出更好的美学设计。
下面是使用了SBC Case Builder实用程序创建出来的一些3D打印外壳。


其他的更多细节,你们可以在odroid论坛上找到。由于有很多选项,而且还必须得为其他单板计算机创建模型,因此在能够使用该工具之前可能还需要短期内需掌握很多全新的知识。

文章翻译者:Taylor Lee,瑞科慧联(RAK)高级嵌入式开发工程师,有丰富的物联网和开源软硬件经验,熟悉行业主流软硬件框架,对行业发展动向有着敏锐的感知力和捕捉能力。