Bolt Factory Addon: Incorrect countersink angle & head size in Create_CounterSink_Head() #1

Open
opened 2024-07-16 16:49:34 +02:00 by Loren Osborn · 3 comments
Contributor

Originally blender/blender-addons#105068 from @sw-tya

System Information
Operating system: Linux-5.15.0-88-generic-x86_64-with-glibc2.35 64 Bits
Graphics card: Mesa Intel(R) HD Graphics 4000 (IVB GT2) Intel 4.2 (Core Profile) Mesa 23.2.1 - kisak-mesa PPA

Blender Version
Broken: version: 3.0.1, branch: Unknown, commit date: Unknown Unknown, hash: rBUnknown
Worked: If it did, not recently 6 years since the last edit in this function of, https://projects.blender.org/blender/blender-addons/src/branch/main/add_mesh_BoltFactory/createMesh.py

Addon Information
Name: BoltFactory (0, 4, 0)
Author: Aaron Keith

Short description of error

The countersink angle of the Head should be 90 degrees for smaller sizes then changing to 60 for bigger sizes >= M22.
Given the operator presets top out at M12, then 90 degrees is more appropriate.
More generally adding an adjustable parameter into the Countersink_Head would be the ideal solution.
I don't think my python skills are adequate to attempt that.
There is a small angle error introduced by the maths for the top radius.
RAD1 needs including in the line:
HEIGHT = tan(radians(60)) * (HEAD_RADIUS - SHANK_RADIUS)
Should be:
HEIGHT = tan(radians(45)) * (HEAD_RADIUS - SHANK_RADIUS) + RAD1
This will then preserve whatever angle is used to calculate the HEIGHT.
The default value in the M6 preset of bf_CounterSink_Head_Dia, in m6.py, causes an over-size output.
Should be 12.0 rather than 12.600000381469727
With 2. fixed this then causes the generated diameter to match the value entered.
Reference resources:
Example spec here with nice drawing: https://roymech.org/Useful_Tables/Screws/cap_screws.html notes the ISO specs as BS EN ISO 10642:1998. This supersedes BS 4168-8.
https://www.fasteners.eu/standards/ISO/10642/ has a table of the metric sizes which shows M22 and M24 being 60 degrees.

Exact steps for others to reproduce the error
In a new project, enable the Bolt Factory addon if not already setup.

Add -> Mesh -> BoltFactory
OperatorPresent -> m6
Model -> Nut
Type -> Hex
Change bf_CounterSink_Head_Dia from 12.6 to 12.0 to meet the spec.
Orientate to x view. Measure the Head angle.
Measured angle is 59 degrees with 12mm diameter.
Desired result would be 45 degrees and 12mm diameter.

Originally https://projects.blender.org/blender/blender-addons/issues/105068 from @sw-tya System Information Operating system: Linux-5.15.0-88-generic-x86_64-with-glibc2.35 64 Bits Graphics card: Mesa Intel(R) HD Graphics 4000 (IVB GT2) Intel 4.2 (Core Profile) Mesa 23.2.1 - kisak-mesa PPA Blender Version Broken: version: 3.0.1, branch: Unknown, commit date: Unknown Unknown, hash: rBUnknown Worked: If it did, not recently 6 years since the last edit in this function of, https://projects.blender.org/blender/blender-addons/src/branch/main/add_mesh_BoltFactory/createMesh.py Addon Information Name: BoltFactory (0, 4, 0) Author: Aaron Keith Short description of error The countersink angle of the Head should be 90 degrees for smaller sizes then changing to 60 for bigger sizes >= M22. Given the operator presets top out at M12, then 90 degrees is more appropriate. More generally adding an adjustable parameter into the Countersink_Head would be the ideal solution. I don't think my python skills are adequate to attempt that. There is a small angle error introduced by the maths for the top radius. RAD1 needs including in the line: HEIGHT = tan(radians(60)) * (HEAD_RADIUS - SHANK_RADIUS) Should be: HEIGHT = tan(radians(45)) * (HEAD_RADIUS - SHANK_RADIUS) + RAD1 This will then preserve whatever angle is used to calculate the HEIGHT. The default value in the M6 preset of bf_CounterSink_Head_Dia, in m6.py, causes an over-size output. Should be 12.0 rather than 12.600000381469727 With 2. fixed this then causes the generated diameter to match the value entered. Reference resources: Example spec here with nice drawing: https://roymech.org/Useful_Tables/Screws/cap_screws.html notes the ISO specs as BS EN ISO 10642:1998. This supersedes BS 4168-8. https://www.fasteners.eu/standards/ISO/10642/ has a table of the metric sizes which shows M22 and M24 being 60 degrees. Exact steps for others to reproduce the error In a new project, enable the Bolt Factory addon if not already setup. Add -> Mesh -> BoltFactory OperatorPresent -> m6 Model -> Nut Type -> Hex Change bf_CounterSink_Head_Dia from 12.6 to 12.0 to meet the spec. Orientate to x view. Measure the Head angle. Measured angle is 59 degrees with 12mm diameter. Desired result would be 45 degrees and 12mm diameter.

Dear @linux_dr
The pull/12 should address the issue of the angle. Preset values is a whole separate topic - the thread pitches are certainly fine thread for the m6. I'd propose making it out of scope for this ticket, as the user does have the GUI to modify the value to their needs.
This my second ever PR - the process is all a bit new. Can you please review, after that I'll remove the WIP tag.
Thanks

Dear @linux_dr The pull/12 should address the issue of the angle. Preset values is a whole separate topic - the thread pitches are certainly fine thread for the m6. I'd propose making it out of scope for this ticket, as the user does have the GUI to modify the value to their needs. This my second ever PR - the process is all a bit new. Can you please review, after that I'll remove the WIP tag. Thanks
Author
Contributor

The pull/12 should address …

Congrats on your second PR… I will look at it ASAP, but wanted to mention that typing #12 in a comment should generate a link to it

> The pull/12 should address … Congrats on your second PR… I will look at it ASAP, but wanted to mention that typing #12 in a comment should generate a link to it
Author
Contributor

Closed by mistake

Closed by mistake
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: extensions/add_mesh_BoltFactory#1
No description provided.