Portland Community College | Portland, Oregon Portland Community College

CCOG for MCH 268 Winter 2022

View archive version »
Course Number:
MCH 268
Course Title:
CNC Programming-Mill
Credit Hours:
Lecture Hours:
Lecture/Lab Hours:
Lab Hours:

Course Description

Introduces basic programming skills used with Fanuc (G&M compatible) controlled CNC machining centers, specifically the CNC mill. This course is also offered as APR 268M; a student who enrolls in this course a second time under either designator will be subject to the course repeat policy. Prerequisites: (APR 100M or MCH 100), (APR 110M or MCH 110 or MCH 110B), (APR 160M or MCH 160), (APR 205M or MCH 205). Audit available.

Addendum to Course Description

Introduction to CNC (Computer Numerical Control) Fundamentals - In this module the student is introduced to CNC programming fundamentals such as: Measurement Fundamentals; Basic Principles of CNC Machining; Programming Systems; Programming Words; the Programming Process; Machines Using CNC; and the Advantages of CNC.   

Know Your Machine - In this module the student is introduced to CNC (Computer Numerical Control) concepts such as: Basic machining practice and tooling related to machining/turning centers; Machine configurations; General flow of the programming process; Understanding program zero and the rectangular coordinate system; Determining program zero assignment values and three ways to assign program zero and Introduction to programming words.

Preparation for CNC Programming - In this module the student is introduced to the preliminary concepts addressed prior to programming such as: Preparation and Safety; Development of the Needed Machining Operations; Performing the Required math; Establishing the Required Tooling; the Machine Setup; the Sequence of Operations; and the Setup Form.

Types of CNC Motion Commands - In this module the student is introduced to the types of motion commands such as: Interpolation; Rapid Motion; Straight Line Motion; Circular Motion; Limitations of Quadrant Lines; and Helical Motion.

Types of CNC Compensation - In this module the student is introduced to the types of compensation concepts such as: Compensation Uses; Tool Length Compensations; Cutter Radius Compensations; the Steps Necessary for Tool Length / Radius Compensation; Fixture Offsets; Dimensional Tool Offsets; and Tool Nose Radius Compensation.

CNC Program Formatting - In this module the student is introduced to CNC program formatting concepts such as: Reasons to Format Programs; the Four Types of Formatting; Formatting CNC Programs for Vertical & Horizontal Machining Centers; Rotary Tables and Indexers.

Special Features of CNC Programming - In this module the student is introduced to special features of CNC programming such as: Dwell Command; Mirror Image; Scaling; Coordinate Manipulation; Subroutine Programming; Parametric Programming; Helical Motion; Canned Cycles; and Multiple Repetitive Cycles.    

Intended Outcomes for the course

Upon completion of the course students should be able to

  • Understand and apply machine shop safety concepts and safety practices.

  • Understand fundamental CNC concepts and apply them to create simple programs for CNC machining centers.

  • Understand proper setup, order of operations, and coordinate systems to program CNC machines.

  • Demonstrate the basic machining practices and tooling related to machining/turning centers, including machine configurations, general flow of the programming process, determining program zero assignment values, the three ways to assign program zero and programming words used in machining.

  • Explain the program zero and the rectangular coordinate system.

  • Demonstrate and apply understanding of the following machine language/operations including interpolation, rapid motion, straight line motion, circular motion, helical motion and limitations of quadrant lines.

  • Demonstrate ability to use compensation for tool lengths, cutter radius, tool nose radius, fixture offsets, and dimensional tool offsets.

  • Understand and demonstrate different types of formatting.  

  • Understand and demonstrate different programs for CNC machine including, dwell command, mirror image, scaling, coordinate manipulation, subroutine programming, canned cycles, and multiple repetitive cycles.   

Course Activities and Design

CNC PROGRAMMING – MILL will be presented by means of audio-visual presentations, demonstrations, lab experiences, and research activities. The course activities and design emphasize the development of skills and knowledge outcomes prescribed by established industry standards. The identified outcomes will be achieved by means of individual and team activities.

Outcome Assessment Strategies

POLICY - Student performance measurements are based on established industry standards. The various areas of study during the course will be evaluated by a variety of activities. Typical of those activities are the following:

1. READING ASSIGNMENTS - Information sheets, textbooks, journal articles and the learning resource center are potential sources of information that the student will reference as directed in the modules identified in the introduction. 

2. PRACTICE - Completion of tasks and projects identified in the reading assignments, information sheets, journal articles and textbooks. Students are required to complete practice activities with 100% competency.

3. SELF-ASSESSMENT - Checking and evaluating the students understanding and knowledge gained through the reading assignments and practices typically done through a practice evaluation.

4. LAB ACTIVITIES - Participation in structured laboratory exercises with the emphasis on developing skills or increasing expertise in the areas of study identified in the module packets.

5. FINAL ASSESSMENT - An assessment in the form of a written exam and/or practical application that addresses the subject areas identified in the module packets. Students are require to complete final assessment activities with 85% competency.  


Machining Center Programming & Operation with Workbook, by Mike Lynch, published by CNC Concepts