SyncTwinTECHNOLOGIES
Module · CNC machines

The program describes the part — the machine executes it

The machine type is defined by kinematics, not the brand. The cutting program is built from the part, verified by stock removal simulation and goes to the machine through the twin.

Program zero — the blank corner A blank with a pocket and a hole; the program zero is at the near-left corner, Z zero is the top face; the blank position on the table is set by the machine work offset, not by the program text. machine table cutter: slot T4 zeroZ0 —top face blank position — in the work offset
What it is

The author names the part, the platform calculates the passes

A cutting program describes the part: the blank and what to remove from it. The platform calculates toolpath, passes, speed and feed — from the part volume, the material and the tool in the machine slot.

The program text is the same for any machine that can cut. Everything that depends on place and equipment — where the blank sits, the part zero, the cutter stick-out — lives in the machine twin.

The program is written in the lab in the browser: code on the left, the part in 3D on the right, the result recalculates on every change. Dimensions are expressed as parameters and through each other — the part stays parametric.

Machine types

A machine is created by choosing a type and numbers

TypeAxesWhat it doesMaturity
3-axis millX Y Z2.5D machining and flat contour, servo drives over EtherCATproduction
5-axis mill with a tilting rotary tableX Y Z B C3+2 machining: rotate, lock, cut with three axesbeta
5-axis mill with a tilting headX Y Z A Cthe same 3+2 machining, the head gives the orientationbeta
Laser plotterX Ythe beam is controlled like a spindle: power and switch-offbeta
2-axis latheX Zturning, facing, parting; in simulationexperimental
Wire EDMX Y U V + Ztaper and rotary layout; in simulationexperimental

Production — runs on hardware every day; beta — works outside the main line; experimental — research level. Two machines with the same kinematics are one type, even on drives from different manufacturers.

3-axis mill

The main class: three linear axes and a spindle, servo drives on a bus with feedback. No tilts or rotations — 2.5D and flat contour.

5-axis mill

The table tilts and rotates the part, or the head provides orientation. 3+2 machining: the same example program for both layouts; the difference is visible in the test bench’s answer.

Lathe, laser, EDM

A lathe has no Y axis. A beam has no Z axis and no tool table. A wire machine interpolates the lower and upper guides and feeds by gap; lathe and EDM run in simulation.

Rules

Four rules for reading a program

TopicRuleConsequence
CoordinatesX and Y — from the near-left corner of the blank; Z = 0 — its top, negative into the materialMoving the blank on the table does not change the program by a single byte: the position lives in work offset G54 and the twin
BlankThe first line declares the blank and material; after that — only subtractionSacrificial plate, cut-through into it and raising on a spacer decide the fate of a through cut
ToolA reference to a machine tool-table slot, not a diameterThe slot carries diameter, tip profile, stick-out, flutes and number; no such slot — a refusal listing what exists
StepsIdentical operations with one cutter — one step and one tool changeThe order of steps is the order of tool changes on the machine

The cost of breaking it is known

While the blank position was baked into coordinates, the controller added the offset a second time, and the program went past travel limits on the first cutting line. A test now holds the invariant.

No silent substitution

An operation without a named tool is not cut with “some cutter”: an explicit “diameter only” path works, marked that profile and stick-out are unknown.

Order as on the machine

Base — facing, then volume — pockets and contours, then holes, the edge — last. An outside contour separates the part, so it comes after everything else.

Cutting operations

Operation vocabulary

facingpocket and areaterraced pocketwall finishingdrillingthread millingcontourchamferedge roundingengravingturning3+2 table indexing

Each operation subtracts a volume from the blank and prints its own piece of G-code.

OperationWhyWhat matters
FacingMakes Z zero real: a cast or sawn top is not flatFaces the whole top of the blank; a local area is a pocket
Pocket and areaA bearing seat, a board window: a rectangle, a circle or a polygon with islands and wall draftAn island narrower than the cutter stays uncut; a round pocket under two cutter diameters degenerates into drilling
Terraced pocketVariable depth by nested contours: stepped seats, shouldersContours strictly nested — undercuts are not cut with three axes
Wall finishA ball cutter along a sloped wall with a target scallopSloped wall only and ball cutter only
DrillingAll holes of one diameter — in one step, with pecks to clear chipsThe check chain compares depth against drill stick-out and length
Thread millingAn internal thread without a tap: the cutter orbits, descending one pitch per revolutionInternal only; a cutter that cannot produce such a profile blocks the step
ContourFollowing a polygon outside or insideAn outside contour is the last step of the program
ChamferWith a V-bit along the edgesWidth follows from depth and bit angle; hole countersinking cannot be expressed with it
Edge roundingA ball cutter along the top edgeThe number of passes is derived from the scallop
EngravingWith a cone along a polylineWidth follows from depth; text is given as path points
Turning, parting, groovingBar stock in the XZ plane, X in diametersTool nose radius compensation — only along X
Table rotation 3+2The table sets to a pose and stays; coordinates — by the face looking upPositioning, not simultaneous motion of five axes
Example

Blind M8×1.25 thread in an aluminium plate

A 200 × 100 × 50 mm aluminium plate, thread in the centre. Two tools mean two steps and two tool changes.

StepOperationSlotWhat is set
0Blank—200 × 100 × 50 mm, aluminium
1Drilling for the threadT4Ø6.8 mm, blind 14 mm, in pecks
2Thread millingT8M8, pitch 1.25 mm, depth 12 mm, entry chamfer in the same pass

Why 14 and not 12

The hole is 2 mm deeper than the thread: chips have somewhere to fall and the pass ends without hitting the bottom. 12 mm is one and a half nominal diameters.

How the G-code reads

A comment names the coordinate system in plain text, G54 takes the machine work offset, M6 T4 loads the slot, G43 H4 applies its length, M3 starts the spindle.

The reference passes clean

Each breed’s example program passes checks with no warnings and sending with no remarks: a complaint on the reference means the breed is not set up.

Tool and material

Slot, stick-out, cutting data

Machine tool-table slot

Answers five questions: diameter, tip profile, stick-out, flutes and cutter material, number for change and offset. The tool table is part of the twin.

Tool stick-out — two barriers

Before start, stick-out is measured by touch via drive torque — only on servo. At send time, a slot without a stick-out of named origin — datasheet or measurement — blocks sending.

Material

Chosen when the program is created. A mode the author did not name is calculated from material, cutter and machine; one named explicitly is not overridden. Speed is limited by the spindle datasheet from the twin.

MaterialExample gradesHow cutting differs
Aluminium6061, 7075, 2024, cast AlSiHigh cutting speeds with carbide
SteelS235, C45, 40KhLower than aluminium, falls as hardness rises
Stainless steelAISI 304, AISI 303Work hardening: feed matters more than speed
Brass, bronze, copperCuZn37, CuAl9Fe4, Cu-ETPCopper is gummy, brass cuts easily
TitaniumVT1-0Low speeds, high thermal load on the edge
Wood and plywoodpine, birch, oakHigh speeds, coarse chips
PlasticsPOM, ABS, acrylic, PVCRisk of melting — feed not below the minimum
Compositesfibreglass, carbon fibreAbrasive, they wear the tool

The platform filters the cutter catalogue by operation and material and shows the manufacturer’s cutting data next to the calculated values. The process engineer names the cutter: choosing a cutter is a decision about rigidity, stick-out and vibration.

Check

Three levels — before the first cut

  1. Stock removal simulation in 3DThe part shape and remaining material are visible.
  2. Pre-start checksAxis, zone, spindle, cutter, material, blank — with a margin in millimetres and revolutions.
  3. Run on the machine without motionThe controller executes the same file, the drives stand still.

The module's scope is parametric 2.5D machining and 3+2 with the vertical from the browser to the servo drive. The cutter is named by the process engineer.

How it works

From a saved program to the machine’s answer

StageWhat happensWhat holds it
SetupWhere the blank sits, the part zeroWork offset G54 — from the twin
Checks before startAir cuts, plunges, collisions, fit — against the twinErrors lock the start, warnings do not
StartThe control configuration is generated from the twin and sent to the boxMode — virtual axes or drives; no axis profile — a refusal in words
HomeZeros from absolute encodersWithout homing a program does not start in automatic mode
SendingThe program is loaded into the controller and startedA slot without a stick-out of named origin blocks sending
FeedbackPositions, following error, drive status wordFacts go bottom-up: the twin reflects, it does not assign

The configuration is not edited on the test bench

It is always generated from the twin at start time. Importing from a real machine seeds the twin but does not create a second truth.

The axis scale is derived

“Pulses per millimetre” is never typed by hand: lead screw pitch, gearbox and encoder resolution are entered, the consequence is calculated.

Axis binding is the drive’s identity

On binding, the system records exactly which drive sat at this bus position. Swap two drives and the system will refuse to run that axis.

Machine datasheet

Axes, limits and where the numbers come from

Everything the machine knows lives in the twin. A number describing a specific machine belongs to the twin; the configuration generator prints it but does not know it.

WhatValueSource
Axis typeLinear or angularSet by a person
Travel limitsMinimum and maximum in machine coordinatesSet by a person
Velocity and accelerationmm/min and mm/s²Set by a person
Following toleranceMaximum and minimum following errorSet by a person
Backlashmm, reaches the machine as compensationSet by a person
DirectionAxis sign inversion — geometry, not a drive settingSet by a person
Lead screw pitch, gearbox, encodermm per revolution, ratio, pulses per revolutionSet by a person
Pulses per millimetreThe number that decides “the machine moved exactly that much”Derived, never typed by hand
Scale source“Test bench default” or “twin commissioning”Named in words
Drive bindingBus position and a snapshot of the drive’s identityComes from commissioning
Virtual or disabledThe axis runs in a loop, the binding is keptFlag

An axis the commissioning engineer has not yet reached is marked “default”, even if its values are right: silence of the twin cannot mean knowledge. The part zero does not belong to the machine — it belongs to the blank setup.

Boundaries

What the module deliberately does not do

  • 3D machining of free-form surfacesThere are no toolpaths over a free-form model. The closest are the terraced pocket and the wall finish.
  • Continuous five-axis machiningThere is 3+2: rotate, lock, cut with three axes.
  • Automatic tool selectionA person names the cutter; the platform suggests but does not decide.
  • Coolant from the programCoolant is set up as a machine accessory role and controlled from the panel at the equipment.
  • Traversal order optimisationDrill points are cut in the order they are listed.
Status

What works and what is worked out in the implementation

  • Runs3-axis mill on servo drives — every day; lab, material removal simulation, checks before start, sending to the machine.
  • Beta5-axis mill with 3+2 machining, laser plotter.
  • Experimental levelLathe and wire EDM — in simulation; the path on your drives is worked out in the implementation.

Discuss an implementation

Send a part drawing and the machine datasheet — we will build the program in the lab and propose an R&D stage on your equipment.

Request access
Next step

Discuss an implementation

Describe the unit or line — we will tell you what we will verify and in what time. Target indicators are fixed in the implementation specification.

Request access

Implementation →

Request access