Belt-drive systems engineering toolkit
legacy applications
Services:
Project overview
In 2019, Abto Software began a long-term cooperation with a leading manufacturer in the machinery industry. Our client is a public corporation designing on-demand power transmission solutions serving agriculture, automotive, construction, and other large sectors.
Abto Software was involved in migrating outdated technologies (VBA, VB6, and LISP) to the .NET framework. After the legacy products were converted, we helped the client go cross-platform and added new functionality to boost overall productivity.
Main goals
At the first stage of our long-term cooperation, we focused on the following issues:
- The aging of the legacy software lead to:
– Severe risks of potential data corruption
– Potential risks of customer support deterioration - The utilization of Visual Basic 6, which is no longer being supported, lead to:
– Operational risks
– Intermittent crashes, which caused work loss
– System vulnerabilities, which caused security threats - Additional code was executed in VBA, which sensibly complicated troubleshooting and maintenance
- Matlab and AutoCAD routines required costly software licenses
At the next stages, as the outdated tools were migrated to modern .NET 6 (LTS version), we moved on to:
1. Cross-platform development
2. Implementing on-demand, additional functionality
How the solution works
The solution is a desktop application providing multiple specialized modules for streamlined belt-drive design. The product is built based on C# .NET 6 WPF along with MVVM architecture.
The platform is designed to serve the company’s internal needs:
- There are 6 modules that support the specification and engineering of complex belt-drive systems, which are being distributed across multiple major sectors
- 2 of 6 modules are also available publicly – external end-users might use these modules to perform own calculations and order custom-built solutions precisely tailored to their specific needs
The toolkit provides specialists with the following functionality:
- A comprehensive design guidance
- A complete, automatically synching product and pricing catalog
- Project and design creation
- Derivatives creation
- Design calculation
– Geometry properties
– Belt life
– Shaft load
– Tensioning information
– Energy savings
– Cost savings - PDF format report creation and export
Along with:
- User and permission management
- Version control
- Automatic updates
- Automatic backups
Design modules in detail
Module 1
2-point drive design software (available publicly), rewritten from Windows Forms, used to:
- Review multiple potential solutions for defined and existing industrial drives
- Estimate resulting cost savings
Module 2
Multi-point and serpentine drive design tool (available publicly), rewritten from Windows Forms, used to:
- Automatically calculate belt tension, belt length, shaft load, and more
- Receive recommendations on multiple critical factors
Module 3
This module, rewritten from Microsoft Excel:
- Is used to design motorcycle and scooter drives
- Provides recommendations on the best-suiting belts
Module 4
This module, rewritten from outdated VB6, MATLAB and MS Excel:
- Is built to analyze the layout of accessory belt drives
- Includes several additional features (belt rib fatigue life, vibration analysis and simulation, and more)
Module 5
Rewritten from outdated VB6, this module is built to analyze the layout of synchronous belt drives.
In particular:
- Belt-tensioner interaction
- Installation conditions
- Tolerance stack-up
- Thermal behavior
Module 6
Rewritten from outdated VBA and LISP AutoCAD plugin, this module is used to design teeth profiles.
The tool helps to:
- Forward generate profiles from hob to pulley
- Backward generate profiles from hob to pulley
- Wrap mold into rack
- Un-wrap rack into mold
Mobile functionality in detail
The platform’s mobile version provides the following functionality:
1. An easy-to-navigate 2-point drive design module, which allows users to:
– Select desired belt products
– Fill in drive details
– Consider service and equipment as well as other important conditions
– Create and export reports
2. Premises’ management – this section allows to:
– Add/merge/edit premises
– Add drives
– Review distributors
– Search co-workers
3. Tensioning calculation – by using this tool, the user can run tensioning calculation in 3 different modes:
– By choosing standard parameters from the product catalog
– By measuring belt frequency without calculating tension
– By entering custom parameters
4. RPM calculation – by using the flashlight, the user can measure belt RPM
5. Sound meter – by using the microphone, the user can measure noise levels in decibels
6. Distance meter – by using the camera, the user can calculate geometric parameters
Our contribution
We covered:
- Business analysis to further successfully handle:
– Legacy migration from outdated Microsoft Visual Studio 6.0 (Microsoft VB)
– Cross-platform development
– Functionality extension - Visual Basic 6.0 modernization (initial analysis, roadmapping, preparation, Visual Basic 6 migration, quality assurance, software development)
- Unit testing
- Automated testing
- Architecture refactoring
- Custom desktop, web and mobile development
Our team also provided additional services to ensure smooth implementation of the delivered functionality, which includes:
- Thorough testing and debugging
- VB6 to .NET performance optimization services
- Technical support and maintenance
- The creation of detailed user manuals
Main challenges
Main challenges faced during the project include the following matters:
1. Some algorithms had to be rewritten to a modern language precisely
To prevent regression issues, we covered the most important parts with both unit and automated tests.
2. Some algorithms, previously provided by the old framework, had to be rebuilt from scratch
To handle this part, we involved skilled engineers that have extensive knowledge and experience in the field of computer science.
3. Custom algorithms
In collaboration with the client company’s product engineers, we implemented industry-specific calculations.
By leveraging extensive expertise in R&D, specifically in computer vision, we provided the possibility to conduct drive measurements by using Apple ARKit.
4. Cross-platform development
To ensure easy maintenance, we shared a common business logic in C# across platforms:
- Essential functions are extracted to common data libraries
- As changes are introduced, those functions are being automatically included across platforms
Tools and technologies
Tech stack:
- C#
- .NET 6
- .NET 7
- WPF
- MVVM Light
- MahApps.Metro
- Blazor
- Xamarin
- ASP.NET Web API
- Wout Ware CadLib
Tools:
- Visual Studio 2022
- TFS
- Figma
- TestFlight
Timeline:
- January 2019 – ongoing
Team:
- 1 project manager
- 1 business analyst
- 1 CV specialist
- 4 software developers
- 1 technical lead
- 1 QA engineer
- 1 UI/UX designer
- 1 technical writer
Value delivered to business
Abto Software was working towards converting slow functions, all written in different programming languages. This allowed the business to stay highly adaptable to the fast-changing market.
In the course of further cooperation, our team successfully designed and implemented additional functionality. Besides that, we provided website and mobile development to expand the capabilities of the in-house staff and increase overall competitiveness through a cross-platform approach.
At the first stage, we modernized outdated tools and consolidated them within one solution, which allowed clients to:
- Save considerable license costs for 75% of users
- Resolve major runtime issues
- Optimize new employee training by standardizing the workflow and providing comprehensive manuals
- Minimize prospective maintenance and development costs
At the current moment, we’re covering web and mobile development to grow the client’s target audience.
So, is VB6 to .NET migration worth it? For sure.
Contact us to modernize your application and future-proof your operations.
Contact Us
To find out more about Abto Software expertise, request a quote or get a demo of your custom solution.