May 10, 2017
RapCAD 0.9.9

@GilesBathgate GilesBathgate released this Feb 5, 2016 · 501 commits to master since this release

Assets 4


  • 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.

@GilesBathgate GilesBathgate released this Nov 24, 2015 · 563 commits to master since this release

Assets 4


  • 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.

@GilesBathgate GilesBathgate released this Oct 1, 2015 · 727 commits to master since this release

Assets 3


  • 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.

@GilesBathgate GilesBathgate released this Mar 29, 2014 · 812 commits to master since this release

Assets 3


  • 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.

@GilesBathgate GilesBathgate released this Feb 23, 2014 · 914 commits to master since this release

Assets 3
  • 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.

@GilesBathgate GilesBathgate released this Dec 22, 2013 · 1012 commits to master since this release

Assets 3
  • 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.

@GilesBathgate GilesBathgate released this Dec 9, 2013 · 1078 commits to master since this release

Assets 3
  • 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.

@GilesBathgate GilesBathgate released this Jul 4, 2013 · 1180 commits to master since this release

Assets 3

RapCAD 0.9.1

@GilesBathgate GilesBathgate released this Jul 3, 2013 · 1207 commits to master since this release

Assets 4

RapCAD 0.9.0