In order to improve the openness, extensibility and efficiency of Computer Numerical Control (CNC) systems, the architecture and its implementation of an open CNC system for multi-axis machine tools based on The Windows Control and Automation Technology (TwinCAT) and .NET is proposed. In the proposed architecture, the real-time tasks, such as interpolation, real-time cutter compensation, coordinate transformation and motion control, are executed in the real-time kernel provided by TwinCAT, and the non-real-time tasks, such as code interpreter, offline cutter compensation and feedrate look-ahead, are executed in the Human Machine Interface (HMI) implemented on .NET platform. Moreover, an event driven data exchange method is proposed to realize the fast data exchange between the real-time tasks and the non-real-time tasks. The whole system is modularized by several independent modules, the inputs and outputs of which are standardized to improve the convenience of system extension and upgrade. Finally, an open CNC system is implemented based on the proposed architecture, on which experiments are conducted to validate the feasibility and applicability of the proposed architecture and its implementation.