Hurco winmax Owner's manual

January 2018 v546NC
WINMAX LATHE
NC PROGRAMMING

ii - WinMax Lathe NC Programming v546NC WinMax Lathe NC Programming
The information in this document is subject to change without notice and does not
represent a commitment on the part of Hurco Companies, Inc. (Hurco). The software
described in this document is furnished under the License Agreement to customers. It is
against the law to copy the software on any medium except as specifically allowed in the
license agreement. The purchaser may make copies of the software for backup purposes.
Hurco Manufacturing Company reserves the right to incorporate any modification or
improvements in machines and machine specifications which it considers necessary, and
does not assume any obligation to make any said changes in machines or equipment
previously sold.
Hurco products and services are subject to Hurco’s then current prices, terms, and
conditions, which are subject to change without notice.
© 2018 Hurco Companies, Inc. All rights reserved.
Patents:U.S. Patents B14,477,754; 5,453,933; Canadian Patent 1,102,434; Japanese
Patents 1,649,006 and 1,375,124; other Patents pending.
Hurco, Max, Ultimax, and WinMax are Registered Trademarks of Hurco Companies, Inc.
AutoCAD, Autodesk, and DXF are registered trademarks of Autodesk, Inc.
MS-DOS, Microsoft, and Windows are registered trademarks of Microsoft Corporation.
Many of the designations used by manufacturers and sellers to distinguish their products
are claimed as trademarks. Hurco has listed here all trademarks of which it is aware. For
more information about Hurco products and services, contact:
Hurco Companies, Inc.
One Technology Way
P.O. Box 68180
Indianapolis, IN 46268-0180
For Hurco subsidiary contact information, go to Hurco’s Web site:
www.hurco.com

WinMax Lathe NC Programming v546NC Table of Contents — iii
TABLE OF CONTENTS
WinMax Lathe NC Programming
Documentation Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . - ix
Programming and Operation Information . . . . . . . . . . . . . . . . . . . . . . . . . . . - xii
Using the On-screen Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . - xii
Printing the Programming Manuals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 1
NC Part Program Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 2
Program Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 2
Sequence Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 3
Address Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 3
Special Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 5
Words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 5
Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 5
Block Skip Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 6
Off-line Part Program Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 7
Block Code Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 7
Block Data Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 9
Default M and G Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 10
Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 10
NC Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 11
Starting a New NC Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 13
NC Programming Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 13
Program Editing Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 15
Program Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 16
NC Editor Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 17
Basic Programming Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 17
Jump and Search Functions Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 18
Search Submenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 19
Edit Functions Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 20
Renumbering and Tagging Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 22
Block Renumbering Submenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 23
NC Tag List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 24
Program Execution Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 25
NC Editor Settings Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 26
NC Editor Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 27
Importing and Exporting M Code Data . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 28
ISNC G Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 1
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 3
G Code Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 3
G Code Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 3
G00 - Rapid Traverse (default) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 6
G01 - Linear Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 7
G02/G03 - Clockwise/Counterclockwise Arc . . . . . . . . . . . . . . . . . . . . . . . 2 - 8
Program Arc with Endpoint and Center Coordinates . . . . . . . . . . . . . . . 2 - 9
Program Arc with Endpoint and Radius . . . . . . . . . . . . . . . . . . . . . . . . 2 - 11
G04 - Dwell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 12

