Subscribe to Blog
Email Address
Pages:(35) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [16] 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

Urgent HSMAdvisor Update

October 27, 2015, 6:23 pm by Eldar Gerfanov (Admin)

A couple of things got broken after the last update, so I have just released a fix to solve the issues.

Now everything works better than ever.

Thank you to everyone for reporting the issues. I will make sure to avoid these problems next time around.



HSMAdvisor v1.199

October 24, 2015, 9:54 am by Eldar Gerfanov (Admin)

This is update is the last one before a pretty big new additional feature being added to HSMAdvisor. So i cleaned up all the little glitches and made a lot of invisible to naked eye improvements.

Without going into detail i can tell you that those features normally cost users of other software products upwards of several hundred dollars, and they will not be without a cost to HSMAdvisor users too.

This feature will be optional and only those who need it will be able to purchase it as an add-on Later this feature will become a separate software product with HSMAdvisor add-on being just a small part of it.

Development of HSMAdvisor will continue as normal.


 What is new and improved in this update:

  • Improved function of Tool Tables. Removed flickering. Faster Filtering and scrolling.
  • App Icon changed
  • Modified over 45 Degree Ramping Feedrates for milling.
  • Fixed Cloud Machine Upload

2015 Haloween Sale!

October 23, 2015, 7:03 am by Eldar Gerfanov (Admin)

Haloween sale is ON!

All HSMAdvisor Licenses over $90 are currently 15% off!

You can buy a 3 Year Floating License Subscription Or a Permanent License now for just $82

Life Time Subscription is only $165 And Permanent License with LifeTime updates is $186


Before we run any G-Code program, we need to tell the machine where our part zero is.
A Part Zero is simply a bunch of numbers that offset the axis to give the machine a new coordinate point to work from.

Work Offsets is one of the most basic pieces of knowledge any machinist must-have.

Let us account for all the basic coordinate systems and definitions, available in a generic CNC machine

  • Machine Home and (Absolute) Machine Coordinates
  • Work Offset Coordinates
  • Tool Length Offsets

Machine Home and Machine Coordinates: G53

Machine Coordinates (or Absolute Coordinates) is the absolute and constant representation of the machine axis position.
These coordinates never change between Machine Restarts and must remain such. In fact, there is often no way for an operator to adjust the Absolute Machine Axis Home position.

Machine Home is simply that magical place where all Machine Coordinates should become Zero.

To Home the Machine is to start a machine operation, that will move all Axis to their soft limit position where X, Y, and Z-axis reading will be set to zero.

Homing must be done every time you restart your machine. Without it machine does not know where is the position of its table or spindle.

When homed your machine coordinates will read X=0 Y=0 and Z=0 and it is going to look like this:

The point where Machine X and Y intersect is called Table Home Position and the one where the Machine Z-axis starts from is called Spindle Home.

Now, there is no agreement between machine tool manufacturers on where the machine home should be.

Many manufacturers put home in the position where is shown on the picture - this way all our Machine Coordinates will be negative.

Others put Table Home to the lower-left corner and then X and Y Machine coordinates will be positive.

There are a few weird ones, who will put their machine's home position on other (Top Let or Bottom Right) corners and then one of the Axis will be positive while the other one-negative.

But in the end, it does not really matter. As nobody uses Machine Coordinates to machine their parts. All it does however is confuse operators and sometimes make them do silly mistakes.

It does not mean, however, that Machine Coordinates are useless for the operator. They are often used to position the table at the end of the operation for easy loading/unloading or whenever a table needs to move to a safe place for extra-long tool change: any place where the absolute nature of Machine Coordinates is a benefit.

Absolute Movement can be programmed with the G53 code. It is often NON-modal and requires either G01 or G00 motion mode enabled and at least one of the X, Y, or Z coordinates.

Typical example:


(move table close to the operator)

G00 G53 X-20.0 Y0


This brings us to the...

Work Offset G54 - G59

Also called Part Zero.
As mentioned before, Work Offsets allow us to specify new coordinate systems based on the relative distance of our Part Zero from the Home Position:

In this picture, the G54 offset will be X=-20.000 and Y-11.000

Each Work Offset is stored in Machine Work Offset Table. This way our program does not need to specify where the part is in relation to the Machine Home.
Your typical Work Offset Table will look like this:

