可打印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-03-26
-
简单乳房生成器 OpenSCAD 娃娃模型2025-07-15
-
Tigersclaw《星际公民》2023-03-26
-
骷髅国际象棋套装2023-03-26
-
仿真枪G18C 火控选择模块2024-03-21
最热下载
-
QC USB充电器外壳(XFW-KC42-4)2024-01-17
-
伊瑟宁加德骰子塔(奥斯坦克)2025-07-16
最新模型
-
私密羞羞娱乐骰子2025-07-15
-
NASA链甲接头2024-05-08
-
钓鱼竿支架2024-05-08
-
极简家具把手2024-05-06
-
MK1 下覆盖板夹持物2024-05-06