iv - Table of Contents v546NC WinMax Lathe NC Programming
G06 - Probe/Block Skip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 12
G07 - Radius Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 13
Programming Display Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 14
G08 - Diameter Programming (default) . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 14
Programming Display Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 15
G09 - Exact Stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 15
G10 - Data Setting (Work Offsets, Tool Offsets, or Tool Geometry) . . . . . . .2 - 16
Work Offsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 16
Tool Offset or Tool Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 16
G11 - Data Setting Cancel (default) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 17
G17 - XY Plane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 17
G18 - XZ Plane (default) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 19
G19 - YZ Plane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 20
G20 - Inch Mode (default) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 21
Unit Display Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 21
G21 - Millimeter Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 22
Unit Display Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 22
G28 - Automatic Return to Reference Point . . . . . . . . . . . . . . . . . . . . . . . .2 - 23
G32 - Constant Lead Thread Cutting . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 24
G33 - Threading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 26
Cutter Compensation (G40–G42) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 28
G40 - Cutter Radius Compensation Off (default) . . . . . . . . . . . . . . . . . . . . .2 - 29
G41 - Cutter Radius Compensation Left . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 29
G42 - Cutter Radius Compensation Right . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 30
G50 - Set Part Setup or Set Max RPM . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 32
Set Part Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 32
Set Max RPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 32
G53 - Machine Coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 33
G54-G59 - Work Coordinates (G54 default) . . . . . . . . . . . . . . . . . . . . . . . .2 - 34
G54.1 - G54.93 - Aux Work Coordinates . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 36
G61 - Precision Cornering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 36
G64 - Precision Cornering Cancel (default) . . . . . . . . . . . . . . . . . . . . . . . .2 - 37
G65 - Subprogram Call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 37
Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 37
Multiple Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 37
Passing Argument Lists to Subprograms in Macro Mode B . . . . . . . . . . .2 - 38
Layering of Local Variables within Subprogram Calls . . . . . . . . . . . . . . .2 - 38
Specifying Subprogram Iterations . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 39
Using G65 and G66 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 39
Using M98 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 39
Macro Instruction (G65) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 41
G66 - Modal Subprogram Call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 44
G67 - Modal Subprogram Call Cancel (default) . . . . . . . . . . . . . . . . . . . . . .2 - 45
G70 - Finishing Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 46
G71 - Stock Removal in Turning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 48
Sign of U and W . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 48
G72 - Stock Removal in Facing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 51
G73 - Pattern Repeating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 54
G74 - End Face Peck Drilling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 56
G75 - Outer Diameter/Inner Diameter Drilling . . . . . . . . . . . . . . . . . . . . . .2 - 58
G76 - Multiple Threading Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 60
G77 - Outer Diameter/Inner Diameter Cutting Cycle . . . . . . . . . . . . . . . . . .2 - 62
Sign of U and R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 62
G78 - Threading Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 - 64

WinMax Lathe NC Programming v546NC Table of Contents — v
G79 - Stock Removal in Facing Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 65
G80 - Canned Cycle Cancel (default) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 66
G81 - Drill Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 67
G82 - Drill Cycle with Dwell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 68
G83 - Face Drilling with Pecks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 70
G83.1 - Chip Breaker Peck Drilling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 72
G84 - Face CW Tapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 73
G84.2 (or G84 M29) - Rigid CW Tapping . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 75
G85 - Boring Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 76
G86 - Bore Rapid Out Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 78
G87 - Side Drilling with Pecks/Dwell . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 80
G88 - Side CW Tapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 81
G89 - Side Boring Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 82
G90 - Absolute Programming (default) . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 83
G91 - Incremental Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 85
G92 - Work Coordinate Offsets / Spindle Max Speed / Multiple Thread Cutting Cycle 2
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Work Coordinate Offsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 87
Spindle Max Speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 87
Multiple Thread Cutting Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 88
G93 - Inverse Time Feedrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 89
G94 - Feed per Minute (default) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 90
G95 - Feed per Revolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 90
G96 - Constant Surface Speed (CSS) . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 91
G97 - Direct Spindle Speed (default) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 91
G98 - Return to Initial Level (default) . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 92
G99 - Return to R Point Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 93
G101 - Axial Surface of the Part -
Main Spindle without Linear Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 93
G102 - Radial Surface of the Part –
Main Spindle without Linear Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 94
G103 - Axial Surface of the Part –
Main Spindle with Linear Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 96
G104 - Radial Surface of the Part –
Main Spindle with Linear Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 97
G105 - Axial Surface of the Part –
Sub-spindle without Linear Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 98
G106 - Radial Surface of the Part –
Sub-spindle without Linear Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 99
G107 - Axial Surface of the Part –
Sub-spindle with Linear Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 100
G108 - Radial Surface of the Part –
Sub-spindle with Linear Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 101
G109 - Turning / Lathe Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 102
G152 - Move the W-axis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 104
ISNC M Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 1
ISNC M Code Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 2
M Code Translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 2
Setting up M Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 2
ISNC M Code Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 4
ISNC M Code Translation List - Page 1 . . . . . . . . . . . . . . . . . . . . . . 3 - 4
ISNC M Code Translation List - Page 2 . . . . . . . . . . . . . . . . . . . . . . 3 - 5
ISNC M Code Translation List - Page 3 . . . . . . . . . . . . . . . . . . . . . . 3 - 6
ISNC M Code Translation List - Page 4 . . . . . . . . . . . . . . . . . . . . . . 3 - 7

