discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Is it worth learning any OpenSCAD Python wrapper, e.g. to do x=x+1?

V
Vigardo
Sun, Jan 24, 2021 12:35 PM

A comment from RobWLakes in some recent thread made me ask myself about
whether somebody would have had the idea of merging OpenSCAD and Python:

"For a language that can't do X=X+1, and remains in the mind-set of
functional languages..."
http://forum.openscad.org/Does-OpenSCAD-deserve-a-modern-Forum-platform-tp31657p31723.html

The answer to this question is definitively YES (in fact there has been a
relatively long tradition of attempts *), and leads me to ask the following
questions:

  1. Is it worthy to learn any of them?

  2. If so, which one do you think is best?

  3. Are OpenSCAD developers currently working in this topic? It seems that a
    native OpenSCAD Python interface would dramatically increase OpenSCAD
    impact, don´t you think?

*This is the Python wrappers list I´ve found so far, feel free to add any
new alternative!

OpenPySCAD
https://pypi.org/project/openpyscad

SolidPython
https://github.com/SolidCode/SolidPython

PythonOpenScad
https://bitbucket.org/owebeeone/pythonopenscad/src/master

In the latter link, the author says:

"It seems that using Python to produce 3D solid models using OpenScad is a
prestigious line of work with a long and glorious tradition. It also seems
like lots of dead projects but a popular theme nonetheless."

And provides an historical list of projects that I think is good having here
for completeness:

https://github.com/SolidCode/SolidPython active
https://github.com/taxpon/openpyscad (kind of active)
https://github.com/SquirrelCZE/pycad/ (gone)
https://github.com/vishnubob/pyscad (2016)
https://github.com/bjbsquared/SolidPy (2012)
https://github.com/acrobotic/py2scad (2015)
https://github.com/TheZoq2/py-scad (2015)
https://github.com/defnull/pyscad (2014)

--
Sent from: http://forum.openscad.org/

A comment from RobWLakes in some recent thread made me ask myself about whether somebody would have had the idea of merging OpenSCAD and Python: "For a language that can't do X=X+1, and remains in the mind-set of functional languages..." <http://forum.openscad.org/Does-OpenSCAD-deserve-a-modern-Forum-platform-tp31657p31723.html> The answer to this question is definitively YES (in fact there has been a relatively long tradition of attempts *), and leads me to ask the following questions: 1. Is it worthy to learn any of them? 2. If so, which one do you think is best? 3. Are OpenSCAD developers currently working in this topic? It seems that a native OpenSCAD Python interface would dramatically increase OpenSCAD impact, don´t you think? *This is the Python wrappers list I´ve found so far, feel free to add any new alternative! OpenPySCAD https://pypi.org/project/openpyscad SolidPython https://github.com/SolidCode/SolidPython PythonOpenScad https://bitbucket.org/owebeeone/pythonopenscad/src/master In the latter link, the author says: "It seems that using Python to produce 3D solid models using OpenScad is a prestigious line of work with a long and glorious tradition. It also seems like lots of dead projects but a popular theme nonetheless." And provides an historical list of projects that I think is good having here for completeness: https://github.com/SolidCode/SolidPython active https://github.com/taxpon/openpyscad (kind of active) https://github.com/SquirrelCZE/pycad/ (gone) https://github.com/vishnubob/pyscad (2016) https://github.com/bjbsquared/SolidPy (2012) https://github.com/acrobotic/py2scad (2015) https://github.com/TheZoq2/py-scad (2015) https://github.com/defnull/pyscad (2014) -- Sent from: http://forum.openscad.org/
WF
William F. Adams
Sun, Jan 24, 2021 1:20 PM

This is something I've been agonizing over for a while.
Maintain a list of these projects at:
https://wiki.shapeoko.com/index.php/Programming#OpenSCAD_interface_extensible_with_Python
(and will be updating it with your notes presently)
I'm thinking I'm probably going to just have to switch over to FreeCAD --- which is a shame, because all that I really need is better performance (which I can usually program around) and the ability to write out arbitrary text files w/o the repetitive text which OpenSCAD insists on adding, and ideally with control over text file name and extensions.
William

