A cost cumulative progress curve (called S-curve) is often used as a basis for effective schedule control which is a key to the success of construction projects. In establishing a planned S-curve of a construction project, the cost of each scheduling activity must be determined. Furthermore, the contractual costs associated with the cost items should be fully distributed to all scheduling activities. However, the relationships between scheduling activities and cost items are complex because these relationships may be 1-to-1, many-to-1 or many-to-many relations. This research proposes a searching algorithm to conduct quantity takeoffs in Revit and QTO to facilitate the establishment of the planned S-curve. The proposed search algorithm defines different search steps (using various searching parameters, such as "floor", "physical object", "cost item", and "area") to identify corresponding cost items associated with different types of activities. The benefits of the proposed algorithm is demonstrated by applying it to a high-tech facility building in northern Taiwan.