General purpose planners such as STRIPS-style planners have had difficulties in generating realistic plans in real engineering domains. On the other hand, the narrowly scoped expert planning systems can be used for specific domains but have little value for even slightly different domains. OARPLAN described in this paper attemps to attain both the generality and high performance by generating project plans through reasoning about objects, actions and resources. Planning knowledge is represented as constraints based on activity constituents and their interrelationships. Exploiting these constraints, the planner can hierarchically generate required activities for achieving a given goal and order these activities in the way that constructively satisfies the constraints.