vi - Table of Contents v546NC WinMax Lathe NC Programming
ISNC M Code Translation List - Page 1 . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 8
Program Stop (ISNC M0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 8
Optional Stop (ISNC M1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 8
Main Spindle CW (ISNC M3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 8
Main Spindle CCW (ISNC M4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 8
Main Spindle Stop (ISNC M5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 8
Live Tool CW (ISNC M33) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 9
Live Tool CCW (ISNC M34) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 9
Live Tool Stop (ISNC M35) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 9
Sub-spindle CW (ISNC M103) . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 10
Sub-spindle CCW (ISNC M104) . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 10
Sub-spindle Stop (ISNC M105) . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 10
Secondary Coolant (ISNC M7) . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 10
Primary Coolant On (ISNC M8) . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 10
Coolant Off (ISNC M9) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 10
Chuck Pressure High (ISNC M67) . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 10
Chuck Pressure Low (ISNC M66) . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 11
Turret Index Reverse (ISNC M12) . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 11
Turret Index Forward (ISNC M13) . . . . . . . . . . . . . . . . . . . . . . . . .3 - 11
Chuck Open (ISNC M69) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 11
Chuck Close (ISNC M68) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 11
Main Spindle Orient (ISNC M19) . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 11
Chuck Open for Bar (ISNC M20) . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 11
Chuck Close for Bar (ISNC M21) . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 11
Start Bar Feeder (ISNC M22) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 11
ISNC M Code Translation List - Page 2 . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 12
Start Bar with Z (ISNC M23) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 12
Part Conveyor On (ISNC M110) . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 12
Part Conveyor Off (ISNC M111) . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 12
Tailstock Quill Adv (ISNC M78) . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 12
Tailstock Quill Retr (ISNC M79) . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 12
End of Program (ISNC M30) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 12
Incr Cycle Count (ISNC M31) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 12
Incr Setup Cycle (ISNC M32) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 12
Feedrate Override (ISNC M48) . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 12
Ignore Feed Override (ISNC M49) . . . . . . . . . . . . . . . . . . . . . . . . .3 - 12
Conveyor On (ISNC M24) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 12
Conveyor Off (ISNC M25) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 13
Part Catcher w/Eject (ISNC M57) . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 13
Part Catcher Advance (ISNC M58) . . . . . . . . . . . . . . . . . . . . . . . . .3 - 13
Part Catcher Retract (ISNC M59) . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 13
Sel External Chuck (ISNC M60) . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 13
Sel Internal Chuck (ISNC M61) . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 13
Tool Setter Retract (ISNC M71) . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 14
Tool Setter Adv (ISNC M72) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 14
Auto Door Open (ISNC M85) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 14
Auto Door Close (ISNC M86) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 14
Single Block Off (ISNC M91) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 14
Single Block On (ISNC M92) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 14
Sub-spindle Chuck Open (ISNC M168) . . . . . . . . . . . . . . . . . . . . . .3 - 14
ISNC M Code Translation List - Page 3 . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 14
Sub-spindle Chuck Close (ISNC M169) . . . . . . . . . . . . . . . . . . . . . .3 - 14
Turning Mode (ISNC M130) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 14
Milling Mode (ISNC M131) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 14
C Axis Clamp (ISNC M41) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 - 14

WinMax Lathe NC Programming v546NC Table of Contents — vii
C Axis Hold (ISNC M133) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 14
C Axis Unclamp (ISNC M40) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 14
Sub-spndl Ext Chuck (ISNC M160) . . . . . . . . . . . . . . . . . . . . . . . . 3 - 15
Sub-spndl Int Chuck (ISNC M161) . . . . . . . . . . . . . . . . . . . . . . . . 3 - 15
W Torque Mon On (ISNC M186) . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 15
W Torque Mon Off (ISNC M187) . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 15
Block Skip Sync (ISNC M200) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 15
Sync Spindles Forward (ISNC M203) . . . . . . . . . . . . . . . . . . . . . . . 3 - 15
Sync Spindles Reverse (ISNC M204) . . . . . . . . . . . . . . . . . . . . . . . 3 - 15
Clear Spindle Sync (ISNC M205) . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 16
Bypass Chuck Intlk (ISNC M231) . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 16
C3 Axis Clamp (ISNC M232) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 16
C3 Axis Unclamp (ISNC M234) . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 16
Spindle CW/Coolant On (ISNC M63) . . . . . . . . . . . . . . . . . . . . . . . 3 - 16
Spindle CCW/Coolant Off (ISNC M64) . . . . . . . . . . . . . . . . . . . . . . 3 - 16
Spindle Off/Coolant Off (ISNC M65) . . . . . . . . . . . . . . . . . . . . . . . 3 - 17
Sub-Spdl CW/CLNT On (ISNC M163) . . . . . . . . . . . . . . . . . . . . . . . 3 - 17
Sub-Spdl CCW/CLNT Off (ISNC M164) . . . . . . . . . . . . . . . . . . . . . . 3 - 17
Sub-Spdl Off/CLNT Off (ISNC M165) . . . . . . . . . . . . . . . . . . . . . . . 3 - 17
Rigid Tap (ISNC M29) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 18
ISNC M Code Translation List - Page 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 18
Auxiliary Output 1 On (ISNC M52) . . . . . . . . . . . . . . . . . . . . . . . . 3 - 18
Auxiliary Output 2 On (ISNC M53) . . . . . . . . . . . . . . . . . . . . . . . . 3 - 18
Auxiliary Output 3 On (ISNC M54) . . . . . . . . . . . . . . . . . . . . . . . . 3 - 18
Auxiliary Output 4 On (ISNC M55) . . . . . . . . . . . . . . . . . . . . . . . . 3 - 18
Auxiliary Output 1 Off (ISNC M152) . . . . . . . . . . . . . . . . . . . . . . . 3 - 18
Auxiliary Output 2 Off (ISNC M153) . . . . . . . . . . . . . . . . . . . . . . . 3 - 18
Auxiliary Output 3 Off (ISNC M154) . . . . . . . . . . . . . . . . . . . . . . . 3 - 18
Auxiliary Output 4 Off (ISNC M155) . . . . . . . . . . . . . . . . . . . . . . . 3 - 18
Chuck Air On (ISNC M16) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 18
Chuck Air Off (ISNC M17) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 18
Set Max Rapid (ISNC M94) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 19
Part Transfer Sub-spindle (ISNC 241) . . . . . . . . . . . . . . . . . . . . . . 3 - 19
End of Program (no rewind) (ISNC M2) . . . . . . . . . . . . . . . . . . . . . 3 - 19
Steady Rest Clamp (ISNC M38) . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 19
Steady Rest Unclamp (ISNC M39) . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 20
Spindle Gear 1 (ISNC M41) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 20
Spindle Gear 2 (ISNC M42) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 20
Z-axis Tailstock Hitch (ISNC M128) . . . . . . . . . . . . . . . . . . . . . . . . 3 - 20
Z-axis Tailstock Unhitch (ISNC M129) . . . . . . . . . . . . . . . . . . . . . . 3 - 20
T Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 1
Tool Change Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 1
Tool Offsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 2
Record of Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V

viii - Table of Contents v546NC WinMax Lathe NC Programming

WinMax Lathe NC Programming v546NC Documentation Conventions — ix
DOCUMENTATION CONVENTIONS
This documentation uses several conventions to explain the safety features and
emphasize key concepts. These conventions are described in this section.
Sample Screens
Sample screens in this documentation were taken from a WinMax single-screen control.
All screens are subject to change. The screens on your system may vary slightly.
Softkeys
Softkeys are located on the side of the screen. You can set the softkeys to appear on
either the right or left side of the screen. Refer to the Getting Started with WinMax for
information about making this selection. Softkeys may change upon field entries or other
softkey selection. References to softkeys in the documentation appear with the softkey’s
corresponding F-key. For example, the Part Setup softkey from the Input screen is
referenced as the PART SETUP F1 softkey.
Screen Areas
The screens are divided into the following areas, in addition to the row of softkeys:
Data Entry
The data entry area is located on the opposite side of the screen from the softkeys.
Available softkeys may change even when the text and data entry area does not.
Fields in the data entry area display or receive information. Refer to Using the
Touchscreen for information on entering information in fields.
Prompts and Error/Status Area
The bottom portion of the screen is reserved for prompts, program status and error
messages.
Prompts provide help on data entry selections based on the field with the blinking cursor.
Errors and status messages occur anytime the status or error occurs. They are not based
on the field with the blinking cursor. These messages provide machine information to the
operator.
Error messages may also stop and/or prevent machine operation until the cause of the
error is corrected.
Status Bar
The status bar contains

x - Documentation Conventions v546NC WinMax Lathe NC Programming
• The name of the open, selected program.
• A calculator icon—select the icon to display a working, on-screen calculator.
• Units of measure (Inch or Millimeters)—select the units of measure in the
status bar to toggle between Inch and Metric.
• Programming mode (R for Radius; D for Diameter)—select the programming
mode in the status bar to toggle between Radius and Diameter.
• A yellow icon—indicates the feed hold is on when visible.
• A red icon—indicates the Emergency Stop button has been pressed when
visible.
• A keyboard icon—select the icon to display a working on-screen keyboard.
• The current time.
When viewed on a single-screen console, all icons appear in the same status bar; when
viewed on a dual-screen console, the program name and calculator icon appear on the
left screen status bar, and the unit of measure, keyboard icon and time appear on the
right screen status bar.
Console Buttons and Keys
References to console buttons and keys appear in bold text throughout the
documentation. For example, the Start Cycle button appears as the Start Cycle button
and the Manual key appears as the Manual console key in text.
Refer to the Getting Started with WinMax manual for information about console buttons
and keys, in addition to other information about using softkeys and the pop-up text entry
window.
Using the Touchscreen
The console has a touchscreen for entering programming data. To make a selection, tap
the screen on a softkey, field, or drop-down list using the stylus attached to the side of
the console or another suitable pointing device.
Icons
This manual may contain the following icons:
Caution/Warning
The operator may be injured and/or the machine severely damaged if the
described procedure is not followed.

WinMax Lathe NC Programming v546NC Documentation Conventions — xi
Important
Troubleshooting
Hints and Tricks
Where can we go from here?
Ensures proper operation of the machine and control.
?Steps that can be taken to solve potential problems.
Useful suggestions that show creative uses of the WinMax features.
Lists several possible options the operator can take.

xii - Programming and Operation Information v546NC WinMax Lathe NC Programming
PROGRAMMING AND OPERATION
INFORMATION
Hurco provides documentation for using WinMax software on a control or desktop in two
formats: on-screen Help and PDF. The information contained in both formats is identical.
On-screen Help contains information about the current screen. If Help is not available for
a screen, a Welcome screen appears with access to the Table of Contents, Index, or
Search functions.
• To view the on-screen Help directly on a Hurco control, select the Help
console key.
• To view the on-screen Help on the desktop software, select the Help icon in
the menu bar.
PDF files are available on the hard drive. These files can be copied from the hard drive to
a USB memory device and transferred to a PC for viewing and printing.
Using the On-screen Help
On-screen Help provides information about using WinMax. The Help is context-sensitive
to the screen level. Press the console Help button to display the Help topic for the current
screen. The following list describes Help functions:
• Buttons in the upper left-hand corner of the Help screen are used to move
through Help topics and print screens.
•UsetheHide button to hide the navigation pane.
•UsetheBack button to return to the previous Help screen.
•UsethePrint button to print the current displayed Help topic, if a printer
is attached and configured. See Printing the Programming Manuals, on
page - xiii for more information about printing.
• Use the arrow buttons to move between pages within a Help topic and to
move through topics.
•UsetheContents tab for a list of information sorted by subject:
1. Select the “+” to expand the topic and view sub-topics.
2. Select the topic to display it.
•UsetheIndex tab to show the Help index:
1. Quickly scroll to an index topic by typing the topic in the box at the top of
the index.
2. Select a topic and the Display button to view the topic.

WinMax Lathe NC Programming v546NC Programming and Operation Information -xiii
•UsetheSearch tab to search the Help for a word or phrase:
1. Type the search word(s) into the text box at the top of the pane.
2. Select the List Topics button. A list of topics that contain the search
word(s) is displayed.
3. Select a topic and the Display button to view that topic.
•UsetheFavorites tab to save Help topics for quick access:
1. Select the Add button at the bottom of the pane to add the current topic.
2. Select a topic from the Favorites list, and select the Display button to view
it.
• Select a topic from the Favorites list, and select the Remove button to
remove it from the list.
Printing the Programming Manuals
The WinMax On-screen Help is also provided in PDF format for easy printing. The
information contained in the PDF files is identical to the on-screen Help. The PDF files
may be copied to a floppy disk or USB memory device to be transferred to a PC for
printing. Here are the steps to access the PDF files:
1. From the Input screen, select the PROJECT MANAGER F8 softkey.
2. Select the FILE MANAGER F7 softkey.
3. In the left-hand pane, navigate through the folders:
• For WinMax Lathe on a machine, the path is D:\Hurco\Hurco Lathe\hlp.
• For WinMax Desktop on a PC, the path is C:\Program Files\Hurco\Hurco
Lathe\hlp.
The PDF files will appear in the right-hand pane.
4. Highlight the PDF file(s) in the right-hand pane, and select the COPY F2
softkey.
5. Ensure that your media is loaded (either a floppy disk in the disk drive or a
USB memory device in the USB port), and navigate to the proper location in
the left-hand pane of the DISK OPERATIONS screen (either the floppy drive A:
or the USB port E:). Highlight the desired location.
6. Place the cursor in the right-hand pane and select the PASTE F3 softkey to
paste the PDF file(s) to the desired location.
You may now remove your media and load the PDF file(s) onto a PC for printing.
The SHOW ALL FILE TYPES field in User Interface Settings must be
set to YES (default is NO) in order to see the PDF files in the
directory. Access the SHOW ALL FILE TYPES field in Auxiliary Mode,
Utilities/ User Preferences/ User Interface Settings.

xiv - Programming and Operation Information v546NC WinMax Lathe NC Programming

WinMax Lathe NC Programming v546NC Overview 1-1
OVERVIEW
This documentation describes the BNC (Basic Numerical Control) and ISNC (Industry
Standard Numerical Control) Part Programming Editor portion of the CNC software as it is
used on the machine tool console.
NC programming is designed to use as much of the Conversational system as possible. As
a result, the screen layout is the same in both the NC and the Conversational systems.
This allows a smooth transition between the two editors.
The primary difference between Conversational and NC programming is the program
editors. The NC programming uses standard G and M codes; whereas, Conversational
programming uses a supported programming language, such as plain English.
NC part programs can be created using the CNC on the machine tool or off-line CNC
programming software running on a personal computer. NC programs cannot be
converted to Conversational programs, nor can NC programs be converted automatically
to any other NC format.
Please refer to Getting Started with WinMax Lathe, NC Settings, on page 2 - 17 for
information about default NC Settings.
NC Part Program Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 2
Off-line Part Program Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 7
Default M and G Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 10
Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 10
NC Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 11
Starting a New NC Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 13
Program Editing Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 15
NC Editor Menus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 17
Importing and Exporting M Code Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 28
The CNC software can read NC files from the serial port directly into
dynamic memory. NC files can be serially loaded to the hard disk.

1 - 2 Overview v546NC WinMax Lathe NC Programming
NC Part Program Components
NC programs are a series of characters and words that form program blocks. These
program blocks tell the machine tool how and where to move. The operator needs to
understand the basic program structure and the types of codes in order to create, edit,
and run a program successfully.
Program Start
All NC programs begin with a “%” (percent) character. When a percent character is
received, the control starts to accept, check, and load blocks into its memory. If you are
creating a new part program at the control, the percent character is automatically
inserted at the beginning of the program Address Characters
In the following sample screen, the S [% indicates the beginning of the program and the
E] % line indicates the end of the program. Both characters appear automatically when
beginning a new NC program.
Figure 1–1. NC Editor Screen

WinMax Lathe NC Programming v546NC Overview 1-3
Sequence Number
A sequence number serves as a block label; it has no other significance within the part
program except being required with GOTOs in the NCPP option and the M99 jump
command. Sequence numbers are often used to mark the beginning of milling sequences
so you can restart at a given sequence number or recall specific operations within the
program. The maximum sequence number is 9999999.
When programming on an off-line system, sequence numbers should be used sparingly.
Sequence numbers (N words) are optional in the NC Editor, and they are useful in
programs sent over the RS-232 link. However, the absence of sequence numbers permits
faster processing (loading, syntax checking, and parsing) of the part program and can
result in improved part program execution. In addition, omission of these numbers
increases the amount of the program that can fit into memory.
Address Characters
An address character is the first character of a word in a program block. The following is a
list of the address characters recognized by this system:
If you request renumbering of part program sequence numbers, any
sequence numbers in GOTO statements will not be updated. In
general, you will not want to renumber part programs that use GOTO
statements. Refer to Renumbering and Tagging Menu, on page 1 -
22 for renumbering information.
/Block Skip Command. Specify blocks of code that are skipped when this control
feature is enabled. The specified block, or portion of a block, begins with a “/”
(forward slash). Refer to Block Skip Code, on page 1 - 6 for more information about
Block Skip.
( ) Comment Command. Comment statements provide information about the part
program.You can insert comment statements at the end of any part program
block by enclosing the comment within parentheses. You may make an entire
block of code a comment statement by enclosing it within parentheses.The
Comment Command characters are used to delimit comments.
FFeedrate. Sets the modal feedrate for cutting moves.
Pitch. Sets the pitch for threading.
GPreparatory Functions. G codes have two basic functions:
• specify a modal condition. For example, G20 establishes Inch mode, G21
establishes Millimeter mode, G90 establishes Absolute mode and G91
establishes Incremental mode. Programming G20 Inch mode and G90
Absolute mode in the first block of a part program tells the control to remain
in inch mode until G21 Millimeter mode is programmed, and to remain in
Absolute mode until G91 Incremental mode is programmed.
• specify the type of tool motion (example: G00 programs a rapid move, G01
programs a linear feed move, G02 and G03 program circular moves).
IX-axis Center/Offset coordinate for programming geometric information needed
to determine the endpont of a motion command.
KZ-axis Center/Offset coordinate for programming geometric information needed
to determine the endpoint of a motion command.

1 - 4 Overview v546NC WinMax Lathe NC Programming
Address Characters (continued)
MMiscellaneous Functions. M Codes perform miscellaneous functions such as
turning on the spindle, turning on coolant, specifying a program stop, or
specifying an end of program.
NSequence Number. Each block may contain a nine-digit integer N Number. N
Numbers are not required; however, programmers can use them as sequence
numbers to order the part program. It is not required for the numbers to appear
in order within the part program.
PThread Angle. Starting thread angle for threading, G33 with P Value.
RRadius Programming. Generally used for programming the Radius.
Can also be used with G73, Pattern Repeating for programming the number of
repetitions.
Can also be used with G74 G75 for programming the retract distance.
See G Code descriptions for parameter definitions.
SSpindle Speed Function. Sets the spindle speed for two-axis machines (TM and
TMX).
If using the S command on machines with multiple spindles (including live-tooling),
the S command refers to ALL spindles.
• S:M19 orients all spindles on a multiple spindle machine.
• S1:M19 orients only the main spindle.
• S:S2000 ramps multiple spindles to 2000 RPM.
• S1:S2000 commands only the main spindle.
S1 Spindle Speed Function. Sets the spindle speed for main spindle for live-tooling
machines. Please refer to the Saddress character definition above for examples.
S2 Spindle Speed Function. Sets the spindle speed for live-tooling spindle 2. Please
refer to the Saddress character definition above for examples.
S3 Spindle Speed Function. Sets the spindle speed for sub-spindle. Please refer to
the Saddress character definition above for examples.
TTool Select. Identifies the active tool and activates the offsets for the tool.
XPrimary X Motion Dimension, Dwell Time coordinate for programming
geometric information needed to determine the endpoint of a motion command.
ZPrimary Z Motion Dimension coordinate for programming geometric
information needed to determine the endpoint of a motion command.
CPrimary C Motion Dimension coordinate for programming geometric information
needed to determine the endpoint of a motion command.This code is used for Live
Tooling only.
WPrimary W Motion Dimension coordinate for programming geometric information
needed to determine the endpoint of a motion command.
YPrimary Y Motion Dimension coordinate for programming geometric information
needed to determine the endpoint of a motion command.
Table 1–1. Address Characters

WinMax Lathe NC Programming v546NC Overview 1-5
Special Characters
Special characters are ASCII characters within a file which have special meaning to the
system and cannot be edited. The following special characters are recognized by the NC
software:
•%(Beginning/End of tape)—signals the system that all of the following
characters are part of the program. The system automatically adds this
character to the beginning of a new program. You can also include the %
character to signal the End of Tape.
•E. of tape (EOT) (optional)—signals the NC system that no more legal
program characters follow. This character is optional to provide compatibility
with existing programs that include EOT characters at the end.
•[CR] (Carriage Return)—signals the End of a Program Block.
•[CRLF] (Carriage Return/Line Feed Pair)—signals the End of a Program
Block (identical to [CR]).
Words
A word is a group of alphanumeric characters. The first character of a word is an address
character—a letter such as M or G. The address character is followed by a signed or
unsigned numeric value. Some sample NC words are “X-.03” and “G00.” One word or
group of words form a program block.
Block
A block is a group of words terminated by the end-of-block character. Each block within a
part program must be terminated with either a carriage return [CR] or a carriage return
line feed [CRLF].
When changing the cutting type (for example, hole drilling or profile turning) for a data
block, a different data block must be created to describe the new cutting type. When a
different tool is needed in a program, a new data block must be created to describe the
actions of that tool.
[CRLF] is not shown when the program is viewed in the NC Editor.

1 - 6 Overview v546NC WinMax Lathe NC Programming
The following illustration shows a typical NC block and its components:
Figure 1–2. Typical NC Block
Block Skip Code
Block Skip will skip specified blocks of code when turned on. To skip a block of code, place
a slash (/) at the front of the block.
N120 G00 Z4 (rapid to Z)
/N125 G42 (cutter compensation right, skip if block skip on)
Please refer to NC Editor Settings Menu, on page 1 - 26 for information about enabling
the Block Skip state.
The program processes blocks before they appear on the screen. If you change block skip
mode while a part program is running, the control may have already processed blocks
marked to be skipped. The control will not go back and reprocess these blocks.
1Word
2Address character
3Numeric indicator
4Feedrate word
5Sequence number
6Modal preparatory functions
7One-shot preparatory functions
8Dimension words
9Miscellaneous function
When programming with M200, program BNC M200 - Block Skip
Synchronization or ISNC Block Skip Sync (ISNC M200) so it can be
activated when the tool is off the part. Using this code when in a
cutting mode may cause the tool to leave dwell marks.
Other manuals for winmax
3
Table of contents
Other Hurco Lathe manuals