Manual

From GCAM

Jump to: navigation, search

Contents

Program Overview

Image:gcam_gui.png

GCAM is a free CNC Milling package designed to make g-code generation a fast and robust process. New projects in GCAM begin with the user entering in a set of parameters that correspond to the material and machine being used. Once completed, a block of material appears in the 3D Design window, which represents the block of material to be inserted on the mill. In addition, a set of default G-Code Blocks appear in the Block List. Additional code blocks must be inserted to mill away any excess material from the block to achieve the desired part. After completing this process the user can export the corresponding g-code for use on their CNC mill of choice.


Design Goals

Indisputable domination of both free and commercial CAM software markets.


Current Capabilities

  • Operating system independent, light, functional, familiar, and intuitive user interface with 3D graphical design feedback.
  • Output compatible with TurboCNC (*DOS) and EMC (Realtime Linux) machine controllers.
  • Simple block based design and G-code generation.
  • 3D Final Part Render Preview from loaded GCAM project.
  • Cutter diameter inside and outside compensated tool paths in addition to uncompensated tool path options.
  • Complex pocket and perimeter profiles. Bevels, counterbores, ountersinks, rounded top edges, curved or angled vertical feature profiles.
  • Matrix and radius pattern multiple hole insertion feature with complex vertical profile.
  • CNC drill cycle implementation.
  • G53-G94 machine coordinates and workspace coordinate selection.
  • Tool change prompting and preset tool change location.
  • Helical Tool Paths in Sketches.
  • Efficient Drag and Drop management of G-code blocks.
  • Assistant Menu for quick creation of common parts.
  • Patterning of Drill Holes and Sketches.
  • Filleting in Sketches.


Development Team

GCAM was started by Justin Shumaker in February 2006 to provide the world with a free CNC milling package.

Currently Justin is the sole software writer for the GCAM project.

Some help with exported G-Code, machining concepts, and GUI suggestions are provided by Randy M Rubin.

Beta testers of GCAM releases include Justin Shumaker, Randy M Rubin.

