With the advancements in scanning technology, the rapid acquisition of point cloud spanning multiple storeys of buildings has become feasible. Accurately dividing the building into individual storeys deepens the understanding of the building environment, accelerates the processing of the vast point cloud, and is crucial for numerous fields such as model reconstruction, indoor navigation, and building management. However, it remains a challenge to handle the building with rooms across multiple storeys. This study presents a novel method to partition complex multi-storey building from cluttered point cloud. First, the non-vertical structural elements are detected by taking the difference of height and normal vector as growth conditions. Next, we iteratively employ bidirectional cloth with height variation constraints to simulate the floor and ceiling trend surface. In this step, candidate ceiling patches are obtained through the optimization of a cost function. Finally, the irregular boundary between adjacent storeys that used for partitioning the point cloud is rasterized in terms of the ceilings at lower storey and the floors at upper storey. Each point is orderly classified into the correspond storey with reference to the elevation of the estimated boundary. Through comprehensive evaluation and analysis, our method has demonstrated its effectiveness and adaptability across various datasets. Our method yields superior results compared to the advanced methods, achieving an approximate value of 99 % on the weighted recall, weighted precision and weighted F1-score. Besides, the proposed method is not limited to Manhattan world buildings and requires only the spatial coordinate of points.