New for 1.0.0

CamBam version 1.0 is a new major version, which means that it will be installed in a new program folder and it will have it's own System Folder. This enables CamBam version 1.0 to be installed alongside version 0.9.8.
To copy settings such as styles, post processors, tool libraries and templates from version 0.9.8, copy relevant files from the old system folder location:
\ProgramData\CamBam plus 0.9.8\
\ProgramData\CamBam plus 1.0.0\
The Tools - Browse system folder menu item can be used to find the system folder location.

Required .NET framework change CamBam is now using the .NET framework version 4 as framework version 2 becomes end of life.
.NET Framework version 4 is usually installed by default on most newer PCs. For older computers this can be downloaded from here:

New Script drawing

A script object works like other drawing objects, but the geometry is created from a script (python only for now).

Machining operations can be based on script objects in the same way as static drawing objects. Any changes made by the script will be automatically picked up by associated machining operations.

The script object includes scripts from the Script property of the parent layer, as well as the Script property at the top level of the drawing file. This allows functions, classes or variables to be defined once in the drawing, then referenced in any number of drawing objects. Scripts can also be included from external sources (the current drawing folder as well as the CamBam system folder\scripts folder are searched).

Scripts can be useful for generating parametric shapes (such as a gear, or tabbed box), creating copies of, or manipulating other drawing objects. Script objects can also be used to run general scripts such as an animation.

Script objects will usually run when required to update geometry, but can be forced to run by selecting them in the drawing tree and pressing 'F5'.

Use Edit - Explode to turn script objects into their component static drawing objects, which can be used with previous CamBam versions or further manipulated using CamBam CAD operations.

The samples folder contains a drawing C-BEAM-Belt-Drive.cb which uses included library scripts (located in the CamBam system\scripts folder) to draw timing pulleys, stepper motor outlines and bearings. The goal is to create a library of common parts that can be shared among many drawings and allow collaboration. Any fixes or enhancements to the library scripts will be automatically picked up by drawings that reference them.

Refer to the following section for more detailed information.

Script Drawing Objects...

New Bitmap drawing object

Use Draw - Bitmap, then select a drawing file such as a jpeg or bitmap. CamBam will detect edges in the bitmap, allowing you to scan a drawing, or draw a shape in an external application like photoshop, then load it into CamBam and insert a machining operation based from it. Changes to the drawing will be picked up automatically by the machining operation.

CamBam will automatically vectorise the bitmap using a quick and simple edge detect. It is also possible to smooth the edge outlines using splines.

Show Bitmap Only
showing bitmap only
Show Vectors Only
showing vectors only

Refer to the following section for more detailed information.

Bitmap Drawing Objects...

Printing support added

Accessed using File - Print.

CamBam mouse zoom, pan and rotate functionality work in the print preview window so the area of interest can be positioned within the page.

A right click menu is available to set the print scale and other options such as page orientation.

Region triangulation.

Surfaces can now be created from shapes such as regions and polylines. This, combined with the Extrude operation allows the creation of 'solid' meshes from CamBam shapes.

The new klannimate.cb sample demonstrates solid extrusions as well as scripting objects to generate shapes and provide animations.

Spline and other shape drawing and editing.

Splines can now be drawn using Draw - Spline or the new spline toolbar icon.

Double clicking a spline object allows the control points to be dragged to change the spline shape.

Drawing edit modes have also been added for Circles, Arcs and Lines. Double clicking any of these objects enters edit mode.

CAM Part - Export - Toolpaths to DXF

A new context menu option for Part objects: Export - Toolpaths to DXF.

This will export the selected part's toolpaths to a DXF file as polylines. This operation will use settings from the current post processor for options such as arc handling (default, convert to lines etc.)

This feature can be used to generate drawings for many commercial laser cutting machines such as those based on LaserDraw. These lasers are only able to import vector files such as DXF, PDF etc.

4th axis wrapping support

This is provided using some extra post processor settings. There is a new group Rotary, with just three properties : Axis of Spin, Rotary Axis and Rotary Wrap. If Rotary Wrap is set True, the post processor will convert all toolpaths to lines only, then wrap all the toolpaths selected around the rotary axis.

