Convert SG Data#
One of the main capabilities of SGIO is to convert SG data between different formats.
This can be done using the sgio.convert() function (API) or the sgio convert command (CLI).
Overview#
SGIO supports conversion between:
VABS ↔ SwiftComp ↔ Abaqus ↔ Gmsh
Mesh-only conversions for visualization
Format version conversions (e.g., VABS 4.0 → 4.1)
Basic Usage#
API Method#
import sgio
sgio.convert(
file_name_in='input.inp',
file_name_out='output.sg',
file_format_in='abaqus',
file_format_out='vabs',
model_type='BM2'
)
CLI Method#
sgio convert input.inp output.sg -ff abaqus -tf vabs -m BM2
Common Parameters#
file_name_in: Input file pathfile_name_out: Output file pathfile_format_in: Input format (vabs, swiftcomp, abaqus, gmsh)file_format_out: Output formatmodel_type: Structural model (BM1, BM2, PL1, PL2, SD1)mesh_only: Convert mesh data only (default: False)renum_node: Renumber nodes (default: False)renum_elem: Renumber elements (default: False)
Common Conversion Scenarios#
Scenario 1: VABS to Gmsh for Visualization#
Convert a VABS cross-section to Gmsh format for visualization.
API:
CLI:
sgio convert cs_box_t_vabs41.sg cs_box_t_vabs41.msh \
-ff vabs -tf gmsh -m BM2 --mesh-only
Result:
Figure 1 Box cross-section visualized in Gmsh#
Scenario 2: Abaqus to VABS#
Convert an Abaqus cross-section model to VABS input format.
API:
import sgio
sgio.convert(
'airfoil.inp', # Abaqus input file
'airfoil.sg', # VABS output file
'abaqus', # Input format
'vabs', # Output format
model_type='BM2' # Timoshenko beam
)
CLI:
sgio convert airfoil.inp airfoil.sg -ff abaqus -tf vabs -m BM2
See examples/convert_abaqus_cs_to_vabs/ for a complete example.
Scenario 3: Abaqus to SwiftComp (3D)#
Convert a 3D Abaqus model to SwiftComp format.
API:
import sgio
sgio.convert(
'cube.inp', # Abaqus 3D model
'cube.sg', # SwiftComp output
'abaqus', # Input format
'swiftcomp', # Output format
model_type='SD1', # 3D solid model
sgdim=3 # 3D structure gene
)
CLI:
sgio convert cube.inp cube.sg \
-ff abaqus -tf swiftcomp -m SD1 --sgdim 3
See examples/convert_abaqus_sg3d_to_sc/ for a complete example.
Scenario 4: Format Version Conversion#
Convert between different versions of the same format.
VABS 4.0 to 4.1:
import sgio
sgio.convert(
'old_format.sg',
'new_format.sg',
'vabs',
'vabs',
file_version_in='4.0',
file_version_out='4.1',
model_type='BM2'
)
Scenario 5: Two-Step Conversion#
For more control, use separate read and write operations:
import sgio
# Step 1: Read from Abaqus
sg = sgio.read('model.inp', 'abaqus', model_type='BM2')
# Inspect or modify the data
print(f"Nodes: {len(sg.mesh.points)}")
print(f"Elements: {len(sg.mesh.cells)}")
# Step 2: Write to VABS
sgio.write(sg, 'model.sg', 'vabs')
# Step 3: Also export for visualization
sgio.write(sg, 'model.msh', 'gmsh', mesh_only=True)
See Also#
Read and Write SG Data - Detailed I/O documentation
Read Structural Model Data (.k file) - Reading analysis output
Examples - Working code examples
Test Suite - Comprehensive test cases