.NET and .NET Core

I started with practical programming sometime in 2006, first writing VBA scripts in MS Excel. Then a few months later I started using Visual Studio and begun programming in VB.NET. My strongest programming skills and the most extensive programming experience is in C#, and prior to that in VB.NET and VB6. I used to develop applications in WinForms, then I switched to WPF, using MVVM design pattern, dependency injection, and all other advanced aspects of object-oriented programming.

WPF and WinForms

Scaffold Designer

These are screenshots from an AutoCAD .NET (C#) plugin for the design of scaffolds which I created and worked on freelace for a client from UK. It's a WPF application. The plugin can automatically draw 2D drawings of a hanging scaffold. There is the plan view, front elevation and side elevation. The drawings are drawn on the basis of user data input in the application's windows. The 'automatic draftsman' is sofisticated. I added the layouts, so now when the user draws any of the views in the model space, an A3 layout is created, the view is automatically switched to the paperspace layout, and a title block is inserted from a DWG file. During the creation of the layout, a viewport is created, positioned in the layout. The largest standard scale that can fit inside the viewport is calculated and applied, and the drawing is centered inside the viewport. The application sets the 'DWG To PDF.pc3' printer in the plot settings, and the A3 paper size automatically. The title block is filled out automatically. The calculated scale is inserted, the today's date, drawing title, project name from the data provided in the project details window. What this plugin creates in a blink of an eye is what a real draftsperson would work on for an entire workday, or at least a big chunk of it, not to mention the automatic creation of the estimate. The user can print out an estimate in a traditional format, with a print preview, but there is also an option to print into an Excel workbook. Drawing automatically in 2D may seem easier than 3D, but it is actually more difficult in some respects. I needed to cut out the lines automatically, which is not an easy task to do programatically. All the required text styles and layers are created by the plugin, and the drawing is almost ready to be printed out. The user would number the drawings manually, but I could add functionallity to draw all the drawings at once, and number them properly. In fact, I have a vision of an application that would be able to generate all the drawings for the entire project, including all the documentation, and everything else required, with the click of a button.

MoveDesk

This is a WPF application that I was developing remotely in 2010 for an american-based company CompuSight in Seattle.

AutoCAD and MS Excel Customization

I used to do a lot of AutoCAD and MS Excel customization (with C# .NET and VBA) for the requirements of the HVAC design consltancy I worked at, and I shared these tools on the internet. These are the screenshots of some of those tools: Screenshots

KBR

During my employment at KBR Inc. I created an elaborate Excel tracking sheet for the tracking of completeness of submissions of Civil 3D and Navisworks models and visualizations. This was an elaborate VBA script as close to object-oriented programming as one can get with VBA. It included classes with properties and methods, enumerations etc. All the charts were updated dynamically after each key stroke on any of the woeksheets. The final sheet was showing a grand total for the entire Expressway Programme.