Vizzio - IFC Viewer with 3D/VR/AI ๐๏ธ





**Professional IFC Viewer with Intuitive 3D Navigation, VR Support, and AI Assistant**
[๐ Download](https://github.com/avilaops/vizzio2/releases/latest) โข [๐ Documentation](/docs/INDEX.html) โข [๐ค AI Setup](/AI_README.html) โข [๐ Report Bug](https://github.com/avilaops/vizzio2/issues)
โจ Highlights
- ๐ฎ Intuitive 3D Navigation - Orbital camera with CAD-style controls
- ๐ฅฝ Full VR Support - Physics-based teleportation and gesture recognition
- ๐ค AI Assistant - Local AI powered by Ollama (100% private)
- ๐ Visual Reference - 3D grid, axes, mini-map, and compass
- ๐ซ Rich Feedback - Animated indicators and selection effects
- ๐ Interactive Tutorial - 12-step guided learning experience
- โก High Performance - 60+ FPS desktop, 90 FPS VR
- ๐ Free & Open Source - MIT License
๐ฏ Features
๐ 3D/VR Navigation System (NEW! โจ)
- Orbital Camera: Intuitive arcball navigation around models
- Camera Presets: Quick views (Front, Top, Right, Isometric)
- Grid & Axes: 3D reference grid with colored XYZ axes
- Interactive Feedback: Hover indicators and selection rings with animations
- Mini-map & Compass: Real-time 2D minimap and 3D compass
- VR Teleportation: Physics-based teleport system with visual arc
- VR Gestures: Swipe detection and two-hand grab interactions
- Interactive Tutorial: 12-step guided tutorial with automatic action detection
- Contextual Hints: Smart tips based on user actions
๐ AI Assistant (NEW!)
- Ollama Integration: Local AI powered by Ollama
- IFC/BIM Expert: Specialized assistant for building models
- Element Analysis: AI-powered property analysis
- Contextual Help: Smart suggestions based on your workflow
- Natural Language: Ask questions in plain English
- Privacy-First: 100% local processing, no data leaves your machine
Core Functionality
- IFC File Support: Load and parse IFC files (IFC2x3, IFC4, IFC4x3)
- 3D Visualization: OpenGL-based real-time 3D rendering
- Element Organization: Automatic categorization by IFC element types
- Color Coding: Intelligent color assignment based on element types
- Property Extraction: Complete IFC properties, quantities, and metadata
- Interactive Selection: Click-to-select elements with ray picking
- Professional UI: ImGui-based interface with multiple panels
Navigation & Controls
- Orbital Camera: Rotate around model with right-click + drag (default mode)
- FPS Mode: Toggle with โOโ key for first-person navigation
- Pan: Middle-click + drag for lateral movement
- Camera Presets: Numpad 1/3/7/0 for Front/Right/Top/Isometric views
- Variable Speed: Adjustable camera movement speed (+/- keys)
- Focus Mode: Press โFโ to automatically frame the loaded model
- Zoom: Mouse scroll wheel support
- Element Selection: Left-click to select, hover to highlight
- Grid & Axes: Toggle with G/H keys for spatial reference
- Mini-map: Press โNโ to show/hide navigation minimap
- Compass: Press โBโ to show/hide 3D orientation compass
User Interface (NEW! ๐)
- Element List Panel: Search, filter by type, quick selection
- Properties Panel: View and edit element properties
- Statistics Panel: Real-time model metrics
- VR Settings Panel: Configure IPD and VR parameters
- Tutorial System: Interactive 12-step guided tutorial (Press โTโ)
- Contextual Hints: Smart tips that appear based on your actions
- Main Menu: File, View, VR/AR, Help menus
VR/AR Support
- VR Mode: Stereoscopic rendering for VR headsets
- OpenXR Integration: Ready for real VR hardware
- VR Teleportation: Physics-based arc teleport system
- VR Gestures: Swipe and multi-hand gesture recognition
- AR Mode: Integration hooks for AR devices
- Device Tracking: Head and controller tracking support
- Configurable Settings: IPD, head height, comfort options
Rendering Features
- Advanced Lighting: Configurable directional lighting
- GLSL Shaders: Modern vertex and fragment shaders
- Interactive Feedback: Animated hover and selection indicators
- Grid Rendering: 3D reference grid with configurable transparency
- Axes Display: Color-coded orientation axes (RGB = XYZ)
- Mini-map Overlay: 2D navigation minimap with player indicator
- Compass Overlay: 3D rotating compass showing cardinal directions
- Culling: Back-face culling for performance
- Depth Testing: Proper 3D depth rendering
- Selection Highlight: Visual feedback for selected elements
๐ค AI Assistant Setup
Quick Start (3 steps)
- Install Ollama
# Windows
winget install Ollama.Ollama
# Or download from: https://ollama.ai/download
- Setup AI models
# Run the setup script (RECOMMENDED)
.\setup-ollama.bat
# Or manually:
ollama pull llama3.2:3b
- Run VIZZIO
The AI Assistant will load automatically! โ
For detailed setup and usage, see: AI_README.md
๐ฎ 3D/VR Navigation System
Quick Start
- Basic Navigation
Right-Click + Drag โ Rotate around model (Orbital mode)
Middle-Click + Drag โ Pan view
Mouse Scroll โ Zoom in/out
WASD + Space/Shift โ Move camera
- Camera Presets (Press to activate)
Numpad 7 โ Top view (Plan)
Numpad 1 โ Front view
Numpad 3 โ Right side view
Numpad 0 โ Isometric view
F โ Focus on model
R โ Reset camera
- Visual Aids
G โ Toggle Grid (100m ร 100m reference)
H โ Toggle Axes (RGB = XYZ)
N โ Toggle Mini-map
B โ Toggle Compass
O โ Switch Orbital/FPS mode
- Tutorial & Help
T โ Start interactive tutorial (12 steps)
F1 โ Show all controls
Controls
๐ฎ Basic Navigation
- W/A/S/D: Move forward/left/backward/right
- Space: Move up
- Left Shift: Move down
- +/-: Increase/decrease movement speed
๐ฑ๏ธ Mouse Controls
- Right-Click + Drag: Rotate view (Orbital mode - default)
- Middle-Click + Drag: Pan view (move sideways)
- Mouse Scroll: Zoom in/out
- Left-Click: Select element
- ESC: Release mouse (when captured) or exit application
๐ท Camera Presets
- Numpad 1: Front view
- Numpad 3: Right side view
- Numpad 7: Top view (Plan)
- Numpad 0: Isometric view
- F: Focus on model center
- R: Reset camera to default
๐จ Visual Aids
- G: Toggle Grid (100m reference grid)
- H: Toggle Axes (RGB = XYZ orientation)
- N: Toggle Mini-map (top-right corner)
- B: Toggle Compass (3D orientation)
- O: Switch between Orbital/FPS camera modes
- L: Toggle lighting on/off
๐ฏ Element Interaction (NEW! ๐)
- Left-Click: Select element
- Hover: Show hover indicator (cyan circle)
- Delete: Clear selection
๐ Tutorial & Help
- T: Toggle interactive tutorial (12 steps)
- F1: Show complete controls help in console
- M: Activate measurement mode
- F12: Take screenshot
๐ฅฝ VR/AR
- F2: Toggle VR mode (with teleport & gestures)
- F3: Toggle AR mode
๐ช Window
- F11: Toggle fullscreen
- Ctrl+O: Open IFC file dialog
Features in Detail
Orbital Camera
- Intuitive rotation around a focal point
- Smooth pan with middle mouse button
- Smart zoom that maintains orientation
- Auto-focus on loaded models
Visual Feedback
- Hover indicator: Cyan pulsing circle when mouse over elements
- Selection ring: Gold animated ring around selected elements
- Distance fade: Indicators become transparent when far away
VR Mode (F2)
- Teleportation: Physics-based arc shows valid/invalid targets
- Gestures: Swipe left/right, two-hand grab
- Smooth locomotion: Alternative to teleport
- Controller tracking: Ready for OpenXR devices
Tutorial System
12 Interactive Steps:
- Welcome
- Load IFC model
- Orbital rotation
- Pan movement
- Zoom
- Element selection
- Camera presets
- Grid & axes
- Element list
- Measurements
- VR mode (optional)
- Completion
Smart Features:
- Automatic action detection
- Contextual hints
- Progress tracking
- Skip/previous navigation
For complete 3D/VR documentation, see:
๐ฆ Requirements
Project Structure
Vizzio/
โโโ AI/ # ๐ค AI Assistant
โ โโโ AIConfig.cs # AI configuration
โ โโโ OllamaService.cs # Ollama client
โ โโโ IfcAIAssistant.cs # IFC-specialized assistant
โโโ Examples/ # ๐ Code examples
โ โโโ AIExamples.cs # AI usage examples
โโโ Models/
โ โโโ IfcGeometry.cs # Vertex and mesh data structures
โ โโโ IfcElement.cs # IFC element model
โ โโโ IfcModel.cs # Complete model container
โโโ Services/
โ โโโ IfcParser.cs # IFC file parsing service
โโโ Rendering/ # ๐จ 3D Rendering
โ โโโ Camera.cs # Orbital/FPS camera with presets
โ โโโ Renderer3D.cs # OpenGL renderer
โ โโโ GridRenderer.cs # 3D grid and axes (NEW!)
โ โโโ InteractionFeedback.cs # Hover/selection indicators (NEW!)
โ โโโ Mesh.cs # Mesh management
โโโ UI/ # ๐ผ๏ธ User Interface
โ โโโ ImGuiController.cs # ImGui OpenGL renderer
โ โโโ UIManager.cs # UI panels and layout
โ โโโ MinimapCompass.cs # Minimap & compass (NEW!)
โ โโโ TutorialSystem.cs # Interactive tutorial (NEW!)
โโโ Interaction/ # ๐ฏ User interaction
โ โโโ SelectionManager.cs # Ray picking and selection
โโโ VR/ # ๐ฅฝ Virtual Reality
โ โโโ VRManager.cs # VR/AR integration
โ โโโ OpenXRManager.cs # OpenXR implementation
โ โโโ VRNavigation.cs # VR navigation & gestures (NEW!)
โ โโโ TeleportRenderer.cs # VR teleport visualization (NEW!)
โโโ Tools/
โ โโโ LayerManager.cs # Layer management
โโโ Application/
โ โโโ IfcViewer.cs # Main application controller
โโโ docs/ # ๐ Documentation
โ โโโ QUICK_START.md # Quick start guide (NEW!)
โ โโโ COMPLETE_3D_VR_SYSTEM.md # Full 3D/VR docs (NEW!)
โ โโโ TEST_CHECKLIST.md # Test checklist (NEW!)
โ โโโ PROJECT_SUMMARY.md # Project summary (NEW!)
โโโ .env # Environment configuration
โโโ setup-ollama.bat # AI setup script
โโโ test-ai.bat # AI testing script
โโโ Program.cs # Entry point
๐ Documentation
Core Documentation
3D/VR System (NEW! โจ)
AI Assistant ๐ค
Development
- Improvements Log: MELHORIAS.md - General improvements
- Contributing: See Contributing section below
๐ค Contributing
Contributions are welcome! Areas where help is needed:
AI Features ๐ค
- AI feature enhancements
- Natural language query processing
- Voice command integration
- AI-powered clash detection
3D/VR System โจ
- Full OpenXR VR hardware integration
- VR controller input mapping
- Hand tracking support
- Multiplayer VR features
- Advanced VR gestures
- Haptic feedback
Visualization
- Complete IFC geometry tessellation
- Materials and textures
- Advanced lighting (SSAO, shadows)
- Transparency support
- Section cuts and clipping
UI/UX
- UI/UX improvements
- Accessibility features
- Touch controls for tablets
- Mobile VR optimization
- Performance optimizations
- LOD (Level of Detail) system
- Occlusion culling
- Instanced rendering
Documentation
- Additional IFC schema support
- Documentation and tutorials
- Video tutorials
- Localization (i18n)
How to Contribute:
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Update documentation
- Submit a pull request
See CONTRIBUTING.md for detailed guidelines.
๐ Future Enhancements
Implemented โ
Planned Features
Geometry
For questions or support:
Documentation Links
Resources
Made with โค๏ธ for the AEC industry by Nรญcolas รvila
Visualize your BIM models with ease! ๐๏ธโจ๐ค
Version 3.0 - Complete 3D/VR System with AI Assistant
Status: โ
Production Ready
Last Updated: December 2025