I have developed a 3D modeling software based on python and openSCAD.
Github: https://github.com/sprabhakar2006/SanPyCAD
A video to explain the installation process :
https://youtu.be/6gmXwhTQcXE
Maybe of some interest to few here
Could you give a summary of the differences/advantages in comparison to OpenSCAD? I love OpenSCAD, but just like every other piece of software that has ever existed, there will always be things that can be improved. The fact that it is based on OpenSCAD definitely gives me hope (since I will hopefully not need to learn a huge amount of new syntax & I can use my existing work), so I would like to know what expect if I do try it.
Nathan Sokalski
njsokalski@hotmail.commailto:njsokalski@hotmail.com
From: Sanjeev Prabhakar via Discuss discuss@lists.openscad.org
Sent: Sunday, July 26, 2026 2:44 AM
To: OpenSCAD general discussion discuss@lists.openscad.org
Cc: Sanjeev Prabhakar sprabhakar2006@gmail.com
Subject: [OpenSCAD] SanPyCAD
I have developed a 3D modeling software based on python and openSCAD.
Github: https://github.com/sprabhakar2006/SanPyCAD
A video to explain the installation process :
https://youtu.be/6gmXwhTQcXE
Maybe of some interest to few here
Operations like difference, intersection, union, manifold are taken from
openSCAD.
All the calculations of vertices and faces are done in python.
So, this is completely based on points in space based geometry and not
opeSCAD primitives.
This gives a lot of flexibility in creating shapes.
A lot of things that are extremely difficult in pure openSCAD are possible
in SanPyCAD like fillets and complex geometries.
You need to see the 100 examples inside the software to understand the
difference.
There is a learning curve though, which is supported by "Reference" which
lists all the functions available along with their definition and examples
which cover the basics of sketching to very advanced examples.
Thanks
On Mon, 27 Jul 2026 at 01:19, Nathan Sokalski via Discuss <
discuss@lists.openscad.org> wrote:
Could you give a summary of the differences/advantages in comparison to
OpenSCAD? I love OpenSCAD, but just like every other piece of software that
has ever existed, there will always be things that can be improved. The
fact that it is based on OpenSCAD definitely gives me hope (since I will
hopefully not need to learn a huge amount of new syntax & I can use my
existing work), so I would like to know what expect if I do try it.
From: Sanjeev Prabhakar via Discuss discuss@lists.openscad.org
Sent: Sunday, July 26, 2026 2:44 AM
To: OpenSCAD general discussion discuss@lists.openscad.org
Cc: Sanjeev Prabhakar sprabhakar2006@gmail.com
Subject: [OpenSCAD] SanPyCAD
I have developed a 3D modeling software based on python and openSCAD.
Github: https://github.com/sprabhakar2006/SanPyCAD
A video to explain the installation process :
https://youtu.be/6gmXwhTQcXE
Maybe of some interest to few here
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
Macos installation has some extra steps.
Refer this video for explanation:
https://youtu.be/aS2mpCPhpsg?si=p5uGxZdsoLKprmIX
On Sun, 26 Jul 2026 at 12:14, Sanjeev Prabhakar sprabhakar2006@gmail.com
wrote:
I have developed a 3D modeling software based on python and openSCAD.
Github: https://github.com/sprabhakar2006/SanPyCAD
A video to explain the installation process :
https://youtu.be/6gmXwhTQcXE
Maybe of some interest to few here
I am confused by "Operations like difference, intersection, union,
manifold are taken from openSCAD" vs "completely based on points in
space based geometry and not opeSCAD primitives". These statements seem
to be contradictory.
On 7/26/2026 8:36 PM, Sanjeev Prabhakar via Discuss wrote:
Operations like difference, intersection, union, manifold are taken
from openSCAD.
All the calculations of vertices and faces are done in python.
So, this is completely based on points in space based geometry and not
opeSCAD primitives.
This gives a lot of flexibility in creating shapes.
A lot of things that are extremely difficult in pure openSCAD are
possible in SanPyCAD like fillets and complex geometries.
You need to see the 100 examples inside the software to understand the
difference.
There is a learning curve though, which is supported by "Reference"
which lists all the functions available along with their definition
and examples which cover the basics of sketching to very advanced
examples.
Thanks
On Mon, 27 Jul 2026 at 01:19, Nathan Sokalski via Discuss
discuss@lists.openscad.org wrote:
Could you give a summary of the differences/advantages in
comparison to OpenSCAD? I love OpenSCAD, but just like every other
piece of software that has ever existed, there will always be
things that can be improved. The fact that it is based on OpenSCAD
definitely gives me hope (since I will hopefully not need to learn
a huge amount of new syntax & I can use my existing work), so I
would like to know what expect if I do try it.
Nathan Sokalski
njsokalski@hotmail.com
------------------------------------------------------------------------
*From:* Sanjeev Prabhakar via Discuss <discuss@lists.openscad.org>
*Sent:* Sunday, July 26, 2026 2:44 AM
*To:* OpenSCAD general discussion <discuss@lists.openscad.org>
*Cc:* Sanjeev Prabhakar <sprabhakar2006@gmail.com>
*Subject:* [OpenSCAD] SanPyCAD
I have developed a 3D modeling software based on python and openSCAD.
Github: https://github.com/sprabhakar2006/SanPyCAD
<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_sprabhakar2006_SanPyCAD&d=DwMFaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=AsrE-c7ZR7B2Kyr3qgfvvppkCEBVsNmwEMndcrRSuOI&m=CFNWDKwQ0Be29Nz9wOEs3ATpJLpIvemWmP7PoLFz97sJMYJ6TSt3U--7UW8mNF6S&s=gE6cRjV3tyJuXgNJe-1gHTn2tQI5tY07a4EX3xYJ238&e=>
A video to explain the installation process :
https://youtu.be/6gmXwhTQcXE
<https://urldefense.proofpoint.com/v2/url?u=https-3A__youtu.be_6gmXwhTQcXE&d=DwMFaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=AsrE-c7ZR7B2Kyr3qgfvvppkCEBVsNmwEMndcrRSuOI&m=CFNWDKwQ0Be29Nz9wOEs3ATpJLpIvemWmP7PoLFz97sJMYJ6TSt3U--7UW8mNF6S&s=kVegP_g4jG156UXuMj-XJfaSOlCbBV3ZPfvE9_VVL0c&e=>
Maybe of some interest to few here
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org
--
This email has been checked for viruses by AVG antivirus software.
www.avg.com
I am confused by "Operations like difference, intersection, union, manifold
are taken from openSCAD" vs "completely based on points in space based
geometry and not opeSCAD primitives". These statements seem to be
contradictory.
As I understand it, from the example provided in the attached video,
operations such as difference(), intersection(), union(), are still done
using OpenSCAD. However, the objects that you provide to those operations
are generally polygons generated from "points in space" by using Python.
Here's another example:
SanPyCAD)
l2=cr2dt([[0,0],[10,0],[0,10],[-10,0]])
s1=linear_extrude(l2,10)
fo(f'''
color("blue") for(p={s1}) points(p,.5);
color("magenta")for(p={s1}) p_line3d(p,.2);
// pay attention to the swp_surf module here
// swp_surf shows the surface covered by the polylines and is very important
// to understand as intersections are calculated based on intersecting
surfaces
{swp_surf(s1)}
''')
The first two lines and the functions fo() and swp_surf() are Python
functions.
The fo() function creates a file that is sent to OpenSCAD where,
apparently, anything within a {} is replaced by the associated Python
variable contents or Python function calls. Also, the functions points()
and p-line3d() are apparently defined within a provided OpenSCAD library.
To answer Nathan's concerns: No, it doesn;t look like you can leverage much
existing OpenSCAD code. Yes, there will be new syntax to learn. As
Sanjeev says, "There is a learning curve though,".
Len
Thanks Len,
You explained it perfectly.
Regards
On Mon, 27 Jul 2026, 06:43 Leonard Martin Struttmann via Discuss, <
discuss@lists.openscad.org> wrote:
I am confused by "Operations like difference, intersection, union,
manifold are taken from openSCAD" vs "completely based on points in space
based geometry and not opeSCAD primitives". These statements seem to be
contradictory.
As I understand it, from the example provided in the attached video,
operations such as difference(), intersection(), union(), are still done
using OpenSCAD. However, the objects that you provide to those operations
are generally polygons generated from "points in space" by using Python.
Here's another example:
SanPyCAD)
l2=cr2dt([[0,0],[10,0],[0,10],[-10,0]])
s1=linear_extrude(l2,10)
fo(f'''
color("blue") for(p={s1}) points(p,.5);
color("magenta")for(p={s1}) p_line3d(p,.2);
// pay attention to the swp_surf module here
// swp_surf shows the surface covered by the polylines and is very
important
// to understand as intersections are calculated based on intersecting
surfaces
{swp_surf(s1)}
''')
The first two lines and the functions fo() and swp_surf() are Python
functions.
The fo() function creates a file that is sent to OpenSCAD where,
apparently, anything within a {} is replaced by the associated Python
variable contents or Python function calls. Also, the functions points()
and p-line3d() are apparently defined within a provided OpenSCAD library.
To answer Nathan's concerns: No, it doesn;t look like you can
leverage much existing OpenSCAD code. Yes, there will be new syntax to
learn. As Sanjeev says, "There is a learning curve though,".
Len
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org