DesignBuilder Software -- Building Performance Simulation (VB6)
DesignBuilder Software Ltd is a UK-based software developer dedicated to bringing advanced building performance simulation within reach of practitioners across architecture, engineering and energy assessment. Founded to simplify the path from conceptual design to environmental performance optimization, DesignBuilder’s solutions enable users to model, simulate and analyse the energy, comfort, daylighting, HVAC and whole-life-cost outcomes of buildings with far less friction than traditional tools.
At the heart of the company’s offering is the flagship product DesignBuilder, a graphical, intuitive environment built around the proven simulation engine EnergyPlus. The product represented more than 20 years of investment and supports a wide range of modules that allow users to both design and verify building performance:
|
|---|
The DesignBuilder codebase was comprised of 5 inter-related VB6 projects referencing 657 VB6 source files containing approximately 550,000 lines of code and using 46 COM libraries and components.
DesignBuilder worked with GM to reproduce the product in C#/.NET in a manner that precisely preserved the domain-specific functional depth, performance, and user experience. The project employed the Transform and Assemble methodology: GM prepared a translation of the legacy system then the DesignBuilder team used this as a starting point for a fully optimized functionally equivalent C#-based implementation. The translation included several customizations such as retaining type Short for Integer and strengthening the weakly typed elements of the object model. The result was build-complete, organized into a Visual Studio solution, and ready for refactoring and further development by the DesignBuilder team.
GM developed the initial translations in about 8 weeks and also provided updated translations several time over the course of the project to facilitate keeping the emerging .NET code in sync with changing VB6 codes.
⚠️ **Warning**:
INCLUDEmacro references a page or excerpt that could not be found:(no page reference provided)
