To automate the bin picking task with robots, pose estimation is the key challenge which identifies and locates objects, thus the robot can pick and manipulate the object in an accurate and reliable way. This paper proposes a novel solution which combines a machine learning based 2D object localization and a non-machine learning based 3D pose estimation method to estimate the pose of randomly piled up industrial parts. Given an image of a scene, the target part is localized in 2D first and its result is then used to crop the point cloud of the target part. Using the cropped point cloud and Boundary-to-Boundary-using-Directional-Tangent-Line (B2B-DTL) point pair feature, a novel descriptor, the proposed method could estimate the pose of industrial parts whose point clouds lack key details, for example, the point cloud of ridges of a part. Our algorithm is evaluated against real scenes and its experimental results show that the proposed method is sufficiently accurate and its online computation time is short, which makes it could be used in the real factory environment.