A Python module for track design and management with 3D visualization, built with the
Panda3D Framework
Track models supplied by Michal Fanta on Printables (under the Creative Commons Attribution-NonCommercial License)
- Track Management: Create, edit, and manage railway tracks with various types (straight, curved, elevated, switches, crossings)
- 3D Visualization: Interactive 3D editor with camera controls
- Collision Detection: Robust collision detection for automatic linking
- GUI Interface: User-friendly graphical interface for track design
- State Management: Save and load track configurations
- Export Functionality: Export BOM for 3D printing
brio/
├── controls/ # Camera and selection controls
├── gui/ # GUI components (file browser, gallery, properties)
├── models/ # Data models (track, table)
├── state/ # State management and export
├── tools/ # Specialized tools (collision editor)
├── assets/ # Track models, textures, fonts, icons
│ └── models/
├── brio/ # Brio track pieces
│ ├── Straight/ # Straight track pieces
│ ├── Curved/ # Curved track pieces
│ ├── Elevated/ # Elevated/bridge tracks
│ ├── Crossing/ # Track crossings
│ └── Switches/ # Track switches
└── citystreets/ # City street pieces
├── Straight/ # Straight street pieces
├── Curved/ # Curved street pieces
├── Rail/ # Railway/street pieces
├── Crossing/ # Street crossings
└── Roundabout/ # Street roundabout pieces
└── main.py # Main application entry point
git clone https://github.com/jaredcasarez/trax
pip install ./traxIn the terminal (in a new session, if just installed), run:
trax- Python 3.7+
- Panda3D (for 3D graphics and physics)
- panda3d-simplepbr (lighting and rendering)
