In response to a recent discussion on IRC I wrote a patch that allows for FANUC-style handling of tool changes in lathe. I followed the tool change syntax that is outlined by Peter Smid ((CNC Programming Handbook. 3rd Ed., page 107):
"T01xx - selects the tool mounted in position one and activates geometry offset number one. Txx01 - selects the wear offset register number one. Examples: T0101 for turret station one, applies geometry offset one, applies wear offset one. T0111 for turret station one, applies geometry offset one, applies wear offset eleven. The first pair of numbers is always the tool station number and geometry offset, the second pair is the wear offset register. For gang tooling, the tool station is irrelevant. For ATC, the T call must also perform a tool change request." With this patch a Txxyy command changes tools, applies the geometry offsets for tool xx, and applies the wear offsets for tool yy. Txx just changes tools and applies geometry offsets for tool xx. The patch is only being submitted for discussion - to be properly implemented it would require a fundamental change to the tool table (extra fields for x and z wear offsets.) For proof of concept I am "borrowing" the U and W fields in the tool table, something that wouldn't work for lathes with a motorized tailstock or second turret. I tried to implement this with minimal change to the code - default functionality is not affected. To try it out, add the line FEATURES = 64 to the RS274NGC section of your INI file (or modify your FEATURES mask if you're already using RS274NGC features, documented here: http://www.linuxcnc.org/docs/devel/html/remap/structure.html#_optional_interpreter_features_ini_file_configuration_a_id_sub_ini_features_a) To answer the question of why you would want to use this feature: 1. It's a more standard way of calling out tool changes in lathe g code - programs that ran on a FANUC-controlled lathe require fewer modifications to be compatible with LCNC. 2. It makes correcting for wear easier (no math on the part of the operator) 3. To hit tight tolerance with the same tool on more than one diameter - a different wear offset can be used for each diameter a. Example - diameter A is 2.000 -0. +0.003, diameter B is 3.000 -0.003 +0. Very hard to hit with the same tool AND wear offset. 4. So that the program can use a nominal dimension a. Example: the drawing uses unilateral tolerance of 3.000 +0.002 - 0.000. Instead of programming 3.001, you can program 3.0 and use a wear offset of 0.001. (reasons 3 and 4 compliments of Chris Lesiak). Thanks in advance for any input! Rogge
Add-LATHE_TOOLCHANGE-feature-to-RS274NGC-Features.patch
Description: Add-LATHE_TOOLCHANGE-feature-to-RS274NGC-Features.patch
------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________ Emc-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-developers
