Documentation for the latest CamBam release is available here...
New for 0.9.8
Note! As of version 0.9.8f the post processor definitions folder (post), scripts, and samples
are now located in the system folder. If you have customised post processors, these will need to be copied from
the current folder (usually 'Program Files\CamBam plus 0.9.8\post', to the system folder.
The default system folder is located at:
(Windows XP)
\Documents and Settings\All Users\Application Data\CamBam plus 0.9.8\
(Windows 7)
\ProgramData\CamBam plus 0.9.8\
Or from within CamBam, select the Tools - Browse system folder menu item.
New Part machining object
A Part is a way of grouping multiple, related machining operations into a single object.
A single drawing file can contain many different part objects.
Parts can be enabled or disabled individually. As with layers and machining operations, pressing the space bar when the
item is selected in the drawing tree, will toggle a part's enabled state.
To generate the toolpaths for all the machining operations in a part, right click the part in the drawing tree, then select
Generate toolpaths. Right click an individual machining operation to generate toolpaths for just that mop, and right click
the Machining folder (or press CTRL+T) to generate toolpaths for all enabled operations in the drawing.
By default, generating gcode will write the output from all the enabled parts in the drawing.
To create gcode for just one part, right click the part in the drawing tree, then select Produce gcode.
The file heart-shaped-box.cb, in the CamBam samples folder illustrates a good use of different parts.
Here machining operations are separated into parts for front and back faces for the lid and base of a small wooden box.
Machining properties and CAM styles
Machining templates from previous CamBam versions have been renamed CAM Styles in this version and their behaviour has changed considerably.
As with templates, styles are a way of grouping machining parameters into reusable objects to help simplify common machining tasks.
Refer to the following section for more detailed information.
CAMStyle documentation...
The property grid has also been changed to show a select minimum number of common properties, as well as any properties that have been changed from default.
To toggle between this simplified view and the full list of available properties, use the Advanced and Basic buttons at the top of the property grid.
A new system tree display has been added to the user interface. This is selected by clicking the System tab at the top of the drawing tree.
The system tree is used to manage configuration settings and common library files available to all CamBam drawings.
New [0.9.8f]
A new Paste Format command has been added to the CAM Style and machining operation context menus, with a short cut
key combination of Shift+Ctrl+V. This will copy all the properties of the machining operation or style that has been copied
to the clipboard (using Ctrl+C or the Copy menu command), to the selected style or machine operation. The current
name and source primitive ID list are preserved. This provides a similar functionality to 'Copy MOP to template' and
'Apply template to MOP' of version 0.9.7 as well as a method of populating style libraries. If used to copy properties
from a MOP to a style, it may also be useful to use the new Reset to defaults MOP context menu command.
Tool libraries
The System tab also contains a Tools section where libraries of tools can be defined.
Each tool in the library has a unique Index property. This index is used in the Tool Number selection drop down
in Machining operations, Parts and the top level Machining folder.
Many properties can be stored against the tool definition, but currently the most important ones are Tool Diameter,
and Tool Profile. A machining operation will use the tool number to look up the tool diameter and profile information
from the library when needed. If an explicit value is supplied for the tool diameter or profile in the machining operation,
this will be used in preference to the value stored in the library.
Multiple tool libraries can be defined. These can also be thought of as tool palettes. Tools can be copied and pasted
between libraries using the clipboard.
The Machining folder and Part objects also have a Tool Library property. If these are left blank, the
default tool library will be used (Default-{$Units}), otherwise the specified library will be used when
looking up tool numbers. The ToolLibrary property will only be displayed under the Advanced property section.
New [0.9.8f]
A new Tool Name Format property has been added to the tool library. This is a pattern used to generate descriptive names for
tools from their properties. The following macros can be used: {$diameter}, {$flutes} and {$profile}.
If the tool name format property has change, the tool library context menu provides a new command - Rename all tools, which will
generate new names for each of the tools in the library based on the new pattern.
Other system libraries
Material and Machine definition libraries are also provided under the system tab.
These libraries are largely place holders for the time being and their use will be expanded upon in coming releases.
As of 0.9.8f, the post processors can also be maintained from the system tab.
The system tab also contains a Configuration folder. This provides an alternative method of accessing the
general configuration settings available from the Tools - Options menu.
New Stock object
A stock object can now be defined at the Machining or Part level. Currently only rectangular block stock objects are supported.
Stock Size is used to set the X, Y and Z dimensions of the stock block.
Stock Offset is used to define the position of the lower left corner of the stock. For example, a stock offset of -10,-20
would position the stock 10 units to the left of the Y axis (X=0) and 20 units below the X axis (Y=0).
Stock Surface defines the Z coordinate of the top surface of the stock.
The stock object can be used to automatically calculate some machining properties.
If a machining operation or style's Stock Surface property is set to Auto, the stock's stock surface value will be used.
If a machining operation or style's Target Depth property is set to Auto, the stock's stock surface and Z size will be used
to determine the target depth, so a machining operation will by default, machine all the way through the stock.
The stock object defined at the part level will take precedence over the stock object defined at the top, machining level.
In this way it is possible to define different stock objects for each part if needed.
Stock is undefined if it's X Y and Z sizes are all set to zero.
Note: For people using the
CutViewer Mill simulator enabled post processor (Mach3-CV.cbpp), it is now no longer necessary to enter
the stock dimensions into
Post Processor Macros machining property. The stock dimensions will now be determined from the stock object
and written to the gcode output automatically.
Basic nesting support added.
To make multiple copies of a part, select the part in the drawing tree then expand the nesting property
to define a simple nesting pattern using the following parameters.
Nest Method: Change this to Grid or IsoGrid, then set the Rows and Columns values
to determine the number of copies of each part. The Spacing value will control the distance between each copy.
When the toolpaths are generated, an outline should be displayed to indicate the location of each copy. The centre of
each outline contains a triangular icon. Clicking and dragging this icon will change the nesting pattern and will
also change the nesting method to Manual.
New [0.9.8f]
Grid Order Controls the direction of the grid layout. For example
RightUp will make copies to the right of the original, then move up to the next row.
New [0.9.8f]
Grid Alternate If set to true, the grid will alternate the direction of each row or column (depending on Grid Order).
If false then each row or column will proceed in the same order with a rapid back to the start of each.
New [0.9.8f]
Nest Method : Point List The location of each nest copy is taken from a point list
drawing object which is set in the Point List ID property. A new 'Nest to point list' Part context menu function has
been added, in this way a list of nest points can effectively be copied from one part to another by sharing a common point list.
New [0.9.8f]
GCode Order Controls how the nested machining operations are ordered in the gcode output.
- Auto - All consecutive MOPs within the part with the same toolnumber will be posted then repeated for each nest copy, before
moving to the next MOP (which would require a tool change).
- Nest Each MOP - Each MOP is output at each nest location before moving to the next MOP.
- All MOPs Per Copy - All the MOPs in the part are posted before moving to the next nest location.
Multiple copies of the part's toolpaths will be written to the gcode output. This will increase the gcode file size,
but does avoid some of the issues encountered when using subroutines.
Support for manually rotating each nest copy are planned soon, as well as APIs for third party nesting applications, which can
employ sophisticated algorithms to optimise stock usage.
The file snap-together-box.cb in the CamBam samples folder illustrates the use of a nested part.
Holding tab changes
A new Tab Style property has been added. This can be used to select between Square and Triangle cross section shaped tabs.
Triangle tabs are a new addition and should hopefully reduce the tool marks associated with square holding tab retracts.
Size Threshold is another new property. If a shapes perimeter is smaller than this value, no holding tabs will be added.
Holding tabs can now be added to Text and Region objects.
Changes to Pockets
The method used to generate pocket toolpaths can now be set using a new pocket machining operation parameter called Region Fill Style.
This property offers various offset fills as well as horizontal and vertical hatching.
The fill style options are the same as those illustrated in the CAD fill region documentation.
The default pocketing method is Inside + Outside Offsets, which generates successive inward offsets from the outer boundary
of the selected shapes, as well as offsets radiating outwards from any islands within the pocket. These toolpaths will union together
to form a rather efficient toolpath. This is the same toolpath that is generated by using a profile with a large cut width for a pocket,
as described in previous CamBam releases.
The CamBam.cb file in the CamBam samples folder contains some examples of the various pocketing methods.
Corner overcut option.
Inside corners, where a tool diameter typically will not fit, can cause problems if they define a shape where
another shape needs to be inserted into it, as with a slotted joint or inlay.
A new parameter: Corner Overcut, set to True or False can be defined, which will add an overcut
in towards these inside corners.
If the Tool Profile parameter for a machining operation is set to V-Cutter, a ramped cut is inserted up to the stock surface,
all the way into the inside corner. This can result in nice clean square corners when an appropriate V cutter is used.
The file snap-together-box.cb in the CamBam samples folder illustrates the use of corner overcuts to clear
joints that will be slotted into each other.
The CamBam.cb sample file contains an example of a V corner profile in the last part.
New spiral lead in behaviour and lead out option.
A Lead In Move with the Lead In Type set to Spiral is a useful way to specify a toolpath that gently
enters the stock at a specified angle. In this release, if the spiral angle is set to zero, the Depth Increment
is used to calculate a ramp angle, such that the toolpath will continuously spiral one depth increment in each pass
around the object. In this situation, the lead in move replaces the original toolpath, so that the part will be cut in one
continuous spiral feed.
An additional (non-spiral) toolpath is added at the final cut depth.
Lead In Type = Spiral + Spiral Angle = 0
A new Lead Out Move property has now also been added. Currently only tangential lead outs are supported.
The file continuous-spiral-feed.cb in the CamBam samples folder illustrates the use of both continuous spiral feeds
and lead out moves.
Changes to 3D profiles.
In previous releases, the 3D volume to be machined was controlled by two 3D points, VolumeMin and VolumeMax.
However this was both confusing and inconsistent with other machining operations.
In this release, the 3D operation will machine between the Stock Surface property, down to the
Target Depth value. This makes the 3D profile more consistent with other machining operations.
Note that existing 3D profile files may not work correctly until a correct target depth (or stock thickness),
is defined.
A clipping area can still be specified using two new 2D points : Clip Area Max and Clip Area Min, which
only restrict the X and Y area to be machined. These points are only valid when the Boundary Method is set to Bounding Box.
The file skull-big-foam.cb in the CamBam samples folder demonstrates the new 3D profile methods. It is also another
good example of using multiple parts in one drawing.
Note: with the new CAM style way of working, if a horizontal or vertical finishing 3D operation is defined, it is likely
to inherit a non zero Depth Increment value from the default style. To prevent this, enter a DepthIncrement=0 explicitly in the
machining operation, or base the machining operation on a style created for 3D finishing, containing DepthIncrement=0.
Changes to drilling
A new Retract Height property has been added. For canned cycle drilling methods, the drill cycle will start at this height, and return to
it for peck drilling. If retract height is set to 'auto' the clearance plane will be used.
The G98 gcode is now used at the beginning of a block of canned drill cycles, when the Z position is at the clearance plane.
This allows the processor to rapid back to the clearance plane move to the next hole position, then rapid down to the retract height.
A Depth Increment property has been added. This is now used to calculate the pitch for spiral drilling methods. If
depth increment is 0, the old method of using the ratio of the plunge and cutting feedrates will be used.
Target Depth is now specified as an absolute Z coordinate, to make it consistent with all other machining operations.
In previous versions target depth was a relative offset from the stock surface.
New Drill Lead Out and Lead Out Length properties. For spiral drilling, if DrillLeadOut is True, an extra move will be
added at the bottom of the spiral to move towards or away from the hole center. If LeadOutLength is positive, the move will be
toward the center. If negative the move will be away from the center. If LeadOutLength=0, then a move to the circle center
is assumed.
With the new depth increment and leadout properties, it should now be straight forward to define thread cutting operations
using the appropriate tool.
Auto Hole Diameter support. If hole diameter is set to 'auto' and the drilling operation is based on a circle,
the circle diameters will be used.
New polyline edit mode
Double clicking a polyline, or selecting Edit from the polyline context menu, will enter a polyline edit mode, where the
control points can be dragged to required positions.
Polyline arcs cannot yet be edited interactively, but this addition is planned.
New text edit mode
When entering new text, or double clicking existing text objects, a new text entry user interface is displayed
where the font, size and style can also be defined.
New Open Offset method
Open offsets can be used to generate a Closed offset polyline from an open polyline.
Select an open polyline and then select Edit - Open Offset from the right click context menu.
An open offset can be useful to draw a 'slot' shape from a simple line or arc.
The line on which an open offset is based can back track, overlap and be quite convoluted. This makes
it useful for drawing 'tracks' used for printed circuit boards.
Improvements to toolpath generation speed and reliability
Much of the geometry engine has been rewritten in this release to significantly reduce toolpath generation times and
provide a more robust method when dealing with shapes with flaws, overlaps and duplicate segments.
Gerber importer
Basic Gerber file support has been added but is still in development.
The files opto_input.pcb.output_back.gbr and opto_input.pcb.output_back.cb files in the CamBam samples folder demonstrate the Gerber
importer and resulting isolation milling file.
Toolpath view filter
To filter the displayed toolpaths, use the View - Toolpath view filter menu option, or CTRL+F.
To display an individual toolpath, check the Toolpath index filter, then enter the index of the toolpath to view.
The toolpaths are ordered in the sequence that they will be cut.
Scrolling the mouse wheel in the Toolpath index entry box will scroll through the toolpaths in their cutting order.
Pressing the Home key will reset the index to 0.
To display all the toolpaths at a specific depth, check the Z depth index filter.
This filter is useful when diagnosing complicated layered toolpaths such as 3D waterlines.
The Cut Toolpath Color option can be used to hide or color toolpaths that were cut before the currently selected toolpaths.
The Toolpath Color option is used to highlight the currently selected toolpath.
Lathe operations
An experimental lathe machining operation plugin has been included in this release.
This is an early, experimental feature and resulting gcode should be used with caution!
Other changes and new features:
- Version 0.9.8 has introduced a number of 'breaking' changes from previous versions. CamBam (.cb) files now contain an
internal version number. CamBam will attempt to automatically convert older .cb files to the current version
but these files should be manually verified. There is currently no easy way to convert 0.9.8 created files to older
versions.
- Some properties may have been moved or renamed. In particular, the view controlling options have been moved from the
Machining folder, to properties listed under the first object listed in the drawing tree. Many new view options are
now also accessible from the top and context menus.
- Many transformation operations (Moving, Rotating, Array copies etc) will now automatically alter the shapes rather
than just changing the Transform matrix. This should reduce the need for using the Apply Transformations menu option.
- A new Transform - Align method has been added which greatly simplifies to positioning of 2D and 3D objects.
- GCodeOriginOffset has been renamed to Machining Origin and the GCodeOrigin option has been removed.
Note, the Machining Origin can now be defined at the machining operation, part or top level machining folder levels.
- The new System folder also contains libraries to define tool libraries, machining definitions and materials.
This work is still in development and will be expanded upon in coming releases.
- Improvements to post-processor performance should result in much fast gcode generation.
- A new Tag property has been added to drawing objects, layers, parts and machining operations. This is a general
purpose text property and can be used to enter notes. This property may also be used to store parameters used by tools
or plugins which automatically generate objects.
- Engraving operations now support the Depth Increment parameter and will also display cut widths.
- A drawing constraint mode has been added. Hold the shift key when drawing polylines or other shapes, to constrain
the point selection along set angles from the previously selected point.
- GDI display mode has been rewritten. It should now be possible to use CamBam in GDI mode for all operations.
This is useful for people experiencing problems with OpenGl with some display drivers.
- Machining operations (and parts) can now be copied using the clipboard by cut and paste. If multiple CamBam instances are
open, mops and parts can be copied from one drawing to another. As with the previous releases,
the drawing objects used by the machining operation can be reselected by dragging selected shapes from the drawing tree
onto the machining operation icon.
- A new Wireframe view option is available from the context menu to toggle the display of 3D meshes in wireframe mode.
- When the evaluation period has expired, the number of gcode lines allowed to be produced has increased from 300 to 500 lines.
- Bug fix: polyline offset with shapes having fillets near the offset radius.
- Bug fix: nesting icon not being displayed correctly.
- Bug fix: Apply transformation to stick font and arc fitting polylines with back tracks in general.
- Bug fix: Post Processor, adding G1 move to XY start when above clearance.
- Improved open polyline + mixed + spiral lead in handling (in 0.9.8 toolpath optimiser).
- Bug fix: Spline ApplyTransformations not updating fit points.
- Bug fix: Profile CutWidth optimisation when MaxCrossover ~= Stepover.
- Bug fix: Open polyline problems for some large drawings.
- Bug fix: Remove arcs losing end line segments on open polylines.
- Bug fix: Prevent error when setting same named properties from different object types.
- Bug fix: Various fixes (extrema, draw point list...) for shapes that cannot apply transformations (such as rotated rectangles).
- Bug fix: Point list divide geometry.
- Bug fix: 3D surface scanline, using ball nose cutter with stock surface below model surface.
- Bug fix: Edit modes now set drawing modified marker by default.
- Bug fix: Rectangles, allow corner radius where H or W within tolerance of 2 x R.
- Bug fix: Changing start point was not updating drill rapids display.
- New shader based OpenGL Display Mode, use OpenGL_Legacy if errors encountered.
- Holding SHIFT when CamBam starts will force GDI display mode.
- New display option : View Projection Mode : Perspective / Orthographic.
- Ball nose compensation added for 3D waterline finish operations.
- New Scanline Gradient Threshold option in 3D mop, to suppress toolpaths steeper than given gradient (in degrees with 90 degrees vertical)
- New post processor macros {$mop.first.x} {$mop.first.y} {$mop.first.z} {$part.name}
- View rotation will now rotate about center of selected objects.
- Use Surface Selection Color config option added.
- Right click on drawing tree will not clear current selections.
- Arc Center Mode added to post processors, plus new incremental options.
- Obsolete Distance Mode and Arc Output All Axis properties removed from drawing machining options.
- Can now set default post processor by right click menu in system tree.
- Fast Plunge Height = -1 (default), now automatically calculates a default height. Use 0 to turn off fast plunges.
- Line numbering ability in post processor.
- Changes to G18 (XZ) arc handling : Warning! post processor Invert Arcs should now be set for (most) lathe post processors.
- Holding tabs: new Tab Methods : Automatic (Inner/Outer) to avoid tabs on inside/outside region shapes.
- Holding tabs: new Tab Style : Skip. Similar to a square tab but uses a rapid move across top. Intended for plasma tabs.
- Holding tabs: Bug fixes when applying tabs to toolpaths. Triangle tabs now compensate for tool diameter.
- DXF bug fixes : mirror extrusions on polyline, region ouput, multi-line text writing.
- Python improvements - module support, search paths, treat tab characters as 4 spaces, better error messaging.
- Beginning of flat tangent lead ins are no longer assumed safe to fast plunge down to.
- 3D waterline methods now add roughing clearance vertically (as well as horizontally).
- Improved 3D scanline resolution checks for large stepovers.
- New {$tool.name} and {$tool.veeangle} macros in post postprocessor.
- {$veeangle} macro added to tool library name format expression.
- Edit - Polyline - Remove Arcs operation.
- Polyline apply transformations will now remove arcs if different axis scaling or skewing detected.
- Gerber import now also recognises (*.gbl,*.gtl,*.gbo).
- Tool.ToolChange now overrides post processor Tool Change property. {$tool.toolchange} macro replaced with {$tool.comment}.
- 3D Surface boundary bug fix and added support for region boundaries.
- Toopath to geometry now generates holding tab toolpaths.
- NCFile.SourceFile property is now relative to drawing path.
- Plane slice bug fixes : Plane slice X or Y axis with vertical walls and Z axis with multiple surfaces selected.
- Drilling operations now use Start Point when optimising.
- Added {$arc.start} {$arc.end} and {$arc.sweep} angle macros to the post processor.
- Bug fix: Drilling negative depth increment was causing crash.
- Bug fix: Z and F registers are now cleared after a G80 as this prevented a clearance move at program end.
- Post processor {$set()} macro now recognises A,B,C,F,P,Q,R registers and can also set values to NaN (ie undefiend).
- Gerber improvements including Union and Subtract bug fixes.
- Python scripting support adding using IronPython.
- Added {$index} and {$length} to tool library Tool Name Format macros.
- 3D surface, 'Auto' target depth and stock surface now use model height/depth if no stock defined.
- Degenerate Tolerance property removed from 3D surface machine operation.
- Edit - Open Offset changed to more reliable method in Gerber importing.
- Bug fix: Modal canned cycles now working in post processor.
- Added system config Waterline Safety Check setting, which prevents gcode creation if waterline errors detected.
- Bug fix: Post processor, Arc Output = Convert to Lines now working for helical arcs.
- Added new post processor, Arc Output option Helix Convert To Lines.
- Improvements to scanline 3D toolpath optimisation. Corrected Milling Direction behaviour.
- Cut widths now shown for tangent lead in / out.
- 3D scanline methods now only alternate direction when Milling Direction = Mixed.
- Bug fix: Region filler over cutting margin when initial shape too small for any fill offsets.
- Edit - Move, now uses SHIFT key constraint to move along snap angles.
- Bug fix: Fixed back plotting error when gcode values contained leading + sign.
- Bug fix: Backtrack removal code was causing occasional 3D waterline glitches.
- Bug fix: Post processor bug when mixing literal code and macros in move commands.
- New post processpr macros (see post processor documentation for specifics).
- Bug fix: Gerber loading errors when gerber contained blank lines.
- Bug fix: Precision error when joining was causing some unioned segments to be lost.
- Speed improvements to union code. Complex Gerber loading times should be improved considerably.
- Bug fix: Tool library 'Rename All' was potentially causing duplicate tool names.
- Language translation support. See www.cambam.info/ref/ref.lang for details.
- Reformatted all property and value display names to be easier to read.
- Edit - Subtract now works with multiple shapes.
- Improvements to Gerber file handling including more aperture support.
- Added Roughing clearance support to spiral drill operations.
- Bug fix: 3D surface boundary shape improvements.
- Bug fix: Improved memory handling for fine stepover 3D scanline operations.
- Bug fix: 'Cusp' toolpath bugs fixed.
- Bug fix: Prevent {$common} folder appearing when error handler called.
- Bug fix: Now always assumes XY workplane if no workplane specified in the post processor.
- Transformations on Drill operations now working.
- Bug fix: Boundary bugs on 3D Mold operation.
- Bug fix: Boundary rounding bug on scanline 3D.
- Bug fix: Nesting bug on custom drill scripts.
- Improvements to holding tab toolpaths on spiral lead moves.
- Added Spiral Flat Base to drill operation to help with thread milling.
- Show cut widths for spiral drill now shows spiral outline rather than filled circle.
- Changes to post processor to aid laser support.
- Engraving operation now uses tool vee angle and depth increment to determine max crossover distance.
- New PostBuildCommand and PostBuildCommandArguments properties for post processors.
- Point list editor improvements including cut/paste to/from spreadsheet.
- Rotation transformation now prompts for start angle.
- Bug fixed: Was not using leadin feedrate for tangent moves
- Bug fixed: Leadin moves for square holding tabs fixed.
- Bug fixed: Spiral leadout fixed.
- Bug fixed: Various toolpath bugs including polylines with sharp cusps fixed.
- Bug fixed: 'Object reference not set to an instance of an object' error in experimental optimiser.
- Bug fixed: Errors when creating mops with no Part object present.
- Bug fixed: {$tool.length} post processor macro value now read from tool library.
- Bug fixed: Backplotting drill gcode, convert toolpath to geometry fixed.
Revision I changes
- New Machining.InnerTabScale and OuterTabScale values to adjust lengths of holding tabs.
- Holding tab now displays a cross if it fails to insert any toolpath holding tabs.
- Added HoldingTabDragToolpathRefresh config option to prevent slow toolpath recalculations after tab drags.
- Changed 3D Profile boundary behaviour to machine up to boundary and not expand polyline boundaries.
- Bug fixed: Experimental optimiser with depth first on profiles with holes was doing level first.
- Bug fixed: "Unable to create a file that already exists" error when FileBackup=0.
- Bug fixed: Occasional "Key not in dictionary" errors in toolpath optimiser.
- Bug fixed: Toolpath to geometry from NCFile op was creating polylines with NaN values.
- Bug fixed: Polylines with only 2 segments causing offset errors when OffsetBacktrackCheck=True.
- Bug fixed: Entering 'c' in polyline drawing mode was starting circle draw.
- Style tool number select now shows tools from tool library set in active part or machining properties.
- Added a Help - Samples menu option.
- Tools in libraries can now be reindexed by selecting an existing tool index.
- Added new RapidDownToClearance option to post processor. Setting False will prevent this rapid.
- Bug fixes: A number of GDI display mode, drawing and editing problems were fixed.
Revision H changes
- Bug fix: fixed stepover bug causing leadings at each stepover fixed.
- Toolpath filter now works with engraving mop.
- Warning message when refreshing libraries with unsaved changes.
- Warning when post processor missing.
- Bug fix when drawing circles with center not at Z=0
Revision G changes
- Bug fix - Tool details weren't being looked up from tool library for styles with tool numbers.
- Transform bug fixes for align, move, arc fit and splines.
- Toolpath optimisation bug fixes and improvements.
- Engraving 'Auto' TargetDepth changed to StockSurface minus 1 x DepthIncrement.
Revision F changes
- Post processors moved to system folder and maintainable from System tab within CamBam.
- New post processor properties.
- Notes - general purpose text notes
- Lathe X Mode - For lathe use, sets whether X is Radius or Diameter.
- Lathe Tool Radius Offset - If False, the toolpath as at the center of the tool radius is output
If True, an appropriate tool radius offset is applied.
- X Mode Diameter - For lathe use, code to use to set X diameter mode (eg G7 for EMC2).
- X Mode Radius - For lathe use, code to use to set X radius mode (eg G8 for EMC2).
- Invert Arcs - If set True, CW arcs will be output as CCW and vice versa. This may be useful for front face lathe operations.
- Arc Output - This has been removed from the .cb file Machining section into the post processor.
If set to ConvertToLines, small line moves are used rather than arc commands.
- Arc To Lines Tolerance - If ArcOutput=ConvertToLines is used, this value controls the maximum allowed
error when converting arcs to lines. Smaller tolerances will result in smoother curves but larger files.
- Config file moved to system folder.
- More nesting options:
GridOrder, GridDirectionAlternate, FromPointList. See nesting section for details.
- Machining operation and CAM style properties now show an icon to indicate Default, Auto or Value status.
Clicking the icon will invoke the context menu to change the status.
- Changing the gcode filename (Machining.Outfile) now uses a macro {$cbfile.name} to avoid
copied/renamed cambam files using the previous gcode file name.
- Library maintenance in system tab, can now copy,paste,rename, drag and drop items.
- Tool library now has an automatic name macro to generate tool names from properties using various macros
For example '{$diameter}mm {$flutes} flute {$profile}'.
- New resize gui with scale by size, percent, preserve aspect ratio.
- Performance fixes for holding tabs on text objects.
- Depth first cut order toolpath optimisation improvements. This applies to the Experimental optimisation mode
which should be the default.
- New 'Browse gcode folder' Machining context menu function.
- New 'Edit gcode' Machining context menu function, an external editor can be specified in
System Configuration, GCodeEditor property.
- New 'Set machining origin' Machining and Part context menu function.
- New 'Set start point' Machining operation context menu function.
- Added Undo/Redo buttons to toolbar and display current undo step on status bar
- New 'Tools - Browse system folder' menu function.
- Heightmap plugin bug fix causing endless loop (Many thanks to Brian Paquette)
- Point lists can now be edited by double clicking.
- Double clicking NCFile machining operations in tree now opens gcode editor.
- DepthRelativeTo property has now been removed. All depths are now considered absolute Z values.
- New hot keys
- P - draw polyline
- C - draw circle
- D - draw point list (D for dots?)
- R - draw rectangle
- T - draw text
- A - draw arc
- M - measure
- CTRL+R - rotated selected entities (previously was convert to region)
- CTRL+E - resize selected entities
- CTRL+M - move selected entities
- CTRL+W - write gcode file
- SHIFT+CTRL+V - past format
- F1 - Help Contents
Revision E changes
- Fixed bug with non-integer text sizes.
- Added back up file support - creates filename.b# files where # is a number and number of backups set in config option FileBackups).
- Errors relating to library folder refresh.
- Restrict style drop down to searched libraries only.
- Added Right+Left mouse drag view rotate option.
- Some fixes to Gerber importer.
- Added drawing snap to stock corners.
- Bugs fixed relating to spline dragging.
- Bugs fixed relating to rectangle rotating.