OpenSCAD: ADT wrapper and renderer for OpenSCAD models.

[ bsd3, graphics, library ] [ Propose Tags ]

An algebraic data type for describing OpenSCAD models, functions to make building such models easier, and functions for rendering an ADT into an OpenSCAD program.

[Skip to Readme]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS],,,,,,
Dependencies base (>4.5 && <5.0), colour (>=2.3 && <2.4), containers (>=0.5), filepath (>=1.3 && <1.5), semigroups (>=0.15 && <1.0) [details]
License BSD-3-Clause
Author Mike Meyer
Category Graphics
Home page
Source repo head:, repo type fossil
this:, repo type fossil, tag
Uploaded by MikeMeyer at 2015-07-07T16:28:55Z
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 5502 total (20 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2015-07-07 [all 1 reports]

Readme for OpenSCAD-

[back to package description]

What's Graphics.OpenSCAD

This is a library whose primary component is an algebraic data type for describing OpenSCAD models, and a function that converts that data type into a string. There are convenience functions to make building the model easier.

What's different

Given the primitive and quirky nature of the OpenSCAD language, the idea of "using OpenSCAD" as an assembler is both obvious, and promoted in lieu of adding major extensions to OpenSCAD. So there are a number of such projects, for a variety of languages.

Any compiler that generated "assembler" that caused the assembler program to generate errors would be considered buggy. However, none of the alternative projects I looked at seemed to do anything about that (my apologies if I missed one - I only looked at languages I was interested in using). Graphics.OpenSCAD takes the attitude that errors from OpenSCAD on the generated code are errors in Graphics.OpenSCAD. If you manage to generate code that causes OpenSCAD to issue an error message, please open an issue here.

More info

Read the online docs at hackage.