I/O for VABS and SwiftComp
Project description
SGIO
Structure Gene (SG) I/O
Python package interfacing VABS and SwiftComp. The package is developed based on meshio, which is used for converting meshing data.
Features
The package can be used to:
- Read/write SG data from/to different formats
- Convert SG/mesh data between different formats
- Read structural property from VABS/SwiftComp output
- Create 1D SG from layup input
Supported Data Formats
- For complete SG data:
- VABS, SwiftComp, Abaqus
- For mesh data only:
- All formats supported by meshio
A structure gene (SG) is defined as the smallest mathematical building block of a structure.^1 A cross-section (CS) is a type of 2D SG.
Online documentation
Installation
Option 1: Install via pip (Recommended)
pip install sgio
Option 2: Standalone Executable (No Python Required)
Download and use the pre-built standalone executable that requires no Python installation:
- Download the latest executable from the releases page
- Run directly from command line:
# Windows sgio.exe --help # Linux/macOS ./sgio --help
Option 3: Build Your Own Executable
Build a standalone executable from source:
# Windows
build_executable.bat
# Linux/macOS
./build_executable.sh
# Or manually
python build_executable.py
See BUILD_EXECUTABLE.md for detailed instructions.
Option 4: Manual Installation
- Download the package.
- Install dependencies:
pip install -r <INSTALL_DIR>/sgio/requirements.txt
- Configure environment variables:
- Add the package root directory to
PYTHONPATH. - Add
<INSTALL_DIR>/sgio/bintoPATH.
- Add the package root directory to
Usage
API
Example: Read Beam Properties from VABS Output File
import sgio
model = sgio.readOutputModel('my_cross_section.sg.k', 'vabs', 'BM1')
Command Line Interface
Example: Convert Cross-Sectional Data from Abaqus (.inp) to VABS Input
Suppose a cross-section has been built in Abaqus and output to cross-section.inp.
To convert the data to the VABS input (Timoshenko model) cross-section.sg:
python -m sgio convert cross-section.inp cross-section.sg -ff abaqus -tf vabs -m bm2
Complete Options
usage: sgio [-h] [-v] {build,b,convert,c} ...
I/O library for VABS (cross-section) and SwiftComp (structural gene)
positional arguments:
{build,b,convert,c} sub-command help
build (b) Build 1D SG
convert (c) Convert CS/SG data file
optional arguments:
-h, --help show this help message and exit
-v, --version Show version number and exit
Convert SG Data
usage: sgio convert [-h] [--loglevelcmd {debug,info,warning,error,critical}]
[--loglevelfile {debug,info,warning,error,critical}] [--logfile LOGFILE]
[-ff FROM_FORMAT] [-ffv FROM_FORMAT_VERSION] [-tf TO_FORMAT]
[-tfv TO_FORMAT_VERSION] [-d {1,2,3}] [-ms {x,y,z,xy,yz,zx}] [-mry {x,y,z}]
[-m {sd1,pl1,pl2,bm1,bm2}] [-mo] [-re]
from to
positional arguments:
from CS/SG file to be read from
to CS/SG file to be written to
optional arguments:
-h, --help show this help message and exit
--loglevelcmd {debug,info,warning,error,critical}
Command line logging level
--loglevelfile {debug,info,warning,error,critical}
File logging level
--logfile LOGFILE Logging file name
-ff FROM_FORMAT, --from-format FROM_FORMAT
CS/SG file format to be read from
-ffv FROM_FORMAT_VERSION, --from-format-version FROM_FORMAT_VERSION
CS/SG file format version to be read from
-tf TO_FORMAT, --to-format TO_FORMAT
CS/SG file format to be written to
-tfv TO_FORMAT_VERSION, --to-format-version TO_FORMAT_VERSION
CS/SG file format version to be written to
-d {1,2,3}, --sgdim {1,2,3}
SG dimension (SwiftComp only)
-ms {x,y,z,xy,yz,zx}, --model-space {x,y,z,xy,yz,zx}
Model space
-mry {x,y,z}, --material-ref-y {x,y,z}
Axis used as the material reference y-axis
-m {sd1,pl1,pl2,bm1,bm2}, --model {sd1,pl1,pl2,bm1,bm2}
CS/SG model
-mo, --mesh-only Mesh only conversion
-re, --renumber-elements
Renumber elements
Check out the example examples/convert_cs_from_abaqus_to_vabs for more details.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Reference
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sgio-0.6.tar.gz.
File metadata
- Download URL: sgio-0.6.tar.gz
- Upload date:
- Size: 454.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
36e13270081a0efc3ae1897c8ca6085f078a6ed028dcd646cf973f8c2962e3cd
|
|
| MD5 |
fb4465891c8f83ae70740ac1cfcb29f3
|
|
| BLAKE2b-256 |
33b2dd5744745ec60a724029f9b44e7506dbe6533c8d738f711421cb624f117d
|
File details
Details for the file sgio-0.6-py3-none-any.whl.
File metadata
- Download URL: sgio-0.6-py3-none-any.whl
- Upload date:
- Size: 591.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
78f9ed1a6125445a291d779cd3806aaa64e803529a0c3fb09b363e33032377a2
|
|
| MD5 |
2043be05b4ca8a4e17797d8cfef223d3
|
|
| BLAKE2b-256 |
8d29d2e8d2436b3d13bc382dbbcf24e0fb7c0b7dff7101727c6172481a3a5661
|