The radius of rotation is taken from each machining operations Stock Surface property. It is up to the user to make sure the toolpath is within a width of 2 x PI x stock surface.

NOTE The post-processor should also be modified so as not to output the axis registers for the non rotational axis. For example, if rotating about the Y axis, the X{$x} move parameters should not be output.

Three point Edit - Move

The Edit - Move command now supports up to 3 source and destination points.

Hold down the CTRL key and click to select up to 3 source points.

If only one point is selected, the move operation works as before by selecting the target destination point.

If two source points are selected, the first destination point will be the new location for the first point. The second destination point will form a line on which the moved second point lies. This in effect allows a move and a rotation in the XY plane in one operation.

If three source points are selected, the first destination point will be the new location for the first point. The second destination point will form a line on which the moved second point lies. The third destination point will form a plane on which the moved third point lies. This allows a shape to be moved in three dimensions. For example a 3D mesh could be aligned to a mounting plate by selecting three matching reference points at the center of three bolt holes.

The selected points are color coded: Red, Green, Blue to identify the current selection point.

Other changes and new features:

  • Draw - Surface - Extrude has been modified to extrude positive heights along the positive Z axis. Version 0.9.8 would extrude 'down' along the negative Z axis.
  • API methods to manage plugins have been added to help with plugin registration and scripting. An example python script that references a plugin...
    import clr
    p = CamBamUI.MainUI.FindPlugin("MyPlugin")
    from MyPlugin import *
  • New configuration option: DXF Options - Export 3D Polylines. Setting True, forces 2D polylines to be output to DXFs as 3D i.e. with Z values at each point. This was added for some Busellato controllers that did not recognize Z offsets when importing DXF toolpaths. Warning! setting true seems to cause problems for LaserDraw.
  • The selection rectangle has been rewritten to avoid problems with screen rescaling.

Revision alpha 14 changes - 2017-11-16

  • 3D Profile / surface slicing bug fixes.
  • Removed the alternating X and Y half stepover offsets for scanline roughing.
  • Paste Format and Undo bug fixes.
  • Ensure depth increment is always positive when applied - fixes problem with negative DI and lead ins.
  • Bug fix when unioning rectangles that had been moved.

Revision alpha 13.4 changes - 2017-09-14

  • Moved to new Wix based installer system. Removed dependency on .NET framework 3.5 in installer.
  • Permission changes to work better with Windows 10.

Revision alpha 13 changes - 2017-02-19

  • Initial STEP file support added. Still work in progress.
  • Some spline to polyline performance increases (sometime 2x or better).
  • 3D splines are now also supported.
  • Spline transformations handled better.
  • VBScript hopefully will work again (but only for Windows).
  • Added new Layer lock functionality. CTRL+SPACE will toggle locked layers. Locked layers will be displayed (if visible), but objects on them will not be selectable. Locked objects still work with snap to points.
  • DXF export now coverts objects to polylines where they cannot be transformed correctly (rectangle, rotated text, some arc and circle transformations). Unrotated text will still export as a DXF text object, which loses font information (and some CAD will ignore), ...for these manual conversion to polylines is still needed.
  • Layer - 'hide all but this' performance fix (was very slow previously).
  • Bitmaps no longer snap to points when vectors hidden
  • AlignUI now only allow one instance to be opened.
  • Bug fixes to do with applying transformations and joining polylines with transforms.

Revision alpha 12 changes - 2017-01-13

  • New Edit - Move behaviour supports up to 3 source and destination points.
  • Selection rectangle should work better with high resolution monitors.
  • GDI display modes bug fixes and performance tweaks.
  • Excessive DrillingMethod – cache conflict messages bug fix
  • IronPython has been bumped to version – if any script problems are reported, try clearing out any old IronPython or Microsoft.Scripting dll versions lying around (such as in plugins folder).
  • The bitmap vectorizer now treats transparent colour as white.
  • Bitmaps are now displayed for GDI and OpenGL_Legacy display modes.
  • Fixed clicking on 'hidden' holding tabs bug.
  • 3D surface snap to vertex points added.
  • Print preview buttons are now be translatable.
  • The drawing view is now refreshed after print preview closes to avoid background colour bug.
Copyright (c) 2018 HexRay Ltd