1. A method of using one or more computer processors running on one or more computer system to repair a surface mesh model including a plurality of triangular facets, the method comprising: obtaining a surface mesh model for a three dimensional object comprising a plurality of triangular facets, each of the facets being defined by three edges that connect three vertices; identifying a hole in the surface mesh model, the hole being defined by a plurality of hole edges; determining a plurality of hole vertices that define the plurality of hole edges that define the hole; filling the hole using a plurality of triangular facets, comprising: selecting a pair of the hole vertices, wherein the selected pair of the hole vertices is not connected by a hole edge; defining a fabricated edge connecting the selected pair of the hole vertices; and checking to see if one or more triangles are formed using the newly defined fabricated edge, and if so, defining the newly formed one or more triangles as one or more new triangular facets, and adding the one or more new triangular facets to the plurality of triangular facets of the surface mesh model.