Introduction of OpenPySCAD

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Introduction of OpenPySCAD

Takuro Wada
Hi,

I've created python library to generate OpenSCAD source intuitively.
Of course you can use python language powerful functions to generate
your OpenSCAD code.

Feature
- Intuitive operations
- Supporting both python2 and python3
- Supporting modifiers as well

Install:
pip install openpyscad

Example:
import openpyscad as ops
c1 = ops.Cube([10, 20, 10])
c2 = ops.Cube([20, 10, 10])
(c1 + c2).write("sample.scad")
# will generate "ssample.scad" file with OpenSCAD codes

Repo:
https://github.com/taxpon/openpyscad.

Cheers :),

# Takuro Wada   [hidden email]

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Introduction of OpenPySCAD

Neon22
It looks very interesting and congratulations on having a go.
There is an existing codebase doing something similar called Solidpython.
     - https://github.com/SolidCode/SolidPython
By similar, I mean it also produces OpenSCAD code.
You might consider how your two styles differ and what might be the most
interesting way to proceed.
All the best...

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Introduction of OpenPySCAD

doug.moen
In reply to this post by Takuro Wada
There are multiple projects that do this, the most popular is SolidPython, https://github.com/SolidCode/SolidPython

How does your project compare to SolidPython, what are the benefits/advantages?

On 8 January 2017 at 19:38, Takuro Wada <[hidden email]> wrote:
Hi,

I've created python library to generate OpenSCAD source intuitively.
Of course you can use python language powerful functions to generate
your OpenSCAD code.

Feature
- Intuitive operations
- Supporting both python2 and python3
- Supporting modifiers as well

Install:
pip install openpyscad

Example:
import openpyscad as ops
c1 = ops.Cube([10, 20, 10])
c2 = ops.Cube([20, 10, 10])
(c1 + c2).write("sample.scad")
# will generate "ssample.scad" file with OpenSCAD codes

Repo:
https://github.com/taxpon/openpyscad.

Cheers :),

# Takuro Wada   [hidden email]

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org




_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Introduction of OpenPySCAD

William Adams-2
FWIW, I've been trying to collect such tools as a listing here: http://www.shapeoko.com/wiki/index.php/Programmatic_G-Code_Generators --- corrections, improvements and additional tools to list would be welcome (added openpyscad).

William

On Mon, Jan 9, 2017 at 8:32 AM, doug moen <[hidden email]> wrote:
There are multiple projects that do this, the most popular is SolidPython, https://github.com/SolidCode/SolidPython

How does your project compare to SolidPython, what are the benefits/advantages?

On 8 January 2017 at 19:38, Takuro Wada <[hidden email]> wrote:
Hi,

I've created python library to generate OpenSCAD source intuitively.
Of course you can use python language powerful functions to generate
your OpenSCAD code.

Feature
- Intuitive operations
- Supporting both python2 and python3
- Supporting modifiers as well

Install:
pip install openpyscad

Example:
import openpyscad as ops
c1 = ops.Cube([10, 20, 10])
c2 = ops.Cube([20, 10, 10])
(c1 + c2).write("sample.scad")
# will generate "ssample.scad" file with OpenSCAD codes

Repo:
https://github.com/taxpon/openpyscad.

Cheers :),

# Takuro Wada   [hidden email]

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org




_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org



_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
tp3
Reply | Threaded
Open this post in threaded view
|

Re: Introduction of OpenPySCAD

tp3
...and https://github.com/SquirrelCZE/pycad/ 

...and https://github.com/vishnubob/pyscad

...and https://github.com/bjbsquared/SolidPy

...and https://github.com/acrobotic/py2scad

...and https://github.com/TheZoq2/py-scad

...and https://github.com/defnull/pyscad

The project death rate seems to reach about 90% after one
year though.

I think for some use cases (like maybe reading data from
a database or something) this is quite a useful approach.
It would be nice to see some more collaboration, crossing
fingers for the new project now...

ciao,
  Torsten.

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
-- Torsten
Reply | Threaded
Open this post in threaded view
|

Re: Introduction of OpenPySCAD

jpoullet2000
This post has NOT been accepted by the mailing list yet.
In reply to this post by doug.moen
I'm obviously biased here but I believe that doing:
Cube([2, 2, 2]).translate([1, 0, 0])
 is some more pythonic than
translate([1, 0, 0])(Cube([2, 2, 2]))

which is often what we saw in other projects... which is IMHO not very familiar for Python users.

Just a personal feeling ;)