Overview
Organizer v2 is a comprehensive productivity suite designed to enhance workflow efficiency in Tekla Structures. This advanced toolset combines view management, object analysis, and visual organization features into a unified, user-friendly interface.
Built with modern WPF architecture and MVVM design pattern, the application provides real-time interaction with Tekla models while maintaining excellent performance and responsiveness. The tool is particularly valuable for large projects where efficient model navigation and object identification are critical.
Productivity Focus: Designed to reduce time spent on routine view management tasks by up to 70%, allowing engineers to focus on design and analysis work.
Core Features
✂️
Intelligent Clipping Planes
Automatic generation of clipping planes based on selected objects with smart boundary detection
🎨
Advanced Coloring
Dynamic object coloring by profile, material, class, or phase with custom color generation
🔍
Object Analysis
Real-time analysis of selected objects with comprehensive property display
🗄️
Database Integration
MySQL database for steel profile properties with geometric and structural data
👁️
View Management
Bulk operations on views with selective or global application modes
📋
Smart UI
Context-aware interface that adapts to selected objects and model state
Technical Architecture
MVVM Implementation
The application follows a strict Model-View-ViewModel architecture for maintainable and testable code:
- ViewModels: MainViewModel, ViewPropertiesViewModel, SelectedObjectViewModel
- Models: Data models for profiles, materials, and connection data
- Views: Modular user controls with data binding
- Services: Database access, Tekla integration, and utility services
private void Events_SelectionChangeEvent()
{
lock (_selectionEventHandlerLock)
{
ModelObjectEnumerator selectedObjects =
new ModelObjectSelector().GetSelectedObjects();
if (selectedObjects.GetSize() == 0 || selectedObjects.GetSize() > 1)
{
HandleNoObjectSelection();
}
else
{
ProcessSelectedObjects(selectedObjects);
}
}
}
Database Architecture
MySQL database stores comprehensive steel profile information:
- Profile Geometry: Height, width, thickness, radii measurements
- Section Properties: Area, moments of inertia, section moduli
- Design Data: Bolt specifications, spacing requirements
- Surface Data: Area calculations for coating and painting
Clipping Plane Intelligence
Smart Boundary Detection
The clipping plane system automatically analyzes selected objects to determine optimal viewing boundaries:
public static void CreateClipPlanes()
{
ModelViewEnumerator ViewEnum = GetViewEnum();
List<Solid> solids = GetSolidsFromSelected();
GetMinMaxValues(solids, out double maxX, out double minX,
out double maxY, out double minY,
out double maxZ, out double minZ);
while (ViewEnum.MoveNext())
{
View ActiveView = ViewEnum.Current;
CreateClipPlanesForView(ActiveView, maxX, minX, maxY, minY, maxZ, minZ);
}
}
Advanced Features
- Assembly Support: Handles both individual parts and complete assemblies
- Offset Control: Configurable offset distance for clipping plane placement
- View Selection: Apply to selected views only or all views simultaneously
- Cleanup Operations: Automatic removal of existing clipping planes before creation
Geometric Calculations
The system performs sophisticated geometric analysis:
- Bounding Box Analysis: Calculates minimum enclosing box for complex geometries
- Coordinate System Handling: Respects Tekla's global coordinate system
- Multi-object Processing: Efficiently handles large selection sets
Advanced Coloring System
Dynamic Color Generation
The coloring system creates visually distinct colors for object categorization:
public static int[][] GenerateRainbowColorsWithoutRed(int n)
{
int[][] colors = new int[n][];
double hueStep = 300.0 / n;
double startHue = 60.0;
for (int i = 0; i < n; i++)
{
double hue = startHue + (i * hueStep);
int[] color = HsvToRgb(hue, 1.0, 1.0);
colors[i] = color;
}
return colors;
}
Representation File Management
Automatic creation and management of Tekla representation files:
- Object Group Creation: Generates .PObjGrp files for each category
- Color Assignment: Creates .rep files with RGB color definitions
- Tekla Integration: Seamless activation through ViewHandler
- File Management: Automatic cleanup and regeneration as needed
Supported Color Modes
📏
By Profile
Colors objects based on steel profile type with database-driven categorization
🔩
By Material
Groups objects by material grade with predefined color schemes
📋
By Class
Standard Tekla class-based coloring with enhanced visual clarity
⏰
By Phase
Phase-based coloring for construction sequence visualization
Real-time Object Analysis
Comprehensive Property Display
The object analysis system provides detailed information about selected elements:
Basic Part Information
- Identification: Profile, name, class, phase, material
- Numbering: Part and assembly numbering with prefixes
- Position: Start and end coordinates with precision
- Status: Modification date and update status
Advanced Design Properties
Database-driven display of structural properties:
- Geometric: Height, width, thickness, radii, area
- Section: Moments of inertia, section moduli, radii of gyration
- Connection: Bolt specifications, spacing requirements
- Surface: Area per unit length for cost estimation
public MyProfil GetProfileGeometryByName(string profileName)
{
using (MySqlConnection connection = new MySqlConnection(connectionString))
{
connection.Open();
string query = "SELECT * FROM steeldb.iprofiles WHERE Name = @Name";
MySqlCommand command = new MySqlCommand(query, connection);
return CreateProfileFromReader(command.ExecuteReader());
}
}
User Interface Design
Modern WPF Implementation
The interface leverages advanced WPF features for professional appearance and functionality:
🎨
Custom Styling
ResourceDictionary-based styling with consistent visual themes
🔄
Data Binding
Two-way data binding with automatic UI updates and validation
📱
Responsive Layout
Grid-based layout that adapts to different window sizes
⚡
Performance
Virtualized controls and efficient rendering for large datasets
Custom Controls
Specialized UI components enhance user experience:
- Toggle Switch: Custom animated toggle button with smooth transitions
- Expandable Sections: Collapsible content areas for organized information
- Property Grids: Structured display of object properties with units
- Command Buttons: Context-aware buttons with visual feedback
<Style x:Key="ToggleButtonStyle" TargetType="{x:Type ToggleButton}">
<Setter Property="Background" Value="{DynamicResource SecondaryGrayColor}"/>
<Setter Property="Height" Value="20"/>
<Setter Property="Width" Value="35"/>
<>
</Style>
Performance & Optimization
Tekla API Optimization
Efficient interaction with Tekla Structures through optimized API usage:
- Event Handling: Thread-safe selection event processing
- Object Caching: Minimize API calls through intelligent caching
- Batch Operations: Group operations for better performance
- Memory Management: Proper disposal of Tekla objects
Database Performance
- Connection Pooling: Efficient database connection management
- Query Optimization: Indexed queries for fast profile lookups
- Data Caching: In-memory caching of frequently accessed data
- Lazy Loading: Load data only when needed
UI Responsiveness
- Async Operations: Non-blocking UI for long-running tasks
- Progressive Loading: Incremental data loading for large datasets
- Virtual Scrolling: Efficient rendering of large lists
- Smooth Animations: Hardware-accelerated transitions
Installation & Configuration
System Requirements
- Tekla Structures 2021.0 or later
- Windows 10/11 64-bit
- MySQL Server 8.0+ (local or remote)
- .NET Framework 4.8 or .NET 5+
- 8GB RAM minimum, 16GB recommended
- OpenGL 3.0 compatible graphics card
Setup Process
- Install MySQL server and import steel profile database
- Configure database connection string in application settings
- Extract Organizer v2 files to Tekla applications folder
- Register the application with Tekla Structures
- Configure default preferences and UI layout
- Test all features with sample model
Database Configuration
The application requires access to a comprehensive steel profile database:
- Profile Data: European I-sections, channels, angles
- Material Properties: Steel grades and specifications
- Connection Data: Bolt and fastener specifications
- Regional Standards: Support for local building codes
Database Setup: Complete SQL scripts are provided for easy database initialization with sample data.
Use Cases & Benefits
🏗️
Large Projects
Essential for complex models with 1000+ parts requiring efficient navigation
👥
Team Collaboration
Standardized view management across design teams
📊
Quality Control
Visual identification of design inconsistencies
📈
Productivity
70% reduction in time spent on view management tasks
Professional Impact
- Design Efficiency: Faster model navigation and object identification
- Error Reduction: Visual confirmation of design decisions
- Training Aid: Helps new users understand steel properties
- Documentation: Clear visual representations for design reviews
User Feedback: "Organizer v2 has become an essential part of our daily workflow. The clipping plane automation alone saves hours every week." - Senior Structural Engineer
Future Development
Planned Enhancements
- Cloud Integration: Shared settings and preferences across teams
- AI-Powered Suggestions: Smart recommendations for view optimization
- Extended Database: Additional steel catalogs and international standards
- Mobile Companion: Tablet app for field verification
- Report Generation: Automated documentation of model properties
- Plugin Ecosystem: API for third-party extensions
Version History
- v2.1 (Current): Enhanced object analysis with database integration
- v2.0: Complete rewrite with MVVM architecture
- v1.5: Advanced coloring system implementation
- v1.0: Initial release with basic clipping plane functionality