MakerBot Print is our newest print-prepration software, which supports native CAD files and STL assemblies,
allows you to interact with all your printers via the Cloud, and many other exciting new features.

Download Now

Recent Topics

Customizer Update

by tbuser

Customizer now runs the new version of OpenSCAD 2015.03

Also, all the google fonts from http://www.google.com/fonts have been added to the servers and can be used in text() :)

View Comment


by atartanian

OpenSCAD is an open source programming language and IDE (Integrated Development Environment) for parametric 3D design. It is used to create precise, customizable and easily modifiable designs ready for 3D printing. It has a growing developer community and is the tool used to create designs compatible with the MakerBot Customizer app: http://www.thingiverse.com/apps/customizer

You can download OpenSCAD from www.openscad.org/downloads.html

This group is a place to discuss all things OpenSCAD including (but not limited to) new features, techniques, questions, libraries, works in progress, etc. So post a new Topic or contribute on an existing one!

Share knowledge, get constructive feedback, and ask questions!

Join to add your OpenSCAD designs or libraries to this group's Things. Non-OpenSCAD designs will be removed.

Have fun!

View Comment

OpenSCAD 2015.03 is out!

by atartanian

WOOT! now we can put comic sans on everything ;D

get it here: http://www.openscad.org/downloads.html

If you make any scripts that use features from the new version, add links to them in this post!

Summary of changes

Language Features

  • Added text() module for 2D text
  • Added offset() module for 2D offsets
  • Added list comprehensions and let()
  • Added concat() function
  • Added chr() function
  • surface() can now take PNG images as input
  • min() and max() can now take a vector argument
  • 2D minkowski can now handle polygons with holes
  • Variables can now be assigned in local blocks without using assign()

Program Features

  • Added Toolbar icons
  • New code editor based on QScintilla
  • Added Splash screen
  • Added SVG export
  • Added AMF export
  • Added --viewall and --autocenter cmd-line parameters
  • GUI is now translated into German, Czech, Spanish, French and Russian
  • MDI (Multiple Document Interface) is now available on all platforms
  • Color schemes for viewer and editor can be user-edited using JSON files
  • GUI components are now dockable
  • Added Tickmarks on axes


  • Performance improvement: 2D (clipper), preview, hull, minkowski, surface
  • Performance improvement: Reduce duplicate evaluation of identical expressions
  • Better recursion behavior
  • STL export and import is now more robust
  • Internal cavities are better supported
  • New examples
  • Windows cmd-line behaves better
  • Better mirror() and scale() behavior when using negative factors


  • polyhedron() now takes a faces= argument rather than triangles=
  • assign() is no longer needed. Local variables can be created in any scope
View Comment

OpenSCAD 2019.05 has just been released

by Torsten


As Marius already wrote a nice summary for the mailing list, I'm just shamelessly reposting that... so here we go...

OpenSCAD 2019.05 has just been released: http://www.openscad.org/news.html#20190518

This release adds a number of features which have been in development for the last 4 years. Some of the larger program features are Customizer, which was first started as a Google Summer of Code project, and 3D input device support. The OpenSCAD language itself and standard library has seen a number of iterative improvements

The source code, as well as binaries for Mac OS X, Windows and Linux are ready for download.

As usual, thanks go to everyone who has contributed to this release through development and community management, bug reports and fixes, documentation, translation, discussions, as well as testing the development snapshots!

A summary of changes since last release follows.

Take care,


Language Features:

  • New modules
    • assert() - stop script evaluation on failed constraints
    • let() - scoped assignment
  • New functions
    • ord() - convert from character to Unicode code point
    • echo()
    • assert() - stop script evaluation on failed constraints
    • Type testing functions: is_undef(), is_list(), is_num(), is_bool(), is_string()
  • New special variable: $preview variable which is set to true in preview mode
  • List comprehension updates
    • Added if/else condition
    • Added each keyword
    • Added C-style for loop
    • Now allows looping over characters of a string
  • rotate_extrude(): Added angle parameter to
  • import() now supports SVG, 3MF and AMF
  • color() now supports hex color codes
  • Removed glide() and subdiv() which were never implemented

Program Features:

  • Customizer: Allow parametrizing design parameters with GUI customization
  • Support for using 3D-Mouse / Joystick / Gamepad input devices for controlling the 3D view
  • 3D Printing support: Purchase from a print service partner or print to Octoprint
  • New export file formats: SVG, 3MF, AMF
  • Quick-edit and preview of values using Alt-Arrows (Shift-Alt-Arrows on macOS)
  • Added --view cmd-line parameter
  • Play sound notification on render complete
  • Line numbers and filenames are now shown for many errors and warnings
  • Hardwarning preference: Stop on first warning
  • Hardwarning and assert now shows a stack trace
  • New warnings
    • Module call parameterns don't match module declaration
    • Argument value of of range
    • Duplicate passed argument
    • Children passed to module not accepting children
    • Reference to inknown $special_variables
    • Duplicate assigment
  • New translations: Ukrainian, Polish
View Comment

Try open this file, preview or render failed, what's wrong??

by jumboj

projection() {rotate([0,90,0])
linear_extrude(center = true, convexity = 10, height = 2, slices = 500, twist = -720.0000000000) {
polygon(paths = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]], points = [[5.0000000000, 0.0000000000], [-4.1720501029, -2.7049938569], [2.0177390834, 4.5140070730], [0.7584029619, -4.8578221518], [-3.2605860792, 3.6427754512], [4.6908070829, -1.2754333166], [-4.6033294053, -1.4732513353], [3.0434506148, 3.7189746642], [-0.5274057206, -4.7485791243], [-2.1283496766, 4.2464841521], [4.0720613414, -2.3911710830], [-4.6898477069, -0.2076947943], [3.7995111958, 2.7095188597], [-1.7038236718, -4.3146581578], [-0.9121403690, 4.5199939852], [3.2048995297, -3.2765169691], [-4.4445335361, 0.9996039548], [4.2470317943, 1.5695517013], [-2.6930703108, -3.6051868608], [-4.1720501029, -2.7049938569], [2.0177390834, 4.5140070730], [0.7584029619, -4.8578221518], [-3.2605860792, 3.6427754512], [4.6908070829, -1.2754333166], [-4.6033294053, -1.4732513353], [3.0434506148, 3.7189746642], [-0.5274057206, -4.7485791243], [-2.1283496766, 4.2464841521], [4.0720613414, -2.3911710830], [-4.6898477069, -0.2076947943], [3.7995111958, 2.7095188597], [-1.7038236718, -4.3146581578], [-0.9121403690, 4.5199939852], [3.2048995297, -3.2765169691], [-4.4445335361, 0.9996039548], [4.2470317943, 1.5695517013]]);

View Comment