node1 As Integer
node2 As Integer
E As Double
nu As Double
A As Double
I As Double
J As Double ' For torsion in 3D
L As Double
sectionType As String
elementType As String ' "frame", "truss", etc.
material As String
End Type
Type Load
fx As Double
fy As Double
fz As Double ' For 3D
mx As Double
my As Double
mz As Double
End Type
Type Support
supportType As String ' "fixed", "pinned", "roller", "spring"
kx As Double
ky As Double
kz As Double ' For 3D
kxx As Double ' Rotational springs
kyy As Double
kzz As Double
End Type
' Global collections
Public nodes As Collection
Public elements As Collection
Public loads As Collection
Public supports As Collection
Public materials As Dictionary ' Using Dictionary for easier material lookup
Public sections As Dictionary
' Analysis options
Public analysisType As String ' "2D", "3D"
Public solverType As String ' "direct", "iterative"
Public deformationScale As Double
' Main initialization and execution
Sub RunEnhancedAnalysis()
InitializeEnhancedProgram
CreateEnhancedInputForm
End Sub
Sub InitializeEnhancedProgram()
Set nodes = New Collection
Set elements = New Collection
Set loads = New Collection
Set supports = New Collection
P a g e 51 | 62