Machine Work Offset Table
G54 G55 etc. G59
X -20.000 X -11.000 X 0.000
Y -11.000 Y -5.000 Y 0.000
Z -13.178 Z -11.000 Z 0.000

Work Offsets are activated using G-Codes G54 through G59
A proper Work Offset should be commanded before any absolute move is made.

Typically Work Offset is commanded right after a tool change is made:

T15 M6
G54 G0 G90 X0 Y0 S1500 M3

Work Offset commands are modal and they persist until another work offset command cancels it, the machine gets rebooted, or it gets overridden by a work offset modifier.

X and Y axis Offsets signify the distance from the Machine Home to the Part Zero and Z-Offset value signifies the distance from the Part Zero to the spindle nose in Z Direction.

Looking at the table above it is obvious that something does not quite match the picture: Indeed we have a tool in the spindle.
And because different tools tend to have different Lengths, the distance the Spindle has to travel from its Home to the Top of the part will vary as well!

Thus, to account for different Tool Lengths another offset table was introduced.

Tool Length Offset: H1-H99

Tool length offsets allow machine control to account for the fact that different tools have different Tool Lengths.
Application of Tool Length Offset ensures that Programmed Depth of the cut matches the actual depth of machine movement into the workpiece (or above it).

In other words: Both the T01 which is 3.0 inches long and the T02 which is 5.0" long will move to exactly 0.2" above the part when commanded G00 Z0.2

Machine Tool Length Offset Table
H Offset
1 5.132
2 6.00
3... 8.120
...99 3.000

When the Tool Length Offset is applied, the machine adds the Tool Height to the Work Z-Axis Offset. In such a case Tool Offset means the distance from the Spindle Nose to the tip of the cutter:

(Please note that the setup method is shown above, while easy to comprehend and wrap one's mind around, is not the most practical in terms of manual setup and is mostly used on machines, equipped with an ON-Line or OFF-Line tool pre-setter and/or work probe.
Please see the next article where we explore and compare the two different tool set-up methods.)

Tool length offset is activated with a G43 code, followed by the letter H and then by the address of the length offset in the Machine Tool Length Offset Table.
Typically during programming, in order to prevent crashes and mishaps, Tool Length Offset always matches the Tool Number. But nothing stops you from not following this rule when the situation calls for that.

Tool Length offset must be applied of the very first absolute Z-Axis Move after the tool change:

T15 M6 (tool change)
G54 G0 G90 X0 Y0 S1500 M3 (Apply work offset, Turn on the Spindle)

G43 H15 Z2.0 (Apply Tool Length Offset while Moving to the Clearance Height)

...(Start Machining)


This is a very quick overview of the basic Work and Tool offsets available for a CNC Milling Machine.

In later articles, I will explore alternative methods of offsetting Tool and Work Offsets, Work offset modifiers, and extended work offsets available on most machines.

Quick Video: Figuring the best Depth and Width of Cut with Performance Slider

September 26, 2015, 11:25 am by Eldar Gerfanov (Admin)

Proper machining depth and width of cut are just as important as proper Speeds and Feeds. 

This is not only importanttant for professional machinists, who are machining on the edge of their tooling and setup capability, but also for hobbyists, who often face limits from the machine rigidity side of the equation.

HSMAdvisor Speed and Feed calculator has a unique tool used for figuring the best engagement values for each particular cut you are making.

It is called Performance Slider. And it adjusts expected load on the tool and machine depending on your preferred machining mode.

Check out this video I made that explains Performance Slider' functionality:

Suggested new feature to HSMAdvisor: Quick G-Code Wizards

