Skip to content

tomohiron907/Strecs3D

Repository files navigation

Strecs3D

Platform License Build Status


日本語はこちら

Overview

Strecs3D is a preprocessing software that generates optimized infill for 3D printing based on structural analysis results. It automatically sets dense infill for areas under stress and sparse infill for areas without stress, achieving both material savings and strength optimization.

Strecs3D Screenshot


Key Features

  • Visualization of Structural Analysis Results: Load stress distribution from VTK files and display in 3D
  • Stress-based Region Segmentation: Automatically segment 3D models based on stress thresholds
  • Variable Density Infill Generation: Set infill density according to stress levels
  • Slicer Compatibility: Export 3MF files compatible with Cura and Bambu Studio

Installation

1. Download Release Version

  1. Go to GitHub Releases
  2. Download according to your OS:
    • Windows: Strecs3D-Windows-Installer.exe
    • macOS: Strecs3D-macOS.dmg

2. Installation

Windows

# Run the downloaded installer
# Follow the installation wizard
# A shortcut will be created on the desktop

macOS

# 1. Open the downloaded DMG file
# 2. Drag & drop the Strecs3D application to the Applications folder
# 3. Launch from Applications

Usage

1. Prepare Files

Input Files

  • STL file: 3D model exported from CAD software (binary format only)
  • VTU file: Analysis results exported from structural analysis software

2. Basic Workflow

Step 1: Import Files

  1. Launch Strecs3D
  2. Select STL file with "Open Stl File"
  3. Import VTU file similarly

Step 2: Set Stress Thresholds

  1. Check the stress distribution
  2. Use the density slider to set infill density for each stress level
  3. Preview the result

Step 3: Select Slicer

  • Cura: Standard 3MF output
  • Bambu Studio: Optimized output for Bambu Studio

Step 4: Execute Processing

  1. Click the Process button
  2. Confirm region segmentation
  3. Export the file with Export 3MF

Step 5: Use in Slicer

  1. Load the exported 3MF file in your slicer
  2. Slice as usual
  3. Infill patterns based on stress distribution will be generated

Sample Files

The examples/ folder contains the following samples:

Folder Name Description
bracket/ Bracket model
cantilever/ Cantilever beam model
drone/ Drone component model
tablet_stand/ Tablet stand model

Each sample includes STL and VTU files for testing the software.


System Requirements

Supported OS

OS Version
Windows 11 (64bit)
macOS 10.15 or later

Recommended Environment

Item Recommended
RAM 8GB or more
Storage 1GB free space

Technical Specifications

Architecture

  • Framework: Qt 6
  • 3D Visualization: VTK (Visualization Toolkit)
  • File Processing: lib3mf, libzip
  • Build System: CMake

Main Components

Component Role
ApplicationController Main application control
ProcessPipeline File processing pipeline
VisualizationManager 3D visualization management
ExportManager 3MF file output management
VtkProcessor VTK file processing
Lib3mfProcessor 3MF file processing

Supported Slicers

  • Cura: Standard 3MF format
  • Bambu Studio: Dedicated optimized format

Troubleshooting

Frequently Asked Questions and Solutions

  • Q: Cannot load STL file
    • A: Only binary format STL files are supported. If you have ASCII format, please convert it to binary in your CAD software.
  • Q: Cannot load VTU file
    • A: Please ensure the file is in VTK VTU format. For other formats, conversion to VTK format is required.
  • Q: Cannot load 3MF file in slicer
    • A: Please confirm that your slicer supports the 3MF format.
  • Q: Error occurs during processing
    • A: The file size might be too large. Check memory usage and simplify the model if necessary.

Developer Information

Project Structure

Strecs3D/
├── core/           # Core processing logic
├── UI/             # User interface
├── utils/          # Utility functions
├── resources/      # Resource files
├── examples/       # Sample files
└── cmake/          # Build configuration

Building from Source

Required Dependencies

Package Version
CMake 3.16 or higher
Qt 6.0 or higher
VTK 9.0 or higher
lib3mf 2.0 or higher
libzip 1.0 or higher
vcpkg (package manager)

Build Instructions

# Clone the repository
git clone https://github.com/tomohiron907/Strecs3D.git
cd Strecs3D

# Create build directory
mkdir build && cd build

# Configure with CMake
cmake ..

# Build
cmake --build . --config Release

Note: For installing dependencies with vcpkg, see the Wiki.


License

This project is released under the BSD 3-Clause License. See the LICENSE file for details.


Support


Changelog

v1.0.0

  • Initial release
  • STL/VTU file support
  • Cura/Bambu Studio compatibility
  • Basic stress-based segmentation functionality

Language Support