First off, I'm Bill, from Lewisburg, TN and it's nice to meet you. I have recently been being required to add engraving (Company logo, part name & part number) to many of our accessory parts on our HAAS VF-3's and VF-6. I contacted HAAS to see if they had a table of 'width factors' for each character (to be able to see exactly how long the engraving would be so it could be programmed off-line). Sadly, they said they did not.
I looked into it and discovered the G47 routine is scaling 1" high characters. I used the routine to graph, individually, characters A-Z, a-z, 0-9, #, -, space, " (quotes, as in 6.5"), and a period (.). I documented the amount of X travel for each character, then developed a Windows Application so we can enter the text to be engraved, and either a height of the engraving (to calculate the length it will be) or the length you want it to be (to calculate the character height needed to fill that length).
In our particular application, we engrave the company logo and part description on the flat area of wrench-flats milled on cylindrical parts, and we also engrave the part number on the circumference of the O.D. The application I developed has inputs for the text to engrave, inputs for the part diameter and the distance across flats (specified on our part prints) and inputs for either the character height or the length you want the engraving to be. It uses the part diameter and distance across flats to compute and display the width you have to work with. If you change the character height, the length your engraving will be is updated. If you change the engraving length, the height of the characters needed to fill this length is updated. In both cases, if you have entered a Part Diameter, my application displays the total amount of angular rotation (in degrees ) that your engraving will require if you are engraving on the circumference of a cylindrical part (using G107 - cylindrical mapping on an A-Axis). It makes it much easier/quicker to center the circumferential engraving on the wrench flats.
I also have an application that generates to entire Fanuc-compatible G-code for milling the wrench flats. You input the Part Diameter, Distance Across Flats, Number Of Flats (2 or 4), the Tool Number to use, the Cutter Diameter, X-Position #1, X-Position #2 (if a step-over is needed), the Spindle Speed to use (my app recommends an RPM based on 650 SFM for the cutter diameter you entered), the Number Of Edges on your cutter and the Feed Per Edge desired, the Depth Of Cut to use and the Work Offset (G54-G59). My app then generates the complete, ready to run, G-Code program for your Fanuc-compatible mill. It even includes a Chamfer Tool (we use an Ingersol 45-degree-angle spot-drill) to chamfer the edges of the flat so you don't have to file them.
The guys at work think I'm some kinda damn Guru, but I'm not. My dad worked with computers and I grew up around them (I'm 55, will be 56 03/31/2014). I work nights, and when my wife's gone to bed when/soon after I get home I entertain myself developing PC programs. I also have small programs that solve right-angles (given 2 sides, or one side and one angle), one that computes Tool Nose Radius Compensation, one that computes material weight, for many different types of material in many different shapes, using ANSI density values for each material .
If anyone is interested in any/all of these applications, I would be happy to send you a copy. I assure you this offer is 'straight-up', these apps are used by myself and several of my co-workers on both shifts. They were developed by me, on my own time, and the company I work for has no claim to any of them. I don't do it for the money, I just enjoy using a computer to solve problems I want to solve and make work easier/more efficient, more accurate and less prone to human error. I'm happy to share the ones that have proven to be reliable, accurate and safe.
I'll check this thread for any takers, or you can reach me at [email protected].