September 20, 2015, 3:54 pm by Eldar Gerfanov (Admin)
Recently i have received a very interesting suggestion, which i would like to discuss with you, guys.
A HSMAdvisor user wants to be able to create quick G-Code snippets based on the Tool and Cut information that HSMAdvisor has.
G-Code Wizards will allow you to quickly create a stub program for various standard machining operations.
For example you calculate speeds and feeds for drilling.
Then you have the ability to create a G-Code program based on your input like so:
T15 M6(T15 1/2" HSS Drill) G54 G0 G90 X[Hole1_X] Y[Hole1_Y] S1500 M03 G0 G43 H15 M08 G81 G98 X[Hole1_X] Y[Hole1_Y] Z[Depth] F15.0 X[Hole2_X] Y[Hole2_Y] X[Hole3_X] Y[Hole3_Y] G80 G0  Z0.5 M09 G0 G91 G28 Z0 M05
All with a few clicks of a mouse.
This piece of code with minimal modifications you can then quickly insert into your program.
What do you think about it?

FSWizard:Mobile Has Been Featured on Website!

September 20, 2015, 3:26 pm by Eldar Gerfanov (Admin)

Zero_Divide's FSWizard speed and feed calculator is the latest professional-grade mobile calculator to hit the i0S and Android stores.

For those who aren't happy with the accuracy of the speeds and feeds generated by their CAM software, FSWizard may be your solution. Like a Swiss army knife, it also includes a toolbox of essential charts and standalone calculators to make life easier for machinists.

Check it out here:

Can not say it gave me an immediate influx of new sales (although every bit helps!). I guess most of the sales are driven through this web site and the buzz around HSMAdvisor Advanced Speed and Feed Calculator or the free FSWizard:Online calculator.

Lessson 3: CNC Canned Cycles, Drilling, Tapping, Reaming and Boring Cycles

September 20, 2015, 2:49 pm by Eldar Gerfanov (Admin)

Canned cycles are used every time we need to drill, ream or tap holes on our CNC machine

Standard Fanuc G-Code language supports more than a dozen canned cycles.

The most common cycles that will cover 99.9% of your g-Code CNC programming work are:

G-Code Name Motion Style
G81 Standard Drilling Feed-In, Rapid-Out
G83 Deep Hole Peck Drilling Incremental Feed-In by Peck Distance, Rapid Out, Repeat
G84 Right Hand Tapping Feed-In,Reverse Spindle, Feed-Out
G85 Reaming/Boring Feed-In, Feed Out

Subsequent holes

You can drill additional holes After your canned cycle has been initiated.
Any line with X Y position will be treated as another hole position.

Each position can have its own Retract value, feed rate and retract height modifier.

G80 - Canned Cycle Cancel Code

After all the holes of the canned cycle have been drilled, it is required to call G80 code in order to cancel the current cycle.

The less common canned cycles are:

G-Code Cycle Name Motion Style
G73 High Speed Chip-Break Drilling Incremental Feed-In by Peck Distance, Stop Feed, Repeat
G74 Left Hand Tapping Feed-In,Reverse Spindle, Feed-Out
G76 Boring, Orient Feed-in, Orient Spindle, Rapid-Out
G82 Spot Drilling Feed-In, Dwell, Rapid-Out
G86 Boring Feed-In, Spindle Stop, Rapid-Out
G87 Back Boring Cycle Orient Spindle, Move to Insert Point, Turn Spindle On,
Feed-In to target Z, Retract to start Z, Move to insert point, Rapid Out
G88 Manual Dwell Boring Cycle

Feed-in, Dwell, Stop Spindle,
Stop Program to let the operator manually retract the tool

G89 Dwell Boring Cycle Feed-In, Dwell, Feed-Out

Support of each of these cycles depends on your particular machine. So make sure to double-check you manual before using any. Especially the ones from the second table!

Retract control codes:

G98 and G99 codes control Z- retract distance between holes in the same cycle.
These codes must be applied on the same line as or before the canned Cycle. Or BEFORE each hole in the cycle

G-Code Code Name Motion Style
G98 Clearance Height Retract After each hole Tool retracts to the last rapid - Z height before the application of the canned cycle. Used when there is need to avoid clamps or part features that are above the R-value height.
G99 R - Height retract After each hole Tool retracts to the R value height of the canned cycle

This is how G98 retract modifier behaves:

And this is how behaves the G99 retract modifier:

Where part geometry is calling for use of G98 you can combine G98 and G99 to save on some rapid time:

As you can see we need to apply G98 on the hole after which we need to retract to the clearance height.

The codes shown on this picture are missing X,Y locations in some places. The correct program would look like this:


G0 Z0.5
G81 G99 X1.5 Y2.0 Z-1.0 R0.1 (Drill First Hole. G99 - Retract to R-height)X2.0 Y2.0 R-0.75 (Drill Second Hole)
G98 X2.5 Y2.0 R-0.75(Drill Third Hole, After it Retract to 0.5" Z-Clearance height)
G99 X3.0 Y2.0 R.1 (Drill fourth hole. Retract to R-height)
X3.5 Y2.0 R-0.7 (Drill fifth hole. Retract to R-Height)

G80 (Cancel Canned cycle)

G0 Z0.5 (retract to clearance height)

The anatomy of a standard drilling program is as follows:



(Starting safety blocks)
G20 G17 G40 G49 G80 G90

(Tool Change Routine)
T15 M6

(Position Axis over the work)
G0 G54 G90 X1.5 Y2.125 S1500 M03;

(Apply Tool length offset at retract height, Turn on Coolant)
G0 G43 H15 Z2.0 M8

(Rapid tool to Safe Clearance height)
G0 Z1.0

(Activate Canned Cycle and drill the fist hole)
G81 G99 X1.5 Y2.125 Z-0.5 R0.1 F12.0

(drill subsequent holes)
X1.75 Y2.5
G98 X2.5 Y3.0 (Retract to Clearance height to avoid clamp after THIS hole)
G99 X3.5 Y3.0 (Switch back to retracting to R-value)

(Cancel Canned Cycle)

(Retract to Clearance height, turn coolant off)
G0 Z2.0 M09

(Turn Spindle Off, Retract to TC height)
G0 G91 G28 Z0 M05

(End Program)


Canned Cycles Format

G-Code Name Format Standard Example
G81 Standard Drilling

G81 X Y Z R F [K or L]

  • X , Y - Location of the first hole
  • Z - Absolute or relative depth of the hole (depending on your control)
  • R - Retract Height
  • F - Feed Rate
  • [K or L] - Number Repeats

G81 X1.5 Y1.0 Z-0.5 R0.1 F15.0
X2.0 Y1.5 (subsequent hole 1)
X2.5 Y2.1 (subsequent hole 2)

G83 Deep Hole Peck Drilling

G83 X Y Z R Q F [K or L]

  • X , Y - Location of the first hole
  • Z - Absolute or relative depth of the hole (depending on your control)
  • R - Retract Height
  • Q - Peck Depth
  • F - Feed Rate
  • [K or L] - Number Repeats
G83 X1.5 Y1.0 Z-0.5 R0.1 Q0.25 F15.0
X2.0 Y1.5 (subsequent hole 1)
X2.5 Y2.1 (subsequent hole 2)
G84 Right Hand Tapping

G84 X Y Z R F [K or L]

  • X , Y - Location of the first hole
  • Z - Absolute or relative depth of the hole (depending on your control)
  • R - Retract Height
  • F - Feed Rate (Usually in Inches per Revolution,depending on your control)
  • [K or L] - Number Repeats
G84 X1.5 Y1.0 Z-0.5 R0.1 F0.049
X2.0 Y1.5 (subsequent hole 1)
X2.5 Y2.1 (subsequent hole 2)
G85 Reaming/Boring

G85 X Y Z R F [K or L]

  • X , Y - Location of the first hole
  • Z - Absolute or relative depth of the hole (depending on your control)
  • R - Retract Height
  • F - Feed Rate
  • [K or L] - Number Repeats
G85 X1.5 Y1.0 Z-0.5 R0.1 F15.0
X2.0 Y1.5 (subsequent hole 1)
X2.5 Y2.1 (subsequent hole 2)

As already noted above each control will handle these cycles a little differently.
So be careful!

HSMAdvisor. Try It Again!

September 20, 2015, 11:02 am by Eldar Gerfanov (Admin)

The latest update of HSMAdvisor Advanced Speed and Feed Calculator resets trial clock for all users.

So if you tried it before and were not sure if this is for you, you can use it again absolutely for free for another 30 days.

As usual you can download the latest release over here ->

HSMAdvisor Cutomer satisfaction survey

September 13, 2015, 8:35 pm by Eldar Gerfanov (Admin)

Please help us make HSMAdvisor a better software product.

Tell me if we are heading in the right direction.


Pages:(35) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [16] 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
Sing In

© 2009-2022 Eldar Gerfanov. All Rights Reserved.
© 2009 Eldar Gerfanov. Materials on this site are presented as is and are mostly for educational use.

You may freely reproduce information presented herein without any consent from me, provided you include link to this site.
In case when i am not the copyright holder, you may want to contact proper owner of material. Anyway, they are freely available on the Internet.
If you hold the copyright right for any of the materials on this site and want them removed, please contact me here