JohK / nutsnbolts

A OpenSCAD library that allows for simple creation of nuts and bolts and respective nut catches and screw holes
GNU General Public License v3.0
267 stars 41 forks source link

Fix M1 nut #10

Closed tpimh closed 2 years ago

tpimh commented 5 years ago
nut("M1");

What I expected: m1-real What I got: m1-openscad

pcnate commented 5 years ago

did you render with F6?

This assumes OpenSCAD

tpimh commented 5 years ago

Снимок экрана от 2019-04-22 15-31-45 Render with F6.

pcnate commented 5 years ago

you should post your code and where you have things saved/installed. It seems like you have a nut rotated inside of a larger nut but it could also be a glitch related to how things are loaded.

tpimh commented 5 years ago

To reproduce:

git clone https://github.com/JohK/nutsnbolts.git
cd nutsnbolts
echo 'use <cyl_head_bolt.scad>;\nnut("M1");' > test.scad

Then you can open test.scad and see the same results that I got.

pcnate commented 5 years ago

Looks like M1 is not defined currently. If you know the proper specs you can add and submit a PR

https://github.com/JohK/nutsnbolts/blob/03f15e5cc470971c2523e7e33e07e6d677605a4e/data-metric_cyl_head_bolts.scad#L34-L40

tpimh commented 5 years ago

Thank you! I will try to find technical drawings and add it to the array.

JohK commented 5 years ago

Hi,

yes there is no M1 defined in the database. If I remember correctly the standard only defines M3 onward.

This can't really be fixed: Another case of where the database is incomplete is bolt length. Actually it covers all bolt lengths from the standard, but manufacturers do offer other lengths... I guess the fix should be twofold: add bolts to the database and add a warning when the user tries to use a bolt that is not defined.

Please send me a patch for the bolts you added to the database so I can include them.

hannesweisbach commented 4 years ago

M1 is actually defined in DIN 934: https://www.schrauben-lexikon.de/norm/DIN_934.asp

JohK commented 4 years ago

Hi,

It seems like manufacturers like to extrapolate. DIN 934:1987 has long been withdrawn. I cannot actually find M1 in the current standards, and I doubt they were in the older versions. There is quite some more normative redirections in the documents, but I can't access those.

On one hand, I'm hesitant to just implement some manufacturers table, as they usually provide incomplete data, i.e. they do not list the tolerance bounds... currently, the table in nutsandbolts lists lower bound diameter for bolts and the upper bound diameter for holes/nuts. On the other hand, for usability and practicability in makes a lot of sense to include those sizes. I'd be fine with just putting the values in the table, if we can double/triple check them with multiple manufacturers.

(For Info: hexagonal head bolts: EN ISO 4014:2010: M1.6 -> M64 cylinder head bolts: EN ISO 4762:2004: M1.6 -> M64 nuts type1: EN ISO 4032:2000: M1.6 -> M64 nuts type2: EN ISO 4033:2000: M5-> M36 nuts thin: EN ISO 4035:2012: MM1.6 -> M64 (and they actually list intermediate sizes that are to avoid g) )

hannesweisbach commented 4 years ago

Doesn't DIN912 refer to DIN 13-1 for threads? I don't have access to DIN norms myself :( Ok, I do have access … you're right it only defines hex socket head cap screws down to M1.6