可打印20面体3D模型
Printable D20
使用说明
- 所有模型资源均由用户上传分享,内容来源于网络公开资源
- 侵权投诉:通过抖音私信 @jobsfan 联系我们(需附版权证明),24小时内处理
- 模型将通过邮件发送(5分钟内自动发货),感谢理解带宽压力
关于费用
我们是爱好者共建社区,为维持服务器成本,每个模型收取微量费用(仅覆盖基础开支)。我们承诺最低成本运营,感谢您的支持!
扫码手机访问
抖音私信 @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);
}
相关内容
猜你喜欢
联系我们
最新模型
-
2英寸金属弹簧夹(Wellmax)使用小贴士2024-05-06
-
X轴清洁:Prussa/Mendel打印机维护技巧2024-05-06
-
科拉多·莫兰娜 3D 模型2024-05-06
-
Shift Collar Boot Support - 可调节领口靴子支撑2024-05-06
-
T 型支撑结构适配器2024-05-06
最热下载
-
预组装的百合花盒子2023-03-26
-
小鸡绘画机(Eggbot衍生版)v1.12023-03-26
-
可打印骰子塔2023-03-26
-
Wolf系列手机支架2024-03-26
-
泰坦电视核心升级2024-05-02