SuperSCAD
| Legal | Docs | Release | Code |
|---|---|---|---|
|
|
|
|
|
The OO Programmers Solid 3D CAD Modeller
SuperSCAD is an advanced application/library for generating 2D and 3D models in OpenSCAD in Python. SuperSCAD is based, among others, on the factory pattern and delivers to you as 2D and 3D modeler the superpowers of Python.
Documentation
The full documentation is available at https://superscad.readthedocs.io.
Getting Started and Installing SuperSCAD
We advise to create a Python virtual environment in a project folder:
cd awsesome-project
python -m venv .venv
. .venv/bin/activate
pip install super-scad
Using your favorite editor, copy-paste the code from the demo in the next section and save the file under
openscad-logo.py.
vi openscad-logo.py
Run python and open the generated openscad-logo.scad in openscad.
python openscad-logo.py
openscad openscad-logo.scad
Congratulations, you just finished your first SuperSCAD project.
Demo
Below is an example of SuperSCAD utilizing the factory pattern.
from super_scad.boolean.Difference import Difference
from super_scad.d3.Cylinder import Cylinder
from super_scad.d3.Sphere import Sphere
from super_scad.other.Modify import Modify
from super_scad.scad.Context import Context
from super_scad.scad.Scad import Scad
from super_scad.scad.ScadWidget import ScadWidget
from super_scad.scad.Unit import Unit
from super_scad.transformation.Rotate3D import Rotate3D
class Logo(ScadWidget):
"""
SuperSCAD widget for generating OpenSCAD logo.
"""
def build(self, context: Context):
"""
Builds a SuperSCAD widget.
:param context: The build context.
"""
size: float = 50.0
hole: float = size / 2.0
height: float = 1.25 * size
cylinder = Cylinder(height=height, diameter=hole, center=True, fn4n=True)
sphere = Sphere(diameter=size, fn4n=True)
return Difference(children=[sphere,
cylinder,
Modify(highlight=True, child=Rotate3D(angle_x=90.0, child=cylinder)),
Rotate3D(angle_y=90.0, child=cylinder)])
if __name__ == '__main__':
scad = Scad(context=Context(fn=360))
logo = Logo()
scad.run_super_scad(logo, 'logo.scad')
The example generates the logo of OpenSCAD.
Links
License
This project is licensed under the terms of the MIT license.
Metadata
Release files for Super-SCAD 0.11.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| super_scad-0.11.7.tar.gz | 50.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| super_scad-0.11.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 155.0 kB
Release files / super_scad-0.11.7.tar.gz
| Download URL | super_scad-0.11.7.tar.gz |
|---|---|
| Size | 50.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9bab7ad435e8211485516256c1e49073c752758b3c3279d20594ff8aca52ec4e
|
|
BLAKE2b-256 checksum How to use checksums |
0c5a5fb73273b2e398b4eea014673467beb87111f0f35f0a0344139f9f9ef2cd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.3.2 CPython/3.14.2 Linux/6.18.8-200.fc43.x86_64
|
Release files / super_scad-0.11.7-py3-none-any.whl
| Download URL | super_scad-0.11.7-py3-none-any.whl |
|---|---|
| Size | 104.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2fbb709d661726734fe4bc731afad65b6ea22504efc85fcab71d82940fab2f20
|
|
BLAKE2b-256 checksum How to use checksums |
d33510faf1bf49134f594dfba5effa23e27668b853dff4122b71de8e24398bfb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.3.2 CPython/3.14.2 Linux/6.18.8-200.fc43.x86_64
|
Security for Super-SCAD 0.11.7
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.