文档章节

OpenSCAD设计的3D打印智能路由器盒子(V1.1)

openthings
 openthings
发布于 2015/02/25 10:57
字数 851
阅读 864
收藏 9

    基于OpenSCAD(http://www.openscad.org/)的一个盒子造型,可以用于了解OpenSCAD的3D造型语言。

    这个盒子的尺寸是为WRTnode(http://wrtnode.com/)设计的,可以输出STL后通过3D打印机打印出来直接使用(注意:不同3D打印机的输出效果和间歇、材料收缩的公差不同,请自行根据情况调整,否则组装不上喔!)。

    WRTnode(http://wiki.wrtnode.com/index.php?title=Main_Page/zh-cn)是一个开源的智能路由器开发板,可以运行OpenWRT开源智能路由器操作系统,功能相当的强大。该系统是基于Linux内核的,很多Linux程序都可以运行,还支持Python和LUA脚本,也可以将该固件刷到很多市售的家用路由器上,从而增强其功能。目前在售的极路由、小米路由等智能路由都是基于OpenWRT定制而成。


原始的OpenSCAD代码如下:

//WRTnode智能路由器,盒子,防雨淋型(垂直安装)
//Author:openthings@163.com,
//copyright 2015-2025.
//打印时注意比例变化,并且旋转向上。
//避免上部打印时无支撑塌陷。
//盖子单独打印,或放为两个模型。

/*Changelog:
V1.1,2015-02-27:
1、盒盖的USB接口向Y偏移0.2,更好适应WRTnode的接口。
2、盒盖整体尺寸长宽减少0.2,以方便组装。
3、盒盖的偏移量和进风口相应调整。
4、盒盖的挡格向内移0.1,使盖子能完全嵌入盒体。
*/

//常量定义
athick=0.5;	//盖子厚度
bthick=0.10;	//盒壁厚度
bwidth=5.0;	//内径净宽
bhight=1.8;	//内径净高

blong_inter=5.5;//内径净长
//外径长度=底厚+内径+挡格+盖子厚度
blong=bthick+blong_inter+bthick+athick;

//文字或图标标识
//translate([-2,0,0])
//scale([1, 1, 0.1])
//  surface(file = "smiley.png", center = true);

//======================================
//盒子体,采用挖空切割方式造型。
difference() {
	//外盒
	translate([0,0,0])
	{	color([0.8,0.8,0.8])
		cube([blong,bwidth+bthick*2,
			bhight+bthick*2]);
	}
	//内盒,挖空。
	translate([bthick,bthick,bthick])
	{	color([0.2,0.8,0.8])
		cube([blong+1,bwidth,bhight]);
	}
	//底部,凹陷标识。
	translate([blong-2,2.2,bhight+bthick+0.08])
	{	color([0.2,0.2,0.2])
		cube([1.5,bwidth*0.5,0.1]);
	}
}

//底部加强,在内部形成边角挡格。
	translate([bthick,bthick,bthick])
	{	color([0.2,0.5,0.2])
		cube([bthick,bwidth,bthick]);
	}
	translate([bthick,bthick,bhight])
	{	color([0.2,0.5,0.2])
		cube([bthick,bwidth,bthick]);
	}
	translate([bthick,bthick,bthick])
	{	color([0.2,0.5,0.2])
		cube([bthick,bthick,bhight]);
	}
	translate([bthick,bwidth,bthick])
	{	color([0.2,0.5,0.2])
		cube([bthick,bthick,bhight]);
	}

//盖子挡格。
	translate([blong-athick-0.1,bthick,bthick])
	{	color([0.2,0.5,0.2])
		cube([bthick,bwidth,bthick]);
	}
	translate([blong-athick-0.1,bthick,bhight])
	{	color([0.2,0.5,0.2])
		cube([bthick,bwidth,bthick]);
	}

//======================================
//盖子,单独打印。嵌入盒子内部,注意留公差。
//translate([2,0.0,0.0]){
translate([0,0.05,2.55]){
difference() {
	//盖子,挖空。
	translate([0,bthick,bthick])
	{	color([0.5,0.5,0.5])
		cube([athick-0.05,bwidth-0.1,bhight-0.1]);
	}
	translate([0.2,bthick*2,bthick*2])
	{	color([0.6,0.3,0.8])
		cube([athick+1,bwidth-bthick*2-0.1,
				bhight-bthick*2-0.1]);
	}

	//通风口,挖空。================
	//左侧出风口
	translate([-0.1,0.5,1.2])
	{	color([1,0.8,0.8])
		cube([0.8,1.5,0.2]);
	}
	translate([-0.1,0.5,0.85])
	{	color([1,0.8,0.8])
		cube([0.8,1.5,0.2]);
	}
	translate([-0.1,0.5,0.5])
	{	color([1,0.8,0.8])
		cube([0.8,1.5,0.2]);
	}
	//右侧进风口
	translate([-0.1,3.2,0.5])
	{	color([1,0.8,0.8])
		cube([0.8,0.8,0.4]);
	}
	translate([-0.1,4.2,0.5])
	{	color([1,0.8,0.8])
		cube([0.8,0.2,0.9]);
	}
	translate([-0.1,4.6,0.5])
	{	color([1,0.8,0.8])
		cube([0.8,0.2,0.9]);
	}
	//USB接口,挖空。
	translate([-0.1,3.2,1.10])
	{	color([1,0.8,0.8])
		cube([0.8,0.8,0.3]);
	}
  }
}

© 著作权归作者所有

openthings
粉丝 325
博文 1140
码字总数 689435
作品 1
东城
架构师
私信 提问
加载中

评论(3)

死猪
死猪

引用来自“死猪”的评论

牛啊,现在国内能找到的openScad代码分享也就您这了.

引用来自“openthings”的评论

OpenSCAD最擅长的是机械设计,国外创客用的多。国内的人还是青睐可视化设计。美国Brian Evans的《解析3D打印机》已出中文版(程晨 译,机械工业出版社),里面有不少OpenSCAD的介绍。
感谢推荐,正在看他们官方的WIKI
openthings
openthings 博主

引用来自“死猪”的评论

牛啊,现在国内能找到的openScad代码分享也就您这了.
OpenSCAD最擅长的是机械设计,国外创客用的多。国内的人还是青睐可视化设计。美国Brian Evans的《解析3D打印机》已出中文版(程晨 译,机械工业出版社),里面有不少OpenSCAD的介绍。
死猪
死猪
牛啊,现在国内能找到的openScad代码分享也就您这了.
玩转树莓派-RaspBerry,3D打印个御用外壳

网上已经有很多种外壳出售,可以直接购买。 但你也许不满意与别人雷同,想要做出自己的创意,或者是要满足一些特殊的需求。 那么用先进的3D打印技术,将很容易实现这一点。 即使没有3D打印机...

openthings
2015/03/17
1K
0
OpenSCAD 2015.03的大变化,更方便了。

OpenSCAD 2015.03出来了,有几个大的变化: 1、增加工具按钮,操作起来更方便,尤其是在Mac OS X的窗口全屏模式下。 2、坐标的标尺显示尺寸的刻度,这个对3D打印的模型设计很方便。 3、代码编...

openthings
2015/03/14
378
0
OpenSCAD设计的3D打印NodeMCU外壳

NodeMCU是集成了WiFI和MCU的小巧开发板,基于ESP8266芯片。论坛在http://bbs.nodemcu.com/,源码在https://github.com/nodemcu。 使用OpenSCAD给它做了一个外壳,可以用3D打印机输出出来,就...

openthings
2015/02/26
814
0
OpenSCAD使用总结-中文

OpenSCAD是用程序的方式生成模型,搞软件的人应该很熟悉这种方式,但习惯交互式造型设计的就不用看这个了。创建模型的方法就像是用脚本语言编写一段程序,然后编译,总体感觉简单、便捷、易学...

openthings
2015/01/29
13.1K
0
OpenSCAD、Blender和Textmate\SublimeText遇见后发生的一切...

TextmateSublimeText是编码极客们喜爱的玩具。OpenSCAD可以用MDL(机械定义语言)的方式来构建三维几何对象,而Blender除了交互三维建模之外,也支持以Python来构建几乎任何几何对象。 现在,这...

openthings
2015/03/13
733
1

没有更多内容

加载失败,请刷新页面

加载更多

java通过ServerSocket与Socket实现通信

首先说一下ServerSocket与Socket. 1.ServerSocket ServerSocket是用来监听客户端Socket连接的类,如果没有连接会一直处于等待状态. ServetSocket有三个构造方法: (1) ServerSocket(int port);...

Blueeeeeee
今天
6
0
用 Sphinx 搭建博客时,如何自定义插件?

之前有不少同学看过我的个人博客(http://python-online.cn),也根据我写的教程完成了自己个人站点的搭建。 点此:使用 Python 30分钟 教你快速搭建一个博客 为防有的同学不清楚 Sphinx ,这...

王炳明
昨天
5
0
黑客之道-40本书籍助你快速入门黑客技术免费下载

场景 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影...

badaoliumang
昨天
14
0
很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

彤哥读源码
昨天
15
0
jquery--DOM操作基础

本文转载于:专业的前端网站➭jquery--DOM操作基础 元素的访问 元素属性操作 获取:attr(name);$("#my").attr("src"); 设置:attr(name,value);$("#myImg").attr("src","images/1.jpg"); ......

前端老手
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部