I really want to like 2.8 but every time I get into it, I find something I don't understand. Today is creating a torus. I want to create a jump ring for a piece of jewellery. I want an inner radius of 1.5mm and an outer radius of 4.7mm, When I create the Torus, the smallest I can make either radius setting is 10mm for either of them. Set it to 1.5, you get 10. Set it to 3, get 10. Interestingly, setting it to 10 and 10, gives you a torus with an internal radius of zero not 10. What am I doing wrong?
2 Answers
You first need to change your working units because this operator won't let you input values < 0.01 meters (10 cm) in the fields if you keep working with meters.
The easy way
The hard way
For the sake of maths ..?
So, the major radius is the radius of the middle section of the torus, and the minor radius is the radius of the circle section of the torus if you cut through half of it radially.
We have
- RM : Major Radius
- rm : minor Radius
- Re : Exterior radius (in your case, 4.7)
- Ri : interior radius (1.5)
Ri = RM - rm
Re = RM + rm
<=> RM = 4.7 - rm = 1.5 + rm
<=> rm (minor radius) = 1.6 and RM (major radius) = 3.1
But you need to set your units correctly for this small a model.
-
$\begingroup$ This is a better way around the bug than scaling, and I never could work out that major/minor thing. Thanks for the info. $\endgroup$ Commented Apr 17, 2020 at 14:21
-
1$\begingroup$ I actually didn't notice the Exterior / Interior choice but it is way simpler ! I'll keep it for the maths :) The reason it didn't work in your case is because as the other answer mentioned, this operator imposes values > 0.01 in these fields. I don't consider this as a bug but as a way to force users to work with units fitting to their models. $\endgroup$– GorgiousCommented Apr 17, 2020 at 14:25
-
1$\begingroup$ The "Length" choice is just what is displayed in the dialog boxes. Internally, Blender is still using 1 unit = 1 meter. Change the "Unit Scale" value to 0.001 and Blender will make 1 unit = 1 mm. Then the Torus dialog will work as expected. $\endgroup$ Commented Apr 17, 2020 at 18:02
Why
That's a bug. For some reason they put random limits on the size of the properties. It's a Python operator, that you can find in C:\Program Files\Blender Foundation\Blender 2.82\2.82\scripts\startup\bl_operators\add_mesh_torus.py
Around line 161 there are some float properties defined with some random size limitations:
I found out by right-clicking on the repeat last panel and choosing Edit Source after creating a torus:
What can be done about it
You should definitely report this as a bug by going to Help menu -> Report a Bug:
As far as the problem goes, it's not the end of the world - you can just make the ring 100 bigger and then scale it down by 0.01 and apply scale. If you are planning to be creating hundreds of small toruses one by one in the future and this bothers you, you could also edit the file and just delete the min=0.01, max=100.0,
for minor_radius
, major_radius
, abso_major_rad
and abso_minor_rad
properties starting from line 165 in the file and save it and then restart Blender(on Windows Blender might not have permission to write to Program Files, so save it elsewhere and copy it to the location manually or start Blender with administrator privileges).
-
1$\begingroup$ Raised a bug, thanks. Thought I was going 2.8 nuts :D $\endgroup$ Commented Apr 17, 2020 at 14:20