- Right click this link and click Save Link As to download the Python file.
- In Blender, go to Edit > Preferences.
- In Addons click Install and find the Select_Faces_by_Normals_Addon.py file.
- Click the checkbox to the left of the addon to enable it.
- Select an object and go into Edit mode
- Select one or multiple faces
- Click the Select Connected Faces by Normals operator at the bottom of the Select dropdown menu. You can also use the Search function in Blender to find the operator (the default keybinding is F3).
- A menu panel will pop up on the bottom left corner of the 3D Viewport. You can use this to change the Angle Limit and Group Angle Limit.
This add-on takes a face or faces on an object that were selected by a user and expands the selection to connected faces whose normal vectors meet a specified criteria. Connected faces who meet the critera set by the Angle Limit and Group Angle Limit are grouped together. A face is added to a group only if the following are true:
- It is connected to a face that is in the group
- The difference between the face's normal and the connected face's normal is less than the Angle Limit
- The difference between the face's normal and the group's total normal is less than the Group Angle Limit
I originally made this as a way to select flat surfaces in scan files. The angle limits can be adjusted depending on how noisy a surface is. A smoother surface would need smaller angle limits, and vice versa.