⟵ Back to main page


Floor plan drawing software

Element detection in floor plans is a crucial step in a complete floor plan recognition system. It is a difficult task, mainly because of the lack of a standard graphical notation. We need a tool to improve the automotive process and to get for machine learning all possible information.


Some structuring always helps to find the forest for the trees and minimise the complexity of user Interfaces.

Positive reinforcement

It never hurts to add a little bit of gamification to make the improving process more fun and productive.


Since loaded plans may be of poor quality, it is necessary to teach the system to remove unnecessary information, distortions and make the image more accurate.

Restoring the right perspective

Grid and rulers can help check the floor plan for the presence of spatial distortion and correct it.

Visual improvement

Correction of brightness, contrast and noise reducing is an excellent help for the system of recognition.

Finding the right scale

The system can not predict the correct scale and it has to be set manually. The choice between square and line depends on the data in the floor plan. It is also necessary that user could not proceed to the next step until he finishes this one.

The fixing after recognition

Help the system to understand its weaknesses better.

Workers usually spend from 10 to 15 minutes to create the digital version of a floor plan. One of my main goals was, in reducing this time. After researching all vector drawing methods the idea came that drawing can be started not from a line but from room shape. The idea was tested and first results were that room shape changing is in 15% quicker than line drawing.

Elements system

As it is one of our first attempts, we evidently will be making a lot of changes after each testing iteration. The interface of Model Maker is very complex, It сontains many details and elements, and we have to change any of them easily. Willing to create a flexible system in code, we decided to implement BEM (Block Element Modifier). It is a methodology of naming order that helps to create reusable components and code sharing in front-end development.


Help the system to understand its weaknesses better.


To spur interest to the process of recognition floor plans in people (it is assumed that machines are interested in excess), we will supplement the last page of the task with statistics and achievements.

Testing with prototype