2
$\begingroup$

I'm trying to make various diamond-shaped panels with exact real-world dimensions. I'm using Imperial dimensions in inches in my scene. As an example, I start by adding a standard 24" x 24" x 24" cube and add a geometry node modifier. In the geometry node editor, I use a Quadralateral node using the kite shape to get the outline, then using a Convex Hull to turn the edges into faces. This creates two faces, one on the top and one on the bottom, but the object has zero thickness. I then use Extrude Mesh with an Index node going into the Selection input of the Extrude Mesh node to only extrude the top face.

Geometry Node Editor Screenshot

Here's my problem. I want the extruded object to be exactly 0.5" thick. How can I calculate the proper Offset Scale to use? I added a reference cube (the unselected wireframe in the screenshot) that is scaled down to 0.5" thick and then I manually adjusted the Offset Scale until the extruded object was 0.5" thick. The value I need happens to be 0.0064. But what is this value in relation to? If I use 1.000 the extrusion is very long, way more than 0.5". I'm guessing it's a ratio of some sort, but I cannot figure out what it is relating to.

So...how does the numeric value in Offset Scale work?

$\endgroup$
0

1 Answer 1

4
$\begingroup$

The (unit-less) "Blender units" are translated 1:1 when (by default) using metric units, so 1 Blender unit equals 1 m. And this is what the Offset Scale uses as well, an offset of 1.000 is 1 m when you are using metric units.

However, a 2 × 2 × 2 m default cube becomes a cube with side lengths of 78.7402" when you switch from Metric to Imperial with Inches, it is not changed into 2 × 2 × 2 inches or 2 × 2 × 2 feet or something. So it's

$$\frac{2\;m}{0.0254\frac{m}{in}}\approx78.7402\;in$$

And the Extrude Mesh node is still calculating with Blender units, so an Offset Scale of 1.000 is still 1 m, which means from Offset Scale to inches you have a factor of

$$\frac{1}{0.0254}\approx39.3701$$

so you can convert the value in inch by dividing with $39.3701$ to get the desired offset value or even simpler, multiply by $0.0254$:

inch conversion

For half an inch you get $0.5\cdot0.0254=0.0127$, actually I do not know how you got a value of $0.0064$. Is the scale on your object applied? It seems as if your object scale is 2, not 1. The Geometry Nodes internal values get scaled by the external factor which your object has in Object Mode.

$\endgroup$
12
  • $\begingroup$ Thanks Gordon for this explanation! Since I only use metric units, I never noticed this before, but I wonder why the nodes do not take over the set units of measure ...? $\endgroup$
    – quellenform
    Aug 21, 2023 at 7:37
  • $\begingroup$ @quellenform I have no idea. Actually a slight change is there, the default cube is 2 m on each side and simply becomes 78.74 inches when you switch the units. However, if you add mesh primitives after switching to Imperial, then a newly added cube has sides of 24" (= 2') length each. $\endgroup$ Aug 21, 2023 at 7:48
  • 1
    $\begingroup$ @quellenform One idea: first of all just for convenience 1 Blender unit = 1 meter, because it is the easiest conversion and since Blender was created by people using metric units and they are easier to calculate to float since the sub-units are simple powers of ten. I guess internally it works with Blender units, and they are not converted 1:1 to Imperial to make it easier for example to append objects from one file to another and keeping relative proportions if they are modeled in real-life dimensions. Not that you append a 1 foot cube into a scene and it's the same size as a 1 meter cube. $\endgroup$ Aug 21, 2023 at 8:02
  • $\begingroup$ Some correction from me: The Offset Scale doesn't use units at all, as it is a multiplier. ◆ Offset vector can be interpreted as having an implicit meter unit. By default, the ◆ Offset is the Normal field, and normals are normalized (duh), therefore they always have a length of $1$; here your explanation comes in, this 'unit-less' normal can be interpreted as described in meters (I would explain it differently, Blender calculates everything in units, when you enable metric system it just slaps a meter on every value, and imperial system applies a ratio) $\endgroup$ Aug 21, 2023 at 12:36
  • $\begingroup$ So then this ◆ Offset is multiplied (the same as Vector Math: Scale) by the Offset Scale. $1$ means no change. It's a convenience input that could easily be replaced by the Vector Math: Scale node (though then you couldn't use the implicit "Normal" and would need to add that node as well). I guess you can think of it as ◆ Offset describing the direction, and Offset Scale describing the length, but it will only work if the ◆ Offset is normalized… $\endgroup$ Aug 21, 2023 at 12:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .