A generic solid modeller based milling process simulation system is developed for 3-axis milling of complex parts. Parts are described using a boundary representation solid model, and cutting edges are fitted with cubic Be´zier curves. For every completed tool path (i.e., one NC block), the tool swept volume is generated and intersected with the part, yielding the corresponding removed material volume. The tool cutting edges are then intersected with that volume to produce the tool-part immersion geometry. The mechanistic milling process model produces an accurate simulation of cutting forces, torque and power. Modelling of tool and tool holder dynamics is included. The system is based on a generic procedure for extracting geometric data required to accurately simulate milling of complex parts. Any tool shape can be represented, and extension to 4- and 5-axis machining is straightforward. Related processes such as turning and drilling can be modelled in a similar way. The capability of the system is demonstrated experimentally for ball end milling.