How to get Internal Fillet Radius from a Cross Section?

Is there any way to get the Inner Fillet Radius instead? I need it to determine Cross-section Class from Table 5.2 in EC3. Thanks!

What kind of fillet radius is Karamba expecting as input in Cross Section component for Square Hollow Sections? External or Internal? From the CroSecRSelect component it seems that you´re using the External fillet radius.

var shs = SHS as Karamba.CrossSections.CroSec_Box;

In shs.fillet_r variable it is stored the external radius, but shs.fillet_r1 has always a -0.001 value. Is this fillet_r1 variable intended to store the internal radius?

I´ve just realized that I can simply subtract either 0.5t or 1.0t for hot or cold formed to get the desired internal fillet radius… sorry!

Just for reference, according to EN10210-2 (hot) and EN1019-2 (cold) norms, for:

  • Hot formed SHS and RHS: External radius = 1.5t, Internal radius = 1.0t (where t = wall thickness),
  • Cold formed SHS and RHS: External radius = 2.0t (t<6mm), 2.5t (6mm<t<10mm), 3.0t (t>10mm) and Internal radius = 1.0t (t<6mm), 1.5t (6mm<t<10mm), 2.0t (t>10mm).

Source: https://www.smartbuild.uk.com/post/rectangular-and-square-hollow-section-shs-rhs-corner-radius-dimensions

hello @Vigardo,
for SHS sections K3D expects the outer fillet radius as input.
‘fillet_r1’ is the inner radius. ‘-1’ indicates that the value is not user defined and therefore gets set according to this procedure (sorry that the indentation does not show for some reason):

// determine inner fillet radius according to
// Rubin, H.: Torsions-Quereschnittswerte für rechteckige Hohlprofile nach
// EN 10210-2:2006 und EN 10219-2:2006
if (fillet_r1_ < 0)
{
if (fillet_r < 1e-20)
{
fillet_r1_ = 0;
}
else
{
if (product == Production.cold_formed)
{
fillet_r1_ = w_thick;
}
else
{
// see AustubeMills shaping possibilities, August 2013, 3-2
// https://www.libertygfg.com/media/164047/design-capacity-tables-for-structural-steel-hollow-sections.pdf
fillet_r1_ = fillet_r - w_thick;
if (fillet_r1_ < 0)
{
if (w_thick < 0.006)
{
fillet_r1_ = w_thick;
}
else if (w_thick <= 0.01)
{
fillet_r1_ = 1.5 * w_thick;
}
else
{
fillet_r1_ = 2.0 * w_thick;
}
}
}
}
}

Here a definition form Karamba\Examples\TestExamples\Scripts:
FilletRadius_ScriptedCroSec_cp.gh (26.8 KB) which shows how to read out the inner and outer fillet radius.
Thanks for the link. I will have a look.
– Clemens