TurboProgrammer0815

u/TurboProgrammer0815


r/OpenPythonSCAD•

Without much fanfare we recently published PythonSCAD to PyPI. It was buried somewhere in a release announcement.

However, I wanted to showcase how amazing this is and how easy this makes it to use PythonSCAD in your own projects.

I've ported the awesome Gridfinity Rebuilt in OpenSCAD project by GitHub User kennetek (which is an implementation of the great original Gridfinity specification published by Zack Friedmann) over to PythonSCAD.

It is available on [GitHub](https://github.com/nomike/pythonscad-gridfinity/

100

r/OpenPythonSCAD•

You can find this announcement also on our website.

Hi everyone,

We are happy to announce PythonSCAD v1.1.2 "Prominentio" (*).

With so much going on since the last release, it's hard to decide what to write about first.

This release adds a number of nice features to the Python API like the new organic() mesh feature, which connects a cloud of points into a smooth, watertight organic surface. There are improvements to the MultiToolExporter (which we introduced in the previous release), which now allows exporting multiple objects into a single .3mf file. This is great for multi-tool printing! .mesh() now has an option t

80

r/OpenPythonSCAD•

Hi everyone,

We are thrilled to announce PythonSCAD v1.0.0 — our biggest release so far. This version marks a milestone: PythonSCAD has grown from a promising OpenSCAD fork with Python support into a mature, first-class tool for script-based 3D modeling. We have landed 83 pull requests since v0.20.0, covering everything from fundamental API architecture to a real IPython shell, native vector math, a completely refreshed Windows experience, full rebranding, and dozens of bug fixes.

API

We have again worked hard on improving what you can do in your design code.

Polyline improvements

Polylines now participate correctly in difference() and intersection() operations ([

192

r/OpenPythonSCAD•

Hi everyone,

We’re happy to announce PythonSCAD v0.20.0. The headline change is session management: the app can remember how you left off and bring that workspace back on the next launch. This is similar to what applications like NotedPad++ and Visual Studio Code are doing. We’ve also improved reliability in a few places, rounded out Python API documentation, and made small quality-of-life updates. Full technical notes are in the changelog on the release PR.

Session management (new)

v0.20.0 introduces session persistence. When you quit and reopen PythonSCAD, you can get back your open tabs and editors, **multi-window

71

r/OpenPythonSCAD•

Hi everyone,

We're happy to announce PythonSCAD v0.18.0. Unfortunately, v0.17.0 had a serious bug: the app wouldn't start on many Windows and macOS systems. We've fixed that in this release. Because we were already working on the next update, v0.18.0 also includes several other improvements — so it's both the fix and a solid update.

## Windows and macOS: App Starts Correctly Again

If you tried v0.17.0 on Windows or macOS and the app failed to launch (or showed an error like 0xc0000142), the problem was with how the installers were built: they only worked on a narrow set of CPUs. We've fixed the build process so the Windows and macOS packages now run on a much wider range of compute

81

r/OpenPythonSCAD•

Hi everyone,

There have been many releases in the past few months with smaller or bigger updates and fixes. We're now experimenting with posting release announcements from now on with every new release. This should help you follow along with the progress of the project.

Please let us know what you think!

So without further ado we're happy to announce the release of PythonSCAD v0.17.0! Here's what's new:

OpenSCAD Render Variables Now Available in Python

All OpenSCAD render variables are now accessible in PythonSCAD as well. This includes $t (animation time), $preview, $vpt (viewport translation), $vpr (viewport rotation), $vpd (viewport distance), and $vpf (viewport FOV). T

63

r/OpenPythonSCAD•

Today MSYS2 introduced an update to qt5-base which broke the qt5 build for PythonSCAD.
I asked on their Discord for advice but didn't receive any response.

As QT5 is end of life since 26th of May 2025, I just decided to no longer test it on Windows or build releasables for it. As QT is bundled with PythonSCAD on Windows, I don't think there will be much impact by this change.

We already had QT5 phased out from macOS when I joined th

51

r/OpenPythonSCAD•

Happy new year to y'all!

I've started contributing to PythonSCAD a couple of months ago when I was trying to package it for GNU Guix.

In the past few months I was focusing on the build system and recently was able to finalize a few major things:

In order to simplify releases, we've abandoned the date based version numbers we inherited from OpenSCAD and switched to semantic versioning. We also introduced Release Please, to help with change-log- and release-management.

PythonSCAD now also has fully automated release builds for Linux (AppImage), Windows (MXE cross compiled) and macOS (universal binaries).

For now, new releases can be found on the [GitHub Releases page](htt

410

r/OpenPythonSCAD•

Simple and short question:

How do I do this?

// func.scad
function foo() = 10;

# test.py
func = osuse("func.scad")
cube(func.foo())

Looks straight forward, but I'm getting this error:

AttributeError: 'openscad.PyOpenSCAD' object has no attribute 'foo'

Does anyone have an idea?Simple and short question:How do I do this?// func.scad
function foo() = 10;

# test.py
func = osuse("func.scad")
cube(func.foo())Looks straight forward, but I'm getting this error:AttributeError: 'openscad.PyOpenSCAD' object has no attribute 'foo'Does anyone have an idea?

13