The hole-free triangular mesh model is a prerequisite for many applications. In this paper, we propose a novel hole-filling algorithm for triangular meshes in engineering which can recover the geometric features of the original meshes. Firstly, the sharp vertices around the hole are extracted and classified into different feature sets. Then the sharp vertex sets are used to construct feature curves with missing parts in the hole by cubic spline interpolation. These feature curves divide the original complex hole into small, flatter sub-holes. Finally, each sub-hole is triangulated into a set of new triangles, and a series of iterative modifications are employed to refine and improve the geometry of hole according to the properties of surrounding mesh. Experimental results demonstrate that the proposed algorithm is powerful enough to recover the missing shape, and the resulted patching meshes interpolate the shape and density of the surrounding mesh and naturally blend with it, which are of good quality for engineering.