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