Skip to content
This repository

Welcome to the OpenSCAD wiki! This is work in progress. Click the Pages tab to see all pages.


TODO: We should create a page where we list ideas for larger development tasks. Each task should eventually get its own page, perhaps linked to a github issue. The tasks could be promoted into the suggested OpenSCAD Enhancement Proposals when/if they mature to that point.

TODO: We should also create a development support wiki, discussing how to get started setting up a development environment on the various platforms, as well as ideas how to get started as a new developer.

New Language Features

Basic language features


List Comprehensions

OpenSCAD functions are very limited. They basically evaluate one single expression, which does not include e.g. using for loops. Generating lists of content is this pretty hard.

One idea on how to improve this is to implement list comprehension. These are well-known constructs in languages like e.g. Python. Typical list comprehension functions would be e.g. map, reduce, filter.

Syntax needs to be discussed. One random suggestion:

function(list) = for (item=list) yield sin(item);

newlist = function(list); // returns [0.17364817766693033, 0.3420201433256687, 0.49999999999999994, 0.6427876096865393, 0.766044443118978]

..or more terse, e.g.: function(list) = [sin(item) for item in list];

List and Array operations

Multi-color support (for 3D printing)

  • Make it easy to model and export multi-color designs.
  • Evaluate and export all colors in one operation
  • Export as AMF, obj, or some way of packing STL (look at how 3D slicer SW handles this)
  • Introduce a new module for specifying this (material?)
  • Make it possible to create multi-color models without having to create separate, explicit, separate geometries. This could be difficult - needs examples!

Geometry features

Line and point geometries

Text primitives (

Polygon/polyhedron offset (

New functionality

SVG import/export

Today we support DXF import/export for 2D data. SVG is a much more widely used format for this. While exporting is trivial, importing needs to be robust and well tested.

Difficulty: Pretty straight-forward. The interface would be providing line segments to an internal 2D polygon class

AMF export

OBJ import/export

New GUI Features

GUI Feedback Loop Helpers

Remember Export Path

Infrastructure/Refactoring/Optimization opportunities

No implicit union



Something went wrong with that request. Please try again.