CrossSection

Related test suite: test_cross_section.py

To compile the CDB file a custom cross-section template is required. This file is included hereafter; please check the Main file for its relative location.

Main DAT file

Expected CDB file name: CROSS-SECTION.cdb

Runs with: SOFiSTiK 2025

Version: 1

+PROG TEMPLATE
HEAD CROSS-SECTIONS GENERATORS
    #INCLUDE .\INCLUDES\RHS-BUS-SYM-SECTION-GENERATOR.DAT
END

+PROG AQUA
HEAD MATERIAL AND SECTIONS REV-1-SOF-2025
    NORM EN 199X-200X
    STEE NO 1 TYPE S 355 ES 210000.0 GAM 78.5 TITL 'S355'

    PROF 1 TYPE CHS 100.0 10.0 MNO 1
    SREC 2 B 330.0 H 35.0 MNO 1 TITL 'PLATE 330 x 35'
    LET#SECTION_NMB 3; LET#MNO 1; LET#HEIGHT 1000.0; LET#WIDTH 300.0; LET#WEB_INDENTATION 25.0; LET#FLANGE_THK 40.0; LET#WEB_THK 30.0; LET#TITL 'RHS 1000 x 300 x 40 x 30 - 25'
    #INCLUDE RHS_BUS_SYM_SECTION_GENERATOR
END

RHS_BUS_SYM_SECTION_GENERATOR

Version: 1

