StructViz3D is a web-based application for visualizing and interacting with 3D structural engineering models. It provides engineers, architects, and designers with a powerful tool to view, analyze, and manipulate STL and GLTF files directly in the browser.
- High-Performance 3D Rendering: Built on Three.js for smooth, hardware-accelerated 3D visualization
- Multiple File Format Support: Load and visualize STL and GLTF/GLB files
- Advanced Camera Controls:
- Orthographic and perspective camera modes
- Zoom, pan, and orbit functionality
- Precise model focusing
- Comprehensive Viewing Options:
- Customizable model colors
- Wireframe visualization mode
- Enhanced pencil-sketch rendering
- Multiple grid planes (XZ, XY, YZ) with customizable colors and divisions
- Flexible Lighting System: Adjust lighting to enhance model visibility and detail
- Model Orientation Controls: Easily reset and adjust model orientation
- Fullscreen Mode: Maximize your workspace for detailed inspection
- Keyboard Shortcuts: Streamline your workflow with convenient shortcuts
- Responsive Design: Works on desktop and mobile devices
- Drag Mode: Toggle between rotation and pan modes for intuitive model manipulation
Visit the live application: https://yadnyeshkolte.github.io/structviz3d-react/
StructViz3D consists of two main components:
- Frontend: React-based web application with Three.js for 3D rendering
- Backend API: Python-based service for file processing and model optimization
The frontend is deployed on GitHub Pages, while the backend API is hosted on Render.com.
- Visit https://yadnyeshkolte.github.io/structviz3d-react/
- Choose "Try Sample Model" to explore the application with a pre-loaded model
- Or select "Upload Your Model" to visualize your own STL or GLTF/GLB files
- Node.js (v14 or higher)
- npm or yarn
-
Clone the repository:
git clone https://github.com/yourusername/structviz3d.git cd structviz3d
-
Install dependencies:
npm install # or yarn install
-
Start the development server:
npm start # or yarn start
-
Open your browser and navigate to
http://localhost:3000
By default, the application connects to the backend API deployed on Render.com. To use a different API endpoint:
- Create a
.env
file in the project root directory - Add the following line:
VITE_APP_API_URL=https://your-api-endpoint.com
- Left Mouse Button: Rotate model (default) or pan (in drag mode)
- Right Mouse Button: Pan the camera
- Mouse Wheel: Zoom in/out
- Double Click: Focus on a specific part of the model
- Color Selector: Change the model's color
- Camera Controls: Switch between perspective and orthographic views
- View Controls: Set standard views (top, front, side, etc.)
- Grid Controls: Toggle and customize grid planes
- Orientation Controls: Reset and adjust model orientation
- Wireframe Controls: Toggle wireframe visualization modes
- Lighting Controls: Adjust scene lighting
- Press keyboard button to view all available keyboard shortcuts
The backend API code is available in a separate repository: https://github.com/yourusername/structviz3d-api
This project is licensed under the MIT License - see the LICENSE file for details.