Как сохранить данные в файл STL после обработки твердого тела Python?

Мне нужно обрабатывать программы openscad на python. Я использую твердую библиотеку ( https://solidpython.readthedocs.io/en/latest/index.html), но я не нашел никакого способа сохранить данные после обработки. пример

from solid import *
d = difference()(
   cube(10),
   sphere(15)
)

Мне нужно сохранить переменную d в файл STL. Как это сделать? И если есть лучшая библиотека, мне нужен совет, какую библиотеку лучше использовать.

1 ответ

Вам нужен openscad для экспорта данных в виде stl-файла. Вы можете сделать это из кода Python:

from solid import *
# to run  openscad 
from subprocess import run

d = difference()(
   cube(10),
   sphere(15)
)

# generate valid openscad code and store it in file
scad_render_to_file(d, 'd.scad')

# run openscad and export to stl
run(["openscad", "-o",  "d.stl", "d.scad"])

вместо последнего шага вы можете открыть d.scad в openscad, отобразить его (нажмите F6) и экспортировать как STL или запустить в консоли:

openscad -o d.stl d.scad

использование openscad из командной строки см. документацию

Другие вопросы по тегам