#DEFINE RHS_BUS_SYM_SECTION_GENERATOR
    SECT #SECTION_NMB MNO #MNO ALPH 0.0 YM 0.0[mm] ZM 0.0[mm] TITL #TITL

    $ WORKAROUND TO SILENT WARNING 344 AND 345 (THE C/T CHECK CANNOT BE DONE)
    IF (#WEB_THK<#FLANGE_THK)
        LET#WELD_THK #FLANGE_THK
    ELSE
        LET#WELD_THK #WEB_THK
    ENDIF

    PLAT 1 +(#WIDTH/2.0-#WEB_INDENTATION-#WEB_THK/2.0)[MM]  +(#HEIGHT/2.0-#FLANGE_THK)[MM]      +(#WIDTH/2.0-#WEB_INDENTATION-#WEB_THK/2.0)[MM] -(#HEIGHT/2.0-#FLANGE_THK)[MM]      #WEB_THK[MM]
    PLAT 2 -(#WIDTH/2.0-#WEB_INDENTATION-#WEB_THK/2.0)[MM]  +(#HEIGHT/2.0-#FLANGE_THK)[MM]      -(#WIDTH/2.0-#WEB_INDENTATION-#WEB_THK/2.0)[MM] -(#HEIGHT/2.0-#FLANGE_THK)[MM]      #WEB_THK[MM]
    PLAT 3 +(#WIDTH/2.0-#WEB_INDENTATION-#WEB_THK/2.0)[MM]  -(#HEIGHT/2.0-#FLANGE_THK/2.0)[MM]  -(#WIDTH/2.0-#WEB_INDENTATION-#WEB_THK/2.0)[MM] -(#HEIGHT/2.0-#FLANGE_THK/2.0)[MM]  #FLANGE_THK[MM]
    PLAT 4 +(#WIDTH/2.0-#WEB_INDENTATION-#WEB_THK/2.0)[MM]  +(#HEIGHT/2.0-#FLANGE_THK/2.0)[MM]  -(#WIDTH/2.0-#WEB_INDENTATION-#WEB_THK/2.0)[MM] +(#HEIGHT/2.0-#FLANGE_THK/2.0)[MM]  #FLANGE_THK[MM]
    PLAT 5 +(#WIDTH/2.0)[MM]                                -(#HEIGHT/2.0-#FLANGE_THK/2.0)[MM]  +(#WIDTH/2.0-#WEB_INDENTATION-#WEB_THK/2.0)[MM] -(#HEIGHT/2.0-#FLANGE_THK/2.0)[MM]  #FLANGE_THK[MM]
    PLAT 6 -(#WIDTH/2.0)[MM]                                -(#HEIGHT/2.0-#FLANGE_THK/2.0)[MM]  -(#WIDTH/2.0-#WEB_INDENTATION-#WEB_THK/2.0)[MM] -(#HEIGHT/2.0-#FLANGE_THK/2.0)[MM]  #FLANGE_THK[MM]
    PLAT 7 +(#WIDTH/2.0)[MM]                                +(#HEIGHT/2.0-#FLANGE_THK/2.0)[MM]  +(#WIDTH/2.0-#WEB_INDENTATION-#WEB_THK/2.0)[MM] +(#HEIGHT/2.0-#FLANGE_THK/2.0)[MM]  #FLANGE_THK[MM]
    PLAT 8 -(#WIDTH/2.0)[MM]                                +(#HEIGHT/2.0-#FLANGE_THK/2.0)[MM]  -(#WIDTH/2.0-#WEB_INDENTATION-#WEB_THK/2.0)[MM] +(#HEIGHT/2.0-#FLANGE_THK/2.0)[MM]  #FLANGE_THK[MM]

    WELD 1 +(#WIDTH/2.0-#WEB_INDENTATION-#WEB_THK/2.0)[MM]  -(#HEIGHT/2.0-#FLANGE_THK)[MM]      +(#WIDTH/2.0-#WEB_INDENTATION-#WEB_THK/2.0)[MM] -(#HEIGHT/2.0-#FLANGE_THK/2.0)[MM]  #WELD_THK[MM] #MNO
    WELD 2 -(#WIDTH/2.0-#WEB_INDENTATION-#WEB_THK/2.0)[MM]  -(#HEIGHT/2.0-#FLANGE_THK)[MM]      -(#WIDTH/2.0-#WEB_INDENTATION-#WEB_THK/2.0)[MM] -(#HEIGHT/2.0-#FLANGE_THK/2.0)[MM]  #WELD_THK[MM] #MNO
    WELD 3 +(#WIDTH/2.0-#WEB_INDENTATION-#WEB_THK/2.0)[MM]  +(#HEIGHT/2.0-#FLANGE_THK)[MM]      +(#WIDTH/2.0-#WEB_INDENTATION-#WEB_THK/2.0)[MM] +(#HEIGHT/2.0-#FLANGE_THK/2.0)[MM]  #WELD_THK[MM] #MNO
    WELD 4 -(#WIDTH/2.0-#WEB_INDENTATION-#WEB_THK/2.0)[MM]  +(#HEIGHT/2.0-#FLANGE_THK)[MM]      -(#WIDTH/2.0-#WEB_INDENTATION-#WEB_THK/2.0)[MM] +(#HEIGHT/2.0-#FLANGE_THK/2.0)[MM]  #WELD_THK[MM] #MNO

    $ STRESS POINTS - CORNERS OF THE SECTION
    SPT 01 Y +(#WIDTH/2.0)[MM] Z +(#HEIGHT/2.0)[MM]
    SPT 02 Y +(#WIDTH/2.0)[MM] Z -(#HEIGHT/2.0)[MM]
    SPT 03 Y -(#WIDTH/2.0)[MM] Z -(#HEIGHT/2.0)[MM]
    SPT 04 Y -(#WIDTH/2.0)[MM] Z +(#HEIGHT/2.0)[MM]

    $ STRESS POINTS - WELD ROOT POINTS
    SPT 11 Y +(#WIDTH/2.0-#WEB_INDENTATION)[MM] Z +(#HEIGHT/2.0-#FLANGE_THK)[MM]
    SPT 12 Y +(#WIDTH/2.0-#WEB_INDENTATION)[MM] Z -(#HEIGHT/2.0-#FLANGE_THK)[MM]
    SPT 13 Y -(#WIDTH/2.0-#WEB_INDENTATION)[MM] Z -(#HEIGHT/2.0-#FLANGE_THK)[MM]
    SPT 14 Y -(#WIDTH/2.0-#WEB_INDENTATION)[MM] Z +(#HEIGHT/2.0-#FLANGE_THK)[MM]
#ENDDEF