[When you help out GCAM project development, your name goes in this section. It probably won't happen automatically, so you should ask. Manual proofreaders, please?]


Documentation

You've found it.

Documentation consists of this manual page, currently maintained by Randy M Rubin and Justin Shumaker. For more information see this the Manual Versions section. The documentation will likely always be outdated by several months so the menus may not always look the same.


Running in Windows

Currently, GCAM's Windows binary package includes all libraries needed for it to run. No need to install. Just unzip, hit the one that says gcam.exe and go. If you need an archive utility, 7zip is free and very capable. If you would like to compile the GCAM source code in Windows please see the MinGW MSys GTK Configuration Guide.


Compiling and Installing in FreeBSD and Linux

GCAM requires the following dependencies in order for the "configure" script to succeed.

  • GTK+ 2.8.0 or higher (2.10 or higher recommended for extra features)
  • GtkGlExt 1.0.0 or higher
  • OpenGL 1.1 or higher

If everything goes well, it should be like compiling, installing and running any other *nix/xfree/xorg application. This example is from an xterm:

$ tar -zxvf gcam-2009.01.17.tar.gz
$ cd gcam-2009.01.17
$ ./configure --help
$ mkdir /home/you/gcam-2009.01.17
$ ./configure --prefix=/home/you/gcam-2009.01.17
$ make && make install
$ cd /home/you/gcam-2009.01.17
$ chmod 550 bin/gcam
$ bin/gcam

It should pop up in your face now. Please note the example is not a literal one. Replace "you" with your actual username. (If your username actually is "you", you can go ahead and ignore this warning.)


Hardware and Operating System Compatibility

GCAM is known to work on FreeBSD, GNU/Linux, MacOS X, Windows 2K/XP operating systems. Currently, tested hardware minimum spec is a Pentium2 450MHz 128MB running Windows 2000. So far, GCAM has been tested on Gentoo, Ubuntu GNU/Linux, MacOS X, Windows 2000, and Windows XP. Let us know what kind of hardware and operating system you use GCAM with in the GCAM discussion forums.


Getting Started

GCAM uses an OpenGL based, non-fixed 3D window to render the part. The 3D position of the part in space and can be translated and rotated to get a different view of any part of the design as necessary. Hold down middle mouse button to pan around the 3D drawings position in the 3D window. Hold down the middle mouse button to rotate the drawing around the center of the 3D window. Hold down right mouse button and move the mouse up and down or use the scroll wheel to scale the 3D drawing. Hold down the ctrl key on the keyboard and left click on an object in the 3D window to bring its parameters into view on the left panel.

Image:Gcam_gui_description.png

mouse    +   keyboard = function
-----        --------   --------
left         ctrl       block selection
left                    translate
right                   zoom
middle                  pan
scroll_wheel            zoom


3D Window View Options

Image:View_menu.png

In addition to the user defined 3D window view, several fixed views may be selected, as well as two perspective options. Views can be selected under the View menu. Top view can be selected by clicking View > Top. Clicking View > Left, View > Right, View > Front, View > Back all operate in the same manner.

Orthogonal view represents objects with perpendicular lines in 3D space for right angles. No accounting for view perspective in relation to viewing distance is done. This is often how parts are drawn in 2D. To select the Orthographic View mode, click View > Orthographic.

Perspective view represents 3D objects as you would see them in reality. In this view, all parallel lines look like they will terminate at one point off in the distance. To select this mode, click View > Perspective.


Loading and Saving GCAM Projects

Image:File_menu.png


.gcam Files

GCAM projects and templates can be saved in a program specific file format. Effort is made during development to keep this file format consistent across program versions. The default extension .gcam is used, tho the user can change this. Note these files are not the same as the G-Code format files for use by a CNC machine controller. Those files use .nc as the default extention. Generating these files is explained later in this manual.


Loading a GCAM Project

Image:Load_project.png

Load a previously saved GCAM project by clicking File > Load Project or pressing CTRL+L. Note that you must close a current project before loading a saved project.


Saving a GCAM Project

Image:Save_project.png

Save your current GCAM project by clicking File > Save Project or pressing CTRL+S. Note that this option will not be available until you have given your GCAM save file a name with the Save Project As file operation.


Naming or Renaming a Loaded GCAM Project's Save File

Image:Save_project_as.png

Giving your new GCAM project save file a name can be done by clicking File > Save Project As or pressing CTRL+A. You can also use this option to rename the save file name of the loaded GCAM project.


New Project

Starting a new project is done by clicking File > New Project, or by typing CTRL+N. This will open a project settings dialog. Note that the notes section doesn't appear in the new project dialog. This is to get you into the GCAM work environment as quickly as possible.

Image:New_project.png Image:New_project_window.png


Project Name

This is simply the name of your GCAM project. It will be used as the default file name for the .gcam save file and the exported g-code file, although either may be changed by the user when saving.


Base Unit

Selects between inches and millimeters for the project length units. This also affects the exported G-Code output.


Material Type

Type of material being machined. This is the basis of the default table feed rates. All feed rates can be changed later during the design of your project.


Material Size

Size of the stock to be machined. This will be represented in GCAM by a 2D grid for the bottom plane of the specified stock size, with lines around the edges of the stock objects's top plane.


Traverse Z Height

Controls the height above Z0 that G0 rapids will take place. For this reason, Z0 in the workspace selected should always be set in the machine controller at or above the top of the material to be machined. Set the Traverse Z Height parameter higher for unmachined stock with irregularities in height, or just for an extra measure of safety.


Project Settings

You can open the settings dialog later by clicking Edit > Project Settings. In the settings dialog, the user can configure options relating to stock size and material, the machine used, default tool, tool rapid height.

Image:Project_settings.png Image:Project_settings_window.png


Projects Notes

A place to keep project notes, or part descriptions, or any other information you want to keep with the project. This will appear in the at the top of the exported g-code file. It's a good idea to put any special instructions such as jigs, clamps, or special tools used to setup the material. One might also list whether the part is being milled from a piece of stock precisely the size indicated by the dimensions or from a larger piece such that in the future one can perform a production run without remembering any particular details.


GCAM Blocks

GCAM uses the terminology blocks to refer to a line item in the Treeview which corresponds to an action or setting withing a GCAM project. GCAM blocks can be inserted, edited, moved, and deleted. The design philosophy behind GCAM is to think of the project in terms of blocks. One could also think of the blocks as macros to create a complex set of g-codes.


Inserting G-Code Blocks into a GCAM Project

Everything in GCAM is performed by inserting, modifying, or deleting blocks which represent actual sections of g-code in the exported CNC g-code file. These blocks can be found in the Insert menu. You can view and manage blocks in the G-Code Block Treeview. The following is a list of block features currently implemented in GCAM.

Image:Insert_menu.png


The Block Treeview

Note that all blocks will be inserted after the previously selected block in the G-Code Block List. The current selected block in the Treeview dictates what items in the Insert will be accessible. For example, an arc or line cannot exist outside of a sketch or an extrusion. After inserting a new block the Comment field will highlight and the user can immediately type in a comment without any having to provide any additional action beyond inserting the new block. Below is an image of a typical block Treeview.

Image:block_treeview.png

The Block Treeview consts of 5 columns. The first column describes the hierarchical order of the block. the Begin block will always occupy the first row while the End block will always occupy the last row. The second column describes the type of block. The third column indicates whether the data or settings within a block is ok. If the user has create a tool path that produces a dangerous or impossible tool path then a warning or error message may show up. The fourth column allows the user to Suppress a block. This is useful if there are several versions of a part with minor variants or if a block of project is to contain the blocks to mill both the top and bottom of the part. The fifth column is for adding a Comment to the block to help distinguish it from others.

A block can be selected by clicking on the row corresponding to the block with the left mouse button. Optionally the user can use the ctrl + left mouse button in the 3D view to select a block. After selecting a block its corresponding data will appear in the left-hand side of the window.

Tool Data - endmills.xml

GCAM comes with an endmills.xml file located within the "share" folder. This file provides GCAM with a list of your personal set of end mills. Feel free modify this file to meet your requirements. Remember to back this file up before installing a new version of GCAM over an existing one. This file is written in the XML format. Any text editor will allow you to open this file and make modifications to it. GCAM does not need to be restarted if this file is changed. Here is what the default endmills.xml file looks like:

<list>
       <endmill number='0' type='flat bottom' unit='inch' diameter='0.031250' description='1/50" flat bottom'/>
       <endmill number='1' type='flat bottom' unit='inch' diameter='0.031250' description='1/32" flat bottom'/>
       <endmill number='2' type='flat bottom' unit='inch' diameter='0.062500' description='1/16" flat bottom'/>
       <endmill number='3' type='flat bottom' unit='inch' diameter='0.125000' description='1/8" flat bottom'/>
       <endmill number='4' type='flat bottom' unit='inch' diameter='0.187500' description='3/16" flat bottom'/>
       <endmill number='5' type='flat bottom' unit='inch' diameter='0.250000' description='1/4" flat bottom'/>
       <endmill number='6' type='flat bottom' unit='inch' diameter='0.375000' description='3/8" flat bottom'/>
       <endmill number='7' type='flat bottom' unit='inch' diameter='0.500000' description='1/2" flat bottom'/>
       <endmill number='8' type='conical' unit='inch' diameter='0.006' description='0.006" 30 deg conical'/>
       <endmill number='9' type='flat bottom' unit='millimeter' diameter='1.0' description='1mm flat bottom'/>
       <endmill number='10' type='flat bottom' unit='millimeter' diameter='3.0' description='3mm flat bottom'/>
       <endmill number='11' type='flat bottom' unit='millimeter' diameter='4.0' description='4mm flat bottom'/>
       <endmill number='12' type='flat bottom' unit='millimeter' diameter='6.0' description='6mm flat bottom'/>
       <endmill number='13' type='flat bottom' unit='millimeter' diameter='12.0' description='12mm flat bottom'/>
       <endmill number='14' type='flat bottom' unit='millimeter' diameter='20.0' description='20mm flat bottom'/>
</list>

GCAM presently does not utilize the type field. In future versions an end mill editor will exist to permit additional types of milling e.g. threading, slotting, chamfering.


Machine Data - machines.xml

GCAM comes with an endmills.xml file located within the "share" folder. This file provides GCAM with a list of machines available to GCAM as well as their basic parameters. Feel free modify this file to match your machines. Remember to back this file up before installing a new version of GCAM over an existing one. This file is written in the XML format. Any text editor will allow you to open this file and make modifications to it. GCAM does not need to be restarted if this file is changed. Here is what the default machines.xml file looks like:

<list>
   <machine name='Taig 2019CR-ER Xylotex 269oz' travelx='12.0' travely='5.5' 
       travelz='6.0' maxipmx='12.0' maxipmy='12.0' maxipmz='12.0'/>
   <machine name='Ohio Art Etch A Sketch' travelx='7.0' travely='5.0' 
       travelz='.001' maxipmx='180.0' maxipmy='180.0' maxipmz='0.1'/>
</list>


Producing RS274X CNC G-Code

After a design is complete and has checked using the Render Part 3D preview the GCAM project is ready to be transformed into RS274X g-code. To start the g-code exporting process, click File > Export G-Code or press CTRL+E. A dialog will ask what export file format you wish to include. Select an option compatible with your machine controller and click Export. Select a filename and save location, and click OK.

Image:Export_g-code_window.png


Version Information

As GCAM is constantly evolving, knowing what version works for you is essential. To check the version of a running GCAM session, click Help > About. Here you can find the version name, build date and build time, and the author's email address.

And now, a warning: Please note this kind of programing crashes tools, not just computers, so in consideration of both your data and your machine tooling (aka your wallet or purse), PLEASE, SAVE YOUR PROJECTS FREQUENTLY (in separate files per version preferably) and verify the g-code output (on a simulator or your machine clear of any parts or fixtures) before running the actual machining cycle!!! By forming good habits you too can survive the exciting world of free software.

Image:About_window.png


Bugs and Feature Requests

In the event you become aware of a software bug in GCAM or think of a useful feature, please report this as soon as possible so it can be verified and addressed using GCAM's Bugzilla (searchable, web-based bug database). You will need to register a Bugzilla username to submit a bug report. Please, be as clear as possible when providing your bug descriptions so the source of the problem can be identified and rectified as soon as humanly possible. After reporting the bug, check the GCAM Files page for newer stable versions of GCAM.


Donating to the GCAM Project

How to Contribute to GCAM Development (or: CNC is Really Expensive)

Visit the GCAM Website and click on the Donate link on the left. Donations are not tax deductible, but they go a long way in keeping this software free and available to everyone.


What GCAM Project Does With Your Donations

All of the donations go toward my new Ferrari (just kidding). It's very important that before each release I test the new features and fixes on my CNC mill. In doing so I break an occasional end-mill and those need replaced from time to time. For larger donations I work on purchasing more exotic hardware to increase the feature set. Right now the next big purchase is a rotary table to support "turning" or "radial milling".


License Agreement

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

Personal tools