The invention discloses a method for automatically recognizing various types of geometric elements in a three-dimensional point cloud, and the method comprises the steps: carrying out the preprocessing of an inputted three-dimensional point cloud, i.e., voxel filtering, building a neighbor structure based on a Kd tree, and estimating a normal vector of points; carrying out the determining of a neighbor relation of the point cloud, and carrying out the sampling of the point cloud; calculating a covariance matrix of sample point neighbor, analyzing the size relation among three characteristic values, and generating a corresponding initial geometric element model according to a coplanar rule; respectively building a corresponding energy equation according to the initial geometric element models, and carrying out the planar, spherical and cylindrical surface energy calculation according to an energy optimization frame; carrying out the loop iteration of the above steps, minimizing the energy of various types of geometric elements, solving geometric element parameters under optimal significance through employing an optimization algorithm, thereby achieving the refining of the parameters of geometric element models; and finally outputting the parameters and inner points of a plurality of types of geometric elements. According to the technical scheme of the invention, the method is wide in application range, is accurate in parameter estimation, is strong in anti-interference capability, and greatly improves the recognition and analysis capability of the three-dimensional point cloud.