New scripting option in SuperBeam 4.60 and ProSteel 5.50

Those of you use EuroBeam will be familiar with the scripting option added to EuroBeam 1.10. We've now incorporated it in SuperBeam 4.60 and ProSteel 5.50. The screenshots below are taken from SuperBeam but ProSteel implements this new option in an almost identical manner.

In SuperBeam 4.58d and ProSteel 5.42d (Oct 2012) we added a notes pane on the beam load page of the beam edit dialog as shown here (in yellow). A splitter bar (blue) lets you set the relative sizes of the two areas. The Edit Notes button transfers the editing from this little window (OK for one-liners) to the much larger editor window used for editing text pages

Beam edit dialog showing script

Notes entered here are printed after the loads and max BM/SF/Deflection figures and before any steel or timber calculation (this won't appear if you've left both the Steel and Timber boxes unchecked.

On its own, this option to enter textual notes (as elsewhere) it would be a useful enhancement, but not earth-shattering. What we've now done is to add a further option. The notes can be entered as plain or tagged text as elsewhere, but a new option lets you enter them as a Pascal script - a mini computer program - which can access the key results of the beam calculation - loads, reactions, max BM/SF/Deflection - and produce output that will vary depending on their values. The output shown here demonstrates what is possible

Output generated by Catnic box lintel script

The area in pink will be familiar and is generated by SuperBeam. The area in green comes from the script: it might be one that we supply, or - if you are computer literate - you will be able to write your own.

Although this script only generates six lines, quite a lot happens behind the scenes. Firstly the script assumes 150mm bearings and that the span has been entered as the distance between the centres of bearings. The required lintel length will therefore be 150mm more than the span but needs to be rounded up to the next 150mm or 300mm.

The script then works through a list of available sections until it finds one available in the required length that is capable of taking the applied load. The following small extract should be easy to follow:
(TotLoadu the unfactored load generated by SuperBeam and passed to the script, LLength is the actual lintel length and anything following // is a comment and is skipped over when the script is processed)

// first try Catnic CN5XA lintels
if (LLength >= 750) and (LLength <= 1500) and (TotLoadu < 29) then
  Output.Add('Use 143mm high Catnic CN5XA lintel, SWL 29kN')
else if (LLength > 1500) and (LLength <= 2100) and (TotLoadu < 25) then
  Output.Add('Use 143mm high Catnic CN5XA lintel, SWL 25kN')
else if (LLength > 2100) and (LLength <= 2700) and (TotLoadu < 20) then
  Output.Add('Use 143mm high Catnic CN5XA lintel, SWL 20kN')

// next try Catnic CN5XC lintels
else if (LLength >= 700) and (LLength <= 1500) and (TotLoadu < 49) then
  Output.Add('Use 143mm high Catnic CN5XC lintel, SWL 49kN')
else if (LLength > 1500) and (LLength <= 1950) and (TotLoadu < 39) then
  Output.Add('Use 143mm high Catnic CN5XC lintel, SWL 39kN')

// next try Catnic CN6XB lintels

Suppose you want to calculate the required depth of some proprietary beam - let's call it WonderBeam - 100mm wide, depths available 75mm then increasing in 25mm steps, design bending stress 30N/mm2. The core of your script (skipping shear and deflection checks here for brevity) would look something like this:

B := 100;
D := 50; //initial value will be increased to 75 on first pass
fy := 30;

  D := D + 25;
  Wel := B * D * D/6000; // elastic modulus cm3
  Mrd := fy * Wel/1000; // moment resistance kNm
until Mrd >= MaxBM // MaxBM provided by SuperBeam

Output.Add(''); // blank line
Output.Add('Use ' + IntToStr(B)+ 'mm x ' + IntToStr(D)+'mm WonderBeam')
Output.Add('Moment resistance = '+FormatFloat('##.#',fy)+' x ' +FormatFloat('####.##'+'/1000 = ')+FormatFloat('####.#',Mrd)+'kNm');

SuperBeam 4.60 ships with scripts for Catnic and IG 100mm box lintels, 100x140mm Stressline precast lintels and 220mm, 241mm and 302mm deep TJI joists. Although ProSteel is focused on steel design, ProSteel 5.50 will ship with these scripts and ones for 2x47 C16 timber beams and 47mm C16 timber joists. Users who feel confident to do so can write their own scripts. The Standard Notes dialog now includes additional buttons to export notes or scripts as disk files or import disk files.

Within the beam edit dialog loads page, to use a script click on the notes pane, select it from the drop-down list and press the single arrow. As with notes this copies the Library script into the current beam loads notes field. Any changes you make here only affect this copy, not the parent script. Should you wish to make changes to the parent script, select the Configuration, Library option and use the Edit option. Click on the Output tab if you want to see the script output.

Program differences: In ProSteel and EuroBeam the program-generated MaxBM and MaxSF values are factored, MaxBMu and MaxSFu are unfactored. In SuperBeam both return unfactored values.

Checking engineers please note: Please pay particular attention to the output produced by scripts as it may not have been independently verified. To make this clear, the script-generated output is preceded by 'Script generated output follows' and followed by 'End of script-generated output.


Additional information for IT support staff

The scripts we supply are installed as separate files in the program folder and have a .gtpas extension for scripts common to SuperBeam, ProSteel and EuroBeam, and .gtspas, .gtppas and .gtepas for program-specific scripts. The program installer sets the UpdateStdNotes key value to 1 in the program INI file to indicate that new script files may have been installed. When the program runs it checks this value; if '1' all new script files are read in and added to the Standard Notes Library and this key is set to '0'

The filename(s) of new scripts are added to the xxHandledScriptsList.txt (xx=SB, PS or EB) in the ProgramData\Greentram or ProgramData\SDA folder. If you delete a script from within the Library it will not be replaced automatically on the next install as its name is in the handled scripts file. You can manually replace a script at any time by pressing the Import button in the Library dialog and locating the file.

The script file name is used as the default title within the Library; Once the script has been imported into the Library you can change its name or contents if desired.


Top Links

© 2017 Greentram Software Last updated 11 Apr 2017