Skip to content

@GilesBathgate GilesBathgate released this Oct 31, 2020


  • Windows installer is now 64bit
  • Official builds deployed by continuous integration
  • Fix several minor memory leaks
  • Fix crash for cube with undefined size
  • Fix crash under macosx for degenerate polyhedron test
  • Fix for sqrt with negative values
  • Fix crash for asin(2)
  • Fix crash for isolated points, move sanitize operations to class
  • Fix crash for empty polyhedron
  • Fix crash for num with no argument
  • Fix crash in hull with duplicate points
  • Modernize the code to use C++14
  • Add external CAM launching operation
Assets 5

@GilesBathgate GilesBathgate released this Mar 31, 2020


  • Handle byte order marks by ignoring them in the parser
  • Implemented search/replace widget
  • Add selected text indent/unindent
  • Bounds module now also outputs size info
  • Implement scientific output format preference
  • Make print bed transparent when viewed from below
  • Implemented cbrt function
  • Implement history in console window
  • Implement highlight current line in code editor
  • Show tooltips when hovering over builtin module names
  • Built in modules are now highlighted
  • Allow configuration of the editor font
  • Fix for syntax highlighting of illegal unicode charaters
  • Improve configuration of rounding and precision preferences
  • Implement exponent notation
  • Add the ability to specify units on numbers (mm,cm,in,ft)
  • Basic implementation of concave hull using alpha shapes
  • Implement nef import
  • Added is_vec2 and is_vec3 functions
  • 'boundary' is now an alias for the old 'outline' module
  • Implemented Text Module using QPainerPath
  • A crude AMF import implementation
  • Basic SVG export support.
  • A crude 3MF import implementation
  • Add print bed configuration to preferences dialog
  • Added sweep angle parameter to rotate_extrude.
  • Modernize the code to use C++11
  • Allow print origin to be configured
  • New print area and base in the style of Mk42 heatbed
Assets 5

@GilesBathgate GilesBathgate released this May 12, 2019


  • Support compilation with new QT versions
  • Added documentation generator and updated docs.
  • Output module description in show builtins.
  • Embed documentation in all builtin modules that have parameters.
  • Remove center parameter from sphere.
  • Added is_mat4x4 function.
  • Added indexes to children module.
  • Save line some numbers into syntax tree, which will be used in future.
  • Allow iteration over text values with for.
  • Implemented chr function.
  • Implemented type test functions.
  • Restore logical and/or operations.
  • Improve tests for Logical operators.
  • Added tests for chain_hull() module.
  • Better memory handling and exception handling.
  • Add some additional memory cleanup.
  • Implemented chain_hull() module.
  • Fix to offset module and added two simple tests.
  • Fix to tests for range length.
  • Fix to len() function for range.
Assets 2

@GilesBathgate GilesBathgate released this Feb 5, 2016


  • Support for 3mf file format in export.
  • Choose a sensible location when exporting files.
  • Fix zero-length edges and zero-area triangles in input STL or polyhedron.
  • Added $fe variable which calculates fragments based on tolerance.
  • Correct parameter name for polyhedron "surfaces" -> "faces".
  • Basic implementation of mesh simplification.
  • Added more tests for polygon and fix for empty polygon.
  • Implemented normal$() module to show orthogonals to facets.
  • Better detection of binary STL.
  • Basic implementation of children() module.
  • Let the align function can take a vector.
  • Allow norm function to be applied to numbers and complex values.
  • Fix inverse trig functions.
  • Ang function can now return the axis and angle between two vectors.
  • Implemented cross function and operator.
  • Result of undefined binary operation should be undef.
  • Allow relative positioning by letting primitives have children.
  • Fix GL viewer, calculate normals with double.
  • Allow concatentation with undef to yield a result.
    e.g. a=[]; no longer needed before to make a~=[1,2,3]; work.
  • Implemented export to nef.
  • Basic caching of primitives.
  • Hook the view menu actions up to appropriate views.
  • Fix weird crash on shutdown.
Assets 4

@GilesBathgate GilesBathgate released this Nov 24, 2015


  • Use arbitary precision arithmetic for all calculations.
  • Prevent toolbar being hidden show actions menu on right click.
  • Greyscale the rendering window while compilation is taking place.
  • Use new QOpenGLWidget when Qt5.4 or above is available. (except on windows)
  • Added discrete module for quantising vertices to the nearest n decimal places.
  • Added a simple renderer, to render wireframes without cgal.
  • Experimental multi material support.
  • Provide backwards compatibility in rotate extrude.
  • Rotate module now accepts unit quaternion (versor).
  • Implemented quaternions, multiplication, and ang() function.
  • Allow nesting of auxilirary modules, and display nested to be displayed.
  • Implemented exponent operator for vectors.
  • Implemented length (magnitude) operator.
  • Implemented vector multiplication and norm() function.
  • Ranges now support basic interval arithmetic.
  • Update to Qt5.5.1 on windows build.
  • Allow diameter parameter on circle.
  • Removed extraneous new lines in console output.
  • Added places parameter to round function.
  • Added a triangulate module.
  • Fixed a crash in linear_extrude when there are no perimeters.
  • Preferences default to "Safety orange" theme.
  • Ensure only modified files are saved and allow do not save for new tabs when closed.
  • Updated windows build environment.
Assets 4

