What's New?

New for 0.9.7

Changes to drawing tree

  • Multiple selection supported added. Uses common shift and control key combinations.
  • Drag / drop to reorder (can also drag drawing objects onto mops)
  • Space-bar hides/shows layers and enables/disables mops
  • ctrl+left & right moves selected objects up/down

More multi-threading support

Long running operations should get a 'cancel' button on the thinking message, so if problems occur, the process can be stopped without resorting to killing the CamBam process and losing any unsaved work.

New Tools - Options setting : WorkerThreads. This setting should generally be set to the number of processors or 'cores' on your machine. Setting the number of worker threads higher than this may reduce overall performance. This setting is currently used when toolpaths are generated, so multiple machining operations may be calculated in parallel.

New 'Translate - Rotate' function.

Select a center point of rotation, then move the mouse about this point to define a rotation.

The default is to rotate about the Z axis, but pressing the X, Y or Z key whilst in rotation mode will change the rotation axis.

If Snap to Grid is enabled, the rotation will snap to common angles... 30 degrees, 45, 90 etc.

New machining operation StartPoint parameter

This option gives the ability to specify a point, near to where the toolpath should begin machining.

This option is currently 'hiding' away under the Misc section of the machining operations parameters and is set by selecting from a drop down list of options or entering point coordinates directly.

Choose 'Select...' from the drop down list to select a point from the drawing, near to where you want to start machining.

When a start point is defined, a small circle will be displayed in the drawing at its location. This circle can be dragged to new positions using the mouse. If multiple machine operations are selected, having the same start point, dragging will move all the selected start points.

Some issues...

If the start point is set outside the toolpath, the toolpath point nearest the start point may not be detected correctly. It is safter to set the start point on or just inside the toolpath for reliable results. This issue is under investigation. - This issue should be resolved in the E revision.

If there are multiple objects for a machining operation, the start point currently only works for the first toolpath. After this, CamBam looks for each next nearest toolpath point. A list of start points for multiple objects is being considered for a later release.

New StepoverFeedrate machining operation option:

In response to a number of requests, there was a change in 0.9.6 to use the plunge feedrate for stepover moves. This may be beneficial for machining harder materials, but it has been reported that this 'slow down' can cause problems when machining plastics due to the extra heat build up.

For Profiles, Pockets and 3DSurfaces, a new StepoverFeedrate option has been added for finer control of this feedrate.

This is another new value that can be selected from a number of presets in a drop down list or a value entered directly.

Improvements to waterline machining reliability.

A number of problems were identified fixed relating to waterline machining reliability.


WARNING! Although the toolpath reliability has been improved, the waterline routines are still a relatively new addition to CamBam and development, testing and bug fixing is ongoing. These routines should be used with caution and testing toolpaths with a simulator or soft materials like foam first is highly recomended.

A common cause of many problems for the waterline machining operation are shapes with many faces converging at a common vertical area. This is typical with many engineering shapes which are generally prismatic.

A new option PlaneSliceOnly has been added the 3D Surface operation (under the Options group), to help with such shapes.

As the name suggests, when PlaneSliceOnly is set to True, only the 'slices' through the 3D model at each depth level, are used to calculate the toolpath boundaries. This avoids much of the more complicated logic in place to detect overhangs and is therefore generally faster and much less prone to toolpath 'glitches'. However...

WARNING! If PlaneSliceOnly=True is used, no attempt is made to detect overhangs in 3D shapes. If the model does contain overhangs, the plane slices underneath these overhangs will overcut the stock from the layers above it. PlaneSliceOnly=True should only be used when the 3D model is known to be prismatic in shape with no overhangs!

Other new features:

  • GCodeOrigin offset (machining 0,0 point) can now be dragged around (the red X when mop selected).
  • In the drawing window, shift+arrow keys translate selected objects.
  • File loading speedups - seems ~ 4-5x faster?
  • gcode Outfile name is now stored as a relative path (to the drawing file).

Bug Fixes

There have been many bug fixes, but some notable ones are:

  • renaming a template to create a new one now inherits settings from template being renamed.
  • Drawing Name property, Filename, renaming drawing in tree behaviour improved.
  • Some fixes to 3D routines which may reduce some toolpath glitches.
  • Fast plunge for drilling should be fixed.
  • Middle mouse button should now end/cancel all repeating commands.
  • $macro = value (with spaces) bug fixed.

Revision D bug fixes

  • Fixed bug with floating point formatting on machines having comma as decimal point in regional setting.
  • Fixed bug related to trimming certain shapes.

Revision E bug fixes

  • Problem with start point not always detected should be resolved. This also should fix some toolapth optimisation inefficiencies.
  • A Polyline offsetting problem was fixed with certain shapes.
  • Improvements to toolpath cut ordering for 3D surfaces. DepthFirst should now be more reliable, but this is still being tested.

Revision F new features!

  • Will now generate around 300 lines of g-code after evaluation has expired!
  • Added new post processor macro {$arccentermode} and ArcCenterAbsolute / ArcCenterIncremental values to handle Mach3 G90.1 & G91.1 codes.

Revision F bug fixes

  • Fixed new bug when parsing text STL files with multiple spaces.
  • Rudimentary interpretation of extrusion direction for 2D arcs in DXF files.
  • Improved handling of rotations and mirroring for Arc entity apply transformations.
  • OpenGL initialisation now checks AntiAlias setting. Attempt to fix occasional OpenGL issues with some hardware.

Changes to older versions...

Copyright (c) 2017 HexRay Ltd