使用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   阅读(264)   评论(0)
 标签: 创客 Python OpenSCAD LEGO 3D打印

涨知识
I2C

I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。

评论:
相关文章
用乐高建造一个全悬挂遥控车

用乐高建造一个全悬挂遥控车。


乐高带转向悬架搭建指南

乐高带转向悬架搭建指南。


乐高机械机构-汽车悬架结构组成演示

乐高机械机构汽车悬架结构组成演示。


乐高前驱带悬挂底盘小车

乐高前驱带悬挂底盘小车。


用乐高打造一款自动浓缩咖啡胶囊机

用乐高打造一款 自动浓缩咖啡胶囊机。


5个乐高机械传动齿轮齿条创意设计

5个乐高机械传动齿轮齿条创意设计


乐高重力发电:将下落的重量转化为电能!

乐高重力发电:将下落的重量转化为电能!


乐高科技发纸牌坦克

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


乐高科技可升降底盘系统

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