使用Python创建3D模型(3D打印+乐高)

在设计一些机壳、玩具等3D项目时,往往需要精确的尺寸控制。徒手绘制对手残党不友好,使用CAD软件的自带命令又会增加学习成本,还不如使用万金油Python搞定。

1.安装必备

在 OpenSCAD - Downloads 安装OpenSCAD,特别的,如果你在Windows上已经安装了MSYS2,也可以通过pacman安装OpenSCAD。对于Windows用户,安装好之后要把OpenSCAD的可执行文件路径放在PATH中,【开始】-> 【运行】(Windows + R)输入openscad 可以打开即可。

注意,我们不使用OpenSCAD的图形界面,也不用学习OpenSCAD自己发明的那一套语言。

安装好Python之后,安装笔者开发的wrapper,能够节省很多时间:

pip install git+https://github.com/jerry-jho/BetterOpenSCAD.git


2. Hello World!

写这样一段代码,用Python直接运行

from BetterOpenSCAD import * d = CUBE(40, 40, 4) RENDER(d, "hello.stl")

这样就得到了一个宽=40,长=40,高=4的正方体,保存为“hello.stl”,这个文件可以用Windows 10自带的3D查看器打开,也可以去淘宝找个3D打印的点直接打印为实体。

使用Python创建3D模型(3D打印+乐高)

3. 做个乐高吧

以5 x 5的洞洞板为例。一个乐高单位是 8mm,机械类的孔直径是4.8mm

from BetterOpenSCAD import *

d = CUBE(40, 40, 4)

for x in range(5):
    for y in range(5):
        d -= DRILL(4 + x * 8, 4 + y * 8, 2.4)

RENDER(d, "hello.stl")

有了for循环,打25个孔不要太容易~

使用Python创建3D模型(3D打印+乐高)

如果只是粗看一下,可以设置环境变量SCAD_SEGMENT为一个较小的数值(比如10)

有了STL,可以把它转换成Wavefront OBJ格式。完整的代码如下:

from BetterOpenSCAD import *

d = CUBE(40, 40, 4)

for x in range(5):
    for y in range(5):
        d -= DRILL(4 + x * 8, 4 + y * 8, 2.4)

RENDER(d, "hello.stl")
STL2OBJ("hello.stl", "hello.obj")

hello.obj也可以用Windows 10自带的查看器打开。

打开PartDesigner,新建一个part,导入hello.obj,像这样设置scale:

使用Python创建3D模型(3D打印+乐高)

然后设置好连接属性,导出

使用Python创建3D模型(3D打印+乐高)使用Python创建3D模型(3D打印+乐高)

最后打开屎丢丢,在Custom Part里找到Hello。你创建的模型可以正确的和现有乐高元件拼接

使用Python创建3D模型(3D打印+乐高)

在导出的安装手册里也有HELLO

使用Python创建3D模型(3D打印+乐高)

链接:https://zhuanlan.zhihu.com/p/607428379

- 本文内容来自网络,如有侵权,请联系本站处理。

2023-09   阅读(249)   评论(0)
 标签: 创客 Python OpenSCAD LEGO 3D打印

涨知识
传感器

传感器是一种检测装置,能感受到被测量的信息,并按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。

评论:
相关文章
乐高科技发纸牌坦克

这个坦克的底盘系统非常好。


乐高科技可升降底盘系统

乐高小车可升降底盘系统讲解。




乐高开合桥模型:创新STEM课程与桥梁设计探索

此次活动,我们将深入探讨如何运用乐高搭建出富有创意的结构,并分享一系列精心设计的STEM课程方案,助力教师在课堂上轻松开展丰富多彩的活动。




7个乐高自动化水泵水车MOC作品

7个乐高自动化水泵水车MOC作品。



LeoCAD,让你拥有无限积木,自由拼搭梦想!

LeoCAD 以其免费开源、功能丰富、易于上手的特点,为全球乐高爱好者提供了一个无与伦比的虚拟创作平台。它打破了物理零件的限制,让想象力自由飞翔。