@GilesBathgate GilesBathgate released this Oct 1, 2015


  • All trig functions now take value in degrees.
  • Ensure cone, prism, cylinder etc use exact centering along vertical axis.
  • Add option to use rounding within trig, and other functions.
  • Make output precision configurable in preferences.
  • Higher output precision in AMF format.
  • Fix to rotate_extrude bug where r=0.
  • Added test for bezier surface, solid linear extrude, and slice.
  • All primitives are now constructed as a list of points and indices to those points.
  • Corrections to docs where bounds() should be bound$().
  • Use exact centering for sphere and default to point when no radius given.
  • Improve compilation time output in gui.
  • Fix crash when version() is called more than once.
  • Added feature matrix to docs.
  • Functions min() and max() now work for any number of arguments.
  • Added some i18n support code.
Assets 3

@GilesBathgate GilesBathgate released this Mar 29, 2014


  • Implemented importing scripts with the 'use' directive.
  • Fix some hard crashes in Polygon, Polyhedron and Polyline modules.
  • Fixed a bug so that the result of the expression !undef now yields true.
  • Implemented a num() function for converting values to number.
  • Interactive mode can now handle statements as well as expressions.
  • Implemented a volume$ module for calculating required print material, and optionally center of mass.
  • Implemented a radial$ module for measuring diameters and radii.
  • Bounds module is now named "bound$" since it is an auxiliary geometry module.
  • Index over ranges and vectors using Iterator, which improves performance for huge ranges.
  • Polygon can now take a single list of vectors for the outline.
  • Added a few simple tests for intersection, difference and union modules.
  • Fixed problem with undef occasionally being initialized to the wrong type.
  • Functions now always return undef when the evaluation give no result.
  • Fixed nested functions. Test moved from non-working and added additional test.
  • Fixed incorrect clearing of arguments and parameters.
  • Distribute documentation as part of RapCAD. Available from Help menu.
  • Allow polygon module to have multiple line vectors.
  • Added some more tests for polygon, cone, square and circle modules.
  • Test suite is now integrated with TravisCI continuous integration.
  • Implemented a complement module.
  • Added more tests for rad deg sin cos and tan functions.
Assets 3

@GilesBathgate GilesBathgate released this Feb 23, 2014

  • Implemented simple align module.
  • Fix bug where updating the view gets called twice.
  • Added interactive mode, for evaluating expressions.
  • Implemented simple text for displaying numbers in auxilary geometry.
  • Allow print to be used with no output model. Correct precision in print output.
  • Added thickness parameter to Slice module.
  • Added decompose module. Decomposition can be seen with view→show edges.
  • Initial implementation of auxilary geometry for the bounds module.
  • Group module now does fast unions on non-intersecting primitives.
  • Performance improvement for unions.
  • Correct first parameter name in rotate module "vector"→"angle".
  • Added a concat() function.
  • Added export for vrml 2.0 and obj file format.
  • Polyline Module can now optionally do multiple lines.
  • Outline now works with holes.
  • Allow multiple files to be loaded from the commandline.
Assets 3

@GilesBathgate GilesBathgate released this Dec 22, 2013

  • Moving forward only Qt5 and above will be supported.
  • Now using Qt 5.2.0 for windows builds.
  • Updated to use latest versions of CGAL Boost and dxflib for windows builds.
  • Updates to documentation for building latest version of boost and CGAL on windows.
  • Restored icon theme in windows build.
  • Changes to make rotate_extrude work with radius of 0, and consider size of rotation object when calculating fragments.
  • Resize module is more accurate, Added test for resize module.
Assets 3

@GilesBathgate GilesBathgate released this Dec 9, 2013

  • Disabled some usless ui elements until the features are implemented.
  • Create a point if a sphere of radius 0 requested.
  • Fix for with no argument, should not execute child statements.
  • Zoom distance can no longer be negative, mouse wheel and shift+rmb zoom are more consistent.
  • Implemented multmatrix module.
  • Added .csg and .rcad files to the import statement.
  • Implemented comparison mode for comparing stl, off, etc.
  • Workaround bug in CGAL to fix to hard crash caused by an exception thown from the destructor of a CGAL class.
  • Implemented export of CSG product. (Works but needs improvement)
  • Fix for arguments in module instances and function invocations, they are now evaluated in new context.
  • Fix polygon module. Single vectors, and nested vectors can be used for point list.
  • Fix for index. Should return undef on out of bounds.
  • Fix match by index. Should only be used when no arguments match by name.
  • Allow cube to create squares when x=0, or y=0.
  • Fix text value comparisons.
  • Added a unit testing framework and lots of unit tests.
  • Fix index out of bounds error in index operator.
  • Implemented projection module.
  • Fixes to allow correct unicode output under Qt4.x
  • Make version commandline output return 0 exit code.
  • Fixed a bug where variables are resolved in parent contextual scope rather than lexical scope.
  • Implemented rad and deg functions for converting to and from radians.
  • Fixed message. rendering time is the wrong terminology.
  • Fix error reporting and re-enable buttons on error.
  • Fix outline module, now closes the gap.
  • Initial implementation of GCODE generation. Currently reprap.rcam must be in the working directory.
  • Rotate extrude now implemented and accepts $fn $fs and $fa.
  • Fixes to linear extrude, seems to be stable (finally).
  • Added write and writeln modules, echo now emits deprication warning.
  • Make rotate module do exact rotations with multiples of 90 deg. (i.e. right angles)
  • Fixed sign() function works with values less than 1.0.
  • Support compilation against Qt5
  • Implemented index operator for Text and Vector Values.
Assets 3