In this paper, the algorithm was designed for cylinders, slots and pockets extraction from CAD models saved in STL file depending on rule-based method and graph-based method. Besides, windows application was designed using Visual Studio C# which allows the user to import CAD model and features extraction and view their geometric information (cylinder diameter, height, cylinder center coordinates, width, height, length for slots and pockets. In addition, all surfaces that the feature consists from. The proposed algorithm consists from multi-steps are: dividing input model into multi surfaces based on RegionGrowing method, next step is cylinder features extraction depending on rule-based method, slots and bockets extraction depending on graph-based method, calculating geometric information for each extracted feature. The results show that the proposed algorithm can extract cylinders, slots and pockets features from CAD models which saved in STL files and calculates geometric information for each extracted feature.