This is something I've been agonizing over for a while. Maintain a list of these projects at: https://wiki.shapeoko.com/index.php/Programming#OpenSCAD_interface_extensible_with_Python (and will be updating it with your notes presently) I'm thinking I'm probably going to just have to switch over to FreeCAD --- which is a shame, because all that I really need is better performance (which I can usually program around) and the ability to write out arbitrary text files w/o the repetitive text which OpenSCAD insists on adding, and ideally with control over text file name and extensions. William
M
MichaelAtOz
Sun, Jan 24, 2021 10:21 PM

Please read
http://forum.openscad.org/OpenSCAD-language-replace-it-with-Python3-td30692.html

Please people, do not go through that loop again unless you have something
not covered there.

Vigardo wrote

  1. Is it worthy to learn any of them?

  2. If so, which one do you think is best?

  3. Are OpenSCAD developers currently working in this topic? It seems that
    a
    native OpenSCAD Python interface would dramatically increase OpenSCAD
    impact, don´t you think?

  1. No.
  2. You'd want to pick one which has current support and active development,
    see 1.
  3. No. No.

OpenSCAD is language which ties together a few open-source libraries.
Replace 'OpenSCAD' with Python then you have, !OpenSCAD and a few libraries.

That then would not be relevant to a Forum/Mailing-list covering 'OpenSCAD'.


OpenSCAD Admin - email* me if you need anything,  or if I've done something stupid...

  • on the Forum, click on my MichaelAtOz label, there is a link to email me.

Unless specifically shown otherwise above, my contribution is in the Public Domain; to the extent possible under law, I have waived all copyright and related or neighbouring rights to this work. Obviously inclusion of works of previous authors is not included in the above.

--
Sent from: http://forum.openscad.org/

Please read http://forum.openscad.org/OpenSCAD-language-replace-it-with-Python3-td30692.html Please people, do not go through that loop again unless you have something not covered there. Vigardo wrote > 1. Is it worthy to learn any of them? > > 2. If so, which one do you think is best? > > 3. Are OpenSCAD developers currently working in this topic? It seems that > a > native OpenSCAD Python interface would dramatically increase OpenSCAD > impact, don´t you think? 1. No. 2. You'd want to pick one which has current support and active development, see 1. 3. No. No. OpenSCAD is language which ties together a few open-source libraries. Replace 'OpenSCAD' with Python then you have, !OpenSCAD and a few libraries. That then would not be relevant to a Forum/Mailing-list covering 'OpenSCAD'. ----- OpenSCAD Admin - email* me if you need anything, or if I've done something stupid... * on the Forum, click on my MichaelAtOz label, there is a link to email me. Unless specifically shown otherwise above, my contribution is in the Public Domain; to the extent possible under law, I have waived all copyright and related or neighbouring rights to this work. Obviously inclusion of works of previous authors is not included in the above. -- Sent from: http://forum.openscad.org/
RW
Ray West
Tue, Jan 26, 2021 2:37 AM

fwiw, I'm relatively new to openscad, newer to freecad. All the time I'm
doing something in freecad, I'm thinking it would be quicker and more
straightforward designing in openscad, and in all honesty, I far prefer
the structure of Angel-cad. It may be different for you.

On 24/01/2021 13:20, William F. Adams via Discuss wrote:

This is something I've been agonizing over for a while.

Maintain a list of these projects at:

https://wiki.shapeoko.com/index.php/Programming#OpenSCAD_interface_extensible_with_Python

(and will be updating it with your notes presently)

I'm thinking I'm probably going to just have to switch over to FreeCAD
--- which is a shame, because all that I really need is better
performance (which I can usually program around) and the ability to
write out arbitrary text files w/o the repetitive text which OpenSCAD
insists on adding, and ideally with control over text file name and
extensions.

