How to Program a Skahpo CNC Machine
This guide walks through how to program a skahpo cnc machine on the shop floor: reading the control, setting work offsets, writing G-code, proving the toolpath, and checking the first article. It is written for machinists and manufacturing engineers who need a part off the table, not a theory lesson.

In this article
- 1
- 2
- 3
- 4
- 5
- 6
- 7
Key takeaways
Read the control before you program a Skahpo CNC machine
Skahpo is not one of the big global machine brands, so the first job is to find out which control is bolted to the front of the machine. In most cases it is a Fanuc-compatible system, sometimes dressed in a different badge. Open the parameter and offset screens and look at the layout. If you can find WORK OFFSET, TOOL OFFSET, SETTING and SYSTEM, you are on familiar ground and standard G-code will run.
Write down four things before you touch the keyboard: the control model, the maximum spindle speed, the number of tool pockets, and whether the machine has a tool setter or a touch probe. These four values set the limits of every program you will write. A 12,000 rpm spindle cannot run a 6 mm carbide end mill at the feeds a 24,000 rpm spindle allows, and a 20-pocket magazine changes how you sequence tools.
Check the machine zero and travel next. Move the table by hand or with the handwheel to each soft limit and note the numbers on the position display. Compare that with the work envelope you actually need. A part that needs 400 mm of X travel does not fit on a machine with a 500 × 310 × 200 mm envelope once you add the vise and the tool length.
One more thing before coding: confirm the units. G20 is inch, G21 is metric. A program written in millimeters and run in inch mode moves 25.4 times too far. This single line has broken more tools than any feed rate error, and it is the easiest mistake to avoid.
Plan the setup and the operation sequence
Programming starts on paper, not at the control. Decide how many setups the part needs. A simple bracket with holes on two faces needs two setups. A hydraulic manifold with ports on five faces needs either a 5-axis machine or four separate fixtures. Count the setups before you write a single block, because each setup adds an offset, a re-clamp and a chance for error.
Pick the datum for each setup. On the first setup, the datum is usually a corner of the raw stock or a finished face plus two edges. On the second setup, it should be a feature you already machined, so the two setups share a common reference. If setup 2 is dialed in off the saw-cut face of the stock, the tolerance between the two sides depends on how square the saw cut was.
Sequence the operations from the largest tool to the smallest, and put all drilling and tapping in one block of the program. Tool changes cost 4–10 seconds each, and a program that swaps tools fifteen times wastes minutes per part. Group face milling, then roughing, then finishing, then hole making.
Leave stock for finishing. A roughing pass at 0.3–0.5 mm radial engagement and 1–2 mm axial depth is standard in aluminum on a machine of this class. Leave 0.2–0.3 mm on walls and floors for the finishing pass, and use a separate finishing tool rather than pushing the rougher to a fine finish. On the first article, rough the whole part, measure, then finish. That way the finish pass corrects any deflection the rougher left behind.
Write G-code that the operator can follow
A clean program has a header, a body and a footer. The header sets G21 or G20, G90 absolute, G17 XY plane, cancels cutter compensation with G40, cancels tool length compensation with G49, and calls the first tool. Put the part number, the revision and the programmer's name in parentheses at the top. The operator will read that line fifty times.
In the body, every tool change follows the same pattern: M09 coolant off, M05 spindle stop, G91 G28 Z0 retract, then T and M06, then G43 H with the tool length offset, then S and M03, then G54, then M08 coolant on, then the approach move. Repeating this pattern makes the program predictable and easy to debug.
Use G54 for the first setup and G55, G56 for the later ones. Keep the offsets in the machine, not in the program, so the operator can shift a datum without editing code. Cutter compensation with G41 and G42 belongs in the control when you are holding tight wall tolerances; for roughing, program to the tool centerline and keep it simple.
Add comments at every operation change. Something like (OP2 - FACE AND DRILL 8X Ø6.8) tells the operator what is coming. Long programs without comments get run wrong. Keep each tool's section under about 200 blocks if you can, and never mix two operations in one section without a comment between them.
Prove the toolpath before the first cut
Run the program in graphics or dry-run mode with the tool offset cancelled and the Z offset set 50 mm above the part. Watch the toolpath on the screen and check that every move stays inside the stock. This catches a wrong sign in a coordinate or a missing decimal point before anything spins.
Then run it for real with rapid override at 5–10% and single block on. At each approach move, switch the display to distance-to-go and watch the remaining Z. If the number is not what you expect, stop. Most crashes happen on the first approach to the part, not in the middle of a cut.
Keep a hand on the feed hold button for the first tool. After the first tool completes, you can raise the override to 50% and then 100%. Do not skip this. A program that is 99% correct still breaks a Ø6 mm end mill on the one wrong move.
If the machine has a tool setter or a probe, use it. Touch-off by eye or by paper leaves 0.02–0.05 mm of error in Z, which shows up as an inconsistent floor thickness on the first batch. Probe calibration is worth the ten minutes.
Step by step: program a Skahpo CNC machine
Follow the order. Skipping a step is how parts get scrapped.
- 11. Identify the control and record limitsNote the control model, max spindle speed, tool pocket count and work envelope. Write these on the setup sheet. Check G20/G21 default in the parameters.
- 22. Plan setups and datumsCount the setups needed to reach every feature. Pick a datum per setup, sharing one machined feature between setups. Two setups is normal for a bracket; five means you should quote a 5-axis process.
- 33. Set work offsets and tool lengthsTouch off X, Y and Z into G54. Set every tool length into the H register. Verify each tool by bringing it to a known face and comparing the position display with the programmed value.
- 44. Write the header and first tool sectionG21 G90 G17 G40 G49, then part number and revision in comments. Call T1, G43 H1, S and M03, G54, M08, then the approach move at 50 mm above the part.
- 55. Rough, then measure, then finishRough with 0.3–0.5 mm radial and 1–2 mm axial depth in aluminum. Leave 0.2–0.3 mm on walls and floors. Measure the rough part, adjust the finishing offset, then run the finish pass.
- 66. Prove the programGraphics or dry run first with Z offset 50 mm high. Then single block with 5–10% rapid override. Watch distance-to-go on the first approach move of every tool.
- 77. Cut the first article and inspectRun one part at full override. Measure critical dimensions against the drawing before starting the batch. Adjust offsets, not the program, for small size corrections.
Manual G-code vs CAM for a Skahpo control
| Factor | Manual G-code | CAM output |
|---|---|---|
| Best for | Simple 2.5D parts, fixtures, quick edits | 3D surfaces, multi-axis, many holes |
| Setup time | Minutes, at the control | 30–90 minutes including post setup |
| Typical tolerance | ±0.02 mm achievable on simple profiles | ±0.005 mm with a verified post |
| Program size | 50–500 blocks | Thousands of blocks, needs drip feed |
| Shop-floor edits | Easy, readable by the operator | Harder, regenerated in CAM |
| Risk | Transcription errors, wrong sign | Post-processor errors, wrong WCS |
| When to avoid | Curved surfaces, 4 and 5 axis work | One-off simple plates and fixtures |
Frequently asked questions
Does a Skahpo machine use standard G-code?
In almost every case, yes. These machines normally ship with a Fanuc-compatible control, so G00, G01, G02, G03, G43, G54 and the canned drilling cycles behave as you expect.
The differences show up in the details: which M-codes fire the coolant, whether the tool change is M06 with a T call before it, and how the offsets are numbered. Check the machine manual for the M-code list before the first run.
Can I program it without CAM software?
Yes, for 2.5D work. Pockets, profiles, drilled hole patterns and fixtures are faster to write by hand at the control than to model and post-process.
Once the part has curved surfaces, deep 3D contours or needs simultaneous 4 and 5 axis motion, manual coding stops being practical. Hand-written 3D toolpaths also tend to leave witness marks where the stepovers meet.
What tolerance can I hold on this class of machine?
A well-maintained machine in this class holds ±0.01 mm on a simple profile with a sharp tool and a rigid setup. With temperature control, a probe and a finishing pass, ±0.005 mm is achievable.
The machine is rarely the limit. Tool deflection, workholding stiffness and thermal growth in the part usually decide the final size. On long thin walls, expect the wall to move after unclamping regardless of the control.
How do I handle a program that is too long for memory?
Use drip feed, also called DNC. The control reads the program from a PC over RS-232 or Ethernet while it runs, so memory size stops mattering.
Before you rely on it, test the link with a short program and confirm the baud rate and handshake settings. A dropped connection mid-cut leaves the machine waiting in the middle of a move.
What causes the first part to come out oversize?
Nine times out of ten it is a tool length or work offset error, not the program. A 0.05 mm error in Z shows up as an inconsistent floor. A wrong X or Y offset shifts every feature together.
Check the offset first, then the cutter diameter in the compensation register. If the part is consistently oversize by the same amount on every feature, the offset is wrong. If only some features are off, look at the program.
Can GreatLight run these programs on your machines?
Yes. We machine parts from one prototype to 10,000+ piece runs on 127 CNC machines, including 16 simultaneous 5-axis centers and 16 mill-turn centers, with a maximum processing size of 4,000 mm.
Tolerance is held to ±0.005 mm with finishes from Ra 0.2–0.8 μm. Every part is inspected before shipment, and inspection reports are available on request.
Send us the drawing and we will quote the process
Upload your STEP file and get a quotation with free DFM analysis within 12 hours. Production can start within 24 hours, and parts ship in 3–5 days.
12-hour quote±0.005 mm toleranceNo minimum order quantity