Difference between revisions of "PythonScad"
Jump to navigation
Jump to search
| (11 intermediate revisions by the same user not shown) | |||
| Line 6: | Line 6: | ||
== Installation == | == Installation == | ||
* Install {{Link|target=OpenSCAD}} | * Install {{Link|target=OpenSCAD}} | ||
| + | * Install viewscad <source lang='bash'>pip install viewscad</source> | ||
| + | * Install jupyterlab <source lang='bash'>pip install jupyterlab</source> see https://jupyterlab.readthedocs.io/en/stable/getting_started/installation.html | ||
=== On MacOS === | === On MacOS === | ||
create script $HOME/openscad | create script $HOME/openscad | ||
| Line 13: | Line 15: | ||
/Applications/OpenSCAD.app/Contents/MacOS/OpenSCAD $@ | /Applications/OpenSCAD.app/Contents/MacOS/OpenSCAD $@ | ||
</source> | </source> | ||
| − | === check version == | + | === check version === |
<source lang='bash'> | <source lang='bash'> | ||
openscad -v | openscad -v | ||
OpenSCAD version 2021.01 | OpenSCAD version 2021.01 | ||
| + | npm --version | ||
| + | 8.8.0 | ||
| + | jupyter labextension list | ||
| + | JupyterLab v3.4.7 | ||
| + | /Users/wf/Library/Python/3.10/share/jupyter/labextensions | ||
| + | jupyter-threejs v2.4.0 enabled OK (python, pythreejs) | ||
| + | jupyterlab-datawidgets v7.1.2 enabled OK | ||
| + | jupyterlab_pygments v0.2.2 enabled OK (python, jupyterlab_pygments) | ||
| + | @jupyter-widgets/jupyterlab-manager v5.0.3 enabled OK (python, jupyterlab_widgets) | ||
| + | |||
| + | Other labextensions (built into JupyterLab) | ||
| + | app dir: /Users/wf/Library/Python/3.10/share/jupyter/lab | ||
</source> | </source> | ||
| + | == start == | ||
<source lang='bash'> | <source lang='bash'> | ||
| − | jupyter | + | jupyter lab |
| + | </source> | ||
| + | == Example == | ||
| + | <source lang='python'> | ||
| + | # cell 1 | ||
| + | from solid import * | ||
| + | import viewscad | ||
| + | r=viewscad.Renderer() | ||
| + | # cell 2 | ||
| + | c=cylinder(r=5,h=2) | ||
| + | c-=minkowski()(translate([0,0,1]) (cylinder(r=3,h=1.5)),sphere(r=0.2)) | ||
| + | c-=cylinder(r=1,h=3,center=True) | ||
| + | c-=translate([0,-1,0]) (cube([6,2,3])) | ||
| + | r.render(c) | ||
</source> | </source> | ||
| + | [[File:viewscad_example_2022-09-22.png|400px]] | ||
| + | |||
| + | = Videos = | ||
| + | == Minkowski == | ||
| + | |||
<youtube>lPgLZgnbREk&t=46s</youtube> | <youtube>lPgLZgnbREk&t=46s</youtube> | ||
[[Category:3DPrint]] | [[Category:3DPrint]] | ||
Latest revision as of 07:09, 22 September 2022
- https://github.com/nickc92/ViewSCAD
- https://github.com/SolidCode/SolidPython
- https://pypi.org/project/openpyscad/
ViewSCAD
Installation
- Install OpenSCAD
- Install viewscad
pip install viewscad
- Install jupyterlab see https://jupyterlab.readthedocs.io/en/stable/getting_started/installation.html
pip install jupyterlab
On MacOS
create script $HOME/openscad
#!/bin/bash
# call OpenSCAD command line
/Applications/OpenSCAD.app/Contents/MacOS/OpenSCAD $@
check version
openscad -v
OpenSCAD version 2021.01
npm --version
8.8.0
jupyter labextension list
JupyterLab v3.4.7
/Users/wf/Library/Python/3.10/share/jupyter/labextensions
jupyter-threejs v2.4.0 enabled OK (python, pythreejs)
jupyterlab-datawidgets v7.1.2 enabled OK
jupyterlab_pygments v0.2.2 enabled OK (python, jupyterlab_pygments)
@jupyter-widgets/jupyterlab-manager v5.0.3 enabled OK (python, jupyterlab_widgets)
Other labextensions (built into JupyterLab)
app dir: /Users/wf/Library/Python/3.10/share/jupyter/lab
start
jupyter lab
Example
# cell 1
from solid import *
import viewscad
r=viewscad.Renderer()
# cell 2
c=cylinder(r=5,h=2)
c-=minkowski()(translate([0,0,1]) (cylinder(r=3,h=1.5)),sphere(r=0.2))
c-=cylinder(r=1,h=3,center=True)
c-=translate([0,-1,0]) (cube([6,2,3]))
r.render(c)
Videos
Minkowski