Offset to 0?

I’m trying to add “material” to the interior of a profile curve to the point where the entire profile is “filled up with material”. The idea is to use SolidDifference to produce a box beam-like volume with a variable wall thickness, from an “open” edge with a very thin wall thickness to a “closed” edge that is essentially a filled plane.

However, when offsetting a 3000x3000mm rectangle by 1500mm, I get not a “dimensionless point” but an odd(?) profile curve (in red).

The attached file shows offsets of 500, 1499, and 1500mm, respectively. As you can (almost) see, the 1499 offset works as expected, producing a tiny rectangle that I can use for my loft. But the 1500mm offset can’t be lofted.

Is this expected behaviour?

Thanks,
m

200608_gh-question.gh (28.4 KB)

Somehow, yes.

A 3000x3000 square, when you do inward offset of 1500, will not result in a “dimensionless point”, but in an invalid curve.
Normal Offset Curve returns an incorrect curve, because of the particular case. You can avoid that by using “Offset Curve Loose”, but still it will result in a zero length curve, unusable for most of cases, even by loft.

Use offset loose, then by using “Stream gate” and “Stream filter” you could add an alternative method when curve length = 0 (or within tolerance) and just use the outer curve for boundary surface.

Thanks Riccardo,

That’s what I imagined. As you note, Offset Curve Loose does produce a curve, but Loft needs “at least one non-zero-length curve” to function. Ho hum, I’ll use a workaround – your suggestion is a good one and I might be able to use it, though due to other things along the way it might need a tweak or two.

Cheers,
m