William


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

fwiw, I'm relatively new to openscad, newer to freecad. All the time I'm doing something in freecad, I'm thinking it would be quicker and more straightforward designing in openscad, and in all honesty, I far prefer the structure of Angel-cad. It may be different for you. On 24/01/2021 13:20, William F. Adams via Discuss wrote: > This is something I've been agonizing over for a while. > > Maintain a list of these projects at: > > https://wiki.shapeoko.com/index.php/Programming#OpenSCAD_interface_extensible_with_Python > > (and will be updating it with your notes presently) > > I'm thinking I'm probably going to just have to switch over to FreeCAD > --- which is a shame, because all that I really need is better > performance (which I can usually program around) and the ability to > write out arbitrary text files w/o the repetitive text which OpenSCAD > insists on adding, and ideally with control over text file name and > extensions. > > William > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
BR
Benjamin Renneberg
Tue, Jan 26, 2021 3:48 AM

What is Angel-cad? All I found was this business, but he seems to use
solidworks: https://www.facebook.com/Angel-CAD-244451893106811/

And apparently Victoria's Secret's credit card is called Angel Card.

On Mon, Jan 25, 2021 at 6:38 PM Ray West raywest@raywest.com wrote:

fwiw, I'm relatively new to openscad, newer to freecad. All the time I'm
doing something in freecad, I'm thinking it would be quicker and more
straightforward designing in openscad, and in all honesty, I far prefer the
structure of Angel-cad. It may be different for you.
On 24/01/2021 13:20, William F. Adams via Discuss wrote:

This is something I've been agonizing over for a while.

Maintain a list of these projects at:

https://wiki.shapeoko.com/index.php/Programming#OpenSCAD_interface_extensible_with_Python

(and will be updating it with your notes presently)

I'm thinking I'm probably going to just have to switch over to FreeCAD ---
which is a shame, because all that I really need is better performance
(which I can usually program around) and the ability to write out arbitrary
text files w/o the repetitive text which OpenSCAD insists on adding, and
ideally with control over text file name and extensions.

William


OpenSCAD mailing listDiscuss@lists.openscad.orghttp://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

What is Angel-cad? All I found was this business, but he seems to use solidworks: https://www.facebook.com/Angel-CAD-244451893106811/ And apparently Victoria's Secret's credit card is called Angel Card. On Mon, Jan 25, 2021 at 6:38 PM Ray West <raywest@raywest.com> wrote: > fwiw, I'm relatively new to openscad, newer to freecad. All the time I'm > doing something in freecad, I'm thinking it would be quicker and more > straightforward designing in openscad, and in all honesty, I far prefer the > structure of Angel-cad. It may be different for you. > On 24/01/2021 13:20, William F. Adams via Discuss wrote: > > This is something I've been agonizing over for a while. > > Maintain a list of these projects at: > > > https://wiki.shapeoko.com/index.php/Programming#OpenSCAD_interface_extensible_with_Python > > (and will be updating it with your notes presently) > > I'm thinking I'm probably going to just have to switch over to FreeCAD --- > which is a shame, because all that I really need is better performance > (which I can usually program around) and the ability to write out arbitrary > text files w/o the repetitive text which OpenSCAD insists on adding, and > ideally with control over text file name and extensions. > > William > > _______________________________________________ > OpenSCAD mailing listDiscuss@lists.openscad.orghttp://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >
WF
William F. Adams
Tue, Jan 26, 2021 4:15 AM

Benjamin Renneberg asked:

What is Angel-cad? All I found was this business, but he seems to use solidworks: https://www.facebook.com/Angel-CAD-244451893106811/

AngelCAD is a programmatic 3D modeling tool like to OpenSCAD:
https://github.com/arnholm/angelcad
It (and I'd like to think all the other programmatic CAD tools) is listed at:
https://wiki.shapeoko.com/index.php/Programming
It was discussed/mentioned at:
https://news.ycombinator.com/item?id=24243077
where it is noted:

It began from a desire of a fast Constructive Solid Geometry engine, based on a strongly typed scripting language. It is not a goal of the core AngelCAD package to develop a traditional CAD GUI, the emphasis is on scripting.

It was one of the other tools I considered moving on to, and since it is able to write out arbitrary text files, should be a workable option to address my specific problem, which is that it's not easy to get to a CAM (Computer Aided Manufacturing) file from OpenSCAD. The norm is to export a DXF (or SVG), but that limits one to closed polylines, and can require some awkward work-arounds for some projects (for example, cutting with a V endmill will often require separate exports for X and Y cuts in addition to the profile cuts defined in a 3rd export).
That FreeCAD is pervasively scripted using Python, including the Path workbench makes me hope that it will be possible to support arbitrary tool geometries (such as cove radius endmills) and to cut out joinery in ways which while I've been able to model successfully in OpenSCAD, I haven't been able to extract toolpaths from.
It helps that it is cross-platform enough that it will run on a Raspberry Pi.
William

Benjamin Renneberg asked: >What is Angel-cad? All I found was this business, but he seems to use solidworks: https://www.facebook.com/Angel-CAD-244451893106811/ AngelCAD is a programmatic 3D modeling tool like to OpenSCAD: https://github.com/arnholm/angelcad It (and I'd like to think all the other programmatic CAD tools) is listed at: https://wiki.shapeoko.com/index.php/Programming It was discussed/mentioned at: https://news.ycombinator.com/item?id=24243077 where it is noted: >It began from a desire of a fast Constructive Solid Geometry engine, based on a strongly typed scripting language. It is not a goal of the core AngelCAD package to develop a traditional CAD GUI, the emphasis is on scripting. It was one of the other tools I considered moving on to, and since it is able to write out arbitrary text files, should be a workable option to address my specific problem, which is that it's not easy to get to a CAM (Computer Aided Manufacturing) file from OpenSCAD. The norm is to export a DXF (or SVG), but that limits one to closed polylines, and can require some awkward work-arounds for some projects (for example, cutting with a V endmill will often require separate exports for X and Y cuts in addition to the profile cuts defined in a 3rd export). That FreeCAD is pervasively scripted using Python, including the Path workbench makes me hope that it will be possible to support arbitrary tool geometries (such as cove radius endmills) and to cut out joinery in ways which while I've been able to model successfully in OpenSCAD, I haven't been able to extract toolpaths from. It helps that it is cross-platform enough that it will run on a Raspberry Pi. William
A
arnholm@arnholm.org
Tue, Jan 26, 2021 7:06 AM

On 2021-01-26 04:48, Benjamin Renneberg wrote:

What is Angel-cad? All I found was this business, but he seems to use
solidworks:

No, that is totally unrelated.

This page provides info about the AngelCAD software + download links
https://arnholm.github.io/angelcad-docs/

Carsten Arnholm

On 2021-01-26 04:48, Benjamin Renneberg wrote: > What is Angel-cad? All I found was this business, but he seems to use > solidworks: No, that is totally unrelated. This page provides info about the AngelCAD software + download links https://arnholm.github.io/angelcad-docs/ Carsten Arnholm
CA
Carsten Arnholm
Tue, Jan 26, 2021 10:40 AM

On 26.01.2021 05:15, William F. Adams via Discuss wrote:

Benjamin Renneberg asked:

What is Angel-cad? All I found was this business, but he seems to use

solidworks:

That is entirely unrelated.

See instead https://arnholm.github.io/angelcad-docs/

Carsten Arnholm

On 26.01.2021 05:15, William F. Adams via Discuss wrote: > Benjamin Renneberg asked: > > >What is Angel-cad? All I found was this business, but he seems to use > solidworks: That is entirely unrelated. See instead https://arnholm.github.io/angelcad-docs/ Carsten Arnholm