可打印20面体3D模型
Printable D20
使用说明
- 所有模型资源均由用户上传分享,内容来源于网络公开资源
- 侵权投诉:通过抖音私信 @jobsfan 联系我们(需附版权证明),24小时内处理
- 模型将通过邮件发送(5分钟内自动发送),感谢理解带宽压力,超过1小时没收到,请联系我们
关于费用
我们是爱好者共建社区,为维持服务器成本,每个模型收取微量费用(仅覆盖基础开支)。我们承诺最低成本运营,感谢您的支持!
扫码手机访问
抖音私信 @jobsfan这是一个在OpenSCAD中仅用一行代码构建的正二十面体,没有使用任何库,仅以黄金比例phi作为输入。我通过生成并将数字放置在表面上,将其制作成D20骰子,所有这些仅用额外的一行代码完成(使用了TBuser的位图字体模块作为输入:http://www.thingiverse.com/thing:2054)。我还包含了一个全为20的版本,以响应Makerblock的挑战(http://www.makerbot.com/blog/2011/09/29/openscad-challenge-regular-icosahedron/#comment-15998),并赢得最高效/优雅解决方案的虚拟奖项(我接受这个挑战是因为我想看看能用多短的代码实现它)。
我本想自己生成数字,考虑了罗马数字、七段数码管数字和各种二进制编码,但最终使用了库,因为我意识到在OpenSCAD中(目前?)没有优雅的生成数字的方法(如果有人能说服我改变看法,我愿意献上我的9000互联网积分)。
因为在我看来,这个作品的真正意义在于代码的简洁性,所以代码如下:
include ;
phi = (1+ sqrt(5))/2;
scale(20) translate([0, 0, cos(atan((phi - 1) / phi)) * phi]) rotate([0, atan((phi - 1) / phi) * 2), 0]) difference() {
intersection_for(a = [0:4]) rotate([0, 31.75, 72 * a]) intersection_for(r = [[0,0,0],[90,90,0],[90,0,90]]) rotate(r) linear_extrude(height = 10, center = true) polygon(points=[[phi,1],[phi,-1],[0,-phi],[-phi,-1],[-phi,1],[0,phi]], paths=[[0,1,2,3,4,5]]);
for(n = [1:20]) rotate([180 * (ceil(n / 10) % 2), atan((phi - 1) / phi) * 2) + atan((phi - 1) / phi) * 2 * (ceil((n - 5) / 10) % 2), 180 + 72 * n]) translate([0, 0, 1.5 - .1]) scale(0.008) for(d = [0, floor(log(n))]) translate([0, 35 * floor(log(n)) + d - 70, 0]) 8bit_char(str(floor(n % pow(10, d + 1) / pow(10, d))), 10, 100, false);
}
相关内容
猜你喜欢
联系我们
热门推荐
-
卫星天线接收器支架2023-04-04
-
EMF100 基础型号2023-08-23
-
花盆幼苗起始套装 60毫米2024-01-13
-
雪峰Artemis PP750缓冲折叠枪架(Mussy Remix特别版)2024-04-03
-
多板结构胶带夹持器2024-04-30
最热下载
-
钥匙解码器(用于房门钥匙复制)2023-03-26
-
GPD Win3 把手型号2023-04-07
-
Glock 17/34 Solidworks 模型文件2023-04-21
-
Hein Gericke Hiprotec 快拍2024-04-03
最新模型
-
3D 打印遥控刷式喷气推进船(喷气船)2025-09-15
-
用于HGX Lite的MBOT3D MK2混音版2025-07-18
-
巴黎卢浮宫的三圣母像2025-07-16
-
一体打印行星齿轮2025-07-15