You might not know this but Bricsys is a global company! I recently got the pleasure of speaking with the formidable duo responsible for the much-hyped, Array Recognition tool. The pair work in our offices in Akademgorodok Novosibirsk, Russia – where some of the most brilliant and complex BricsCAD technologies are being developed. And it’s hardly a surprise. The town was founded by a mathematician and a mechanician and has always been at the forefront of technological development.
Roman is an outgoing, young James Hetfield look-a-like with a passion for music and reading. Whilst Alexander is a little more reserved Oasis-Gallagher-styled lad. However, I was assured, that he is very sociable and regularly encourages all his colleagues to join him on fishing trips.
What’s your background? What did you do before working for Bricsys?
Roman: I studied applied mathematics at Novosibirsk State University. I also changed jobs a few times before I started working for Bricsys: I was a bending machine technician, a technical support engineer in the navigation service and a quality assurance engineer. Only after that did I start working at Bricsys as a software developer in 2017.
Alexander: Before Bricsys I was a student. At university, I preferred courses where the lecturers taught us solid modeling, which is really interesting to me. When I saw a job offer here at Bricsys Technology Russia I knew that I wanted to work here. It took 3 interviews but I have now been working here for 7 years.
The best part, is the people I work with every day, they are always ready to support and help with advice. I think we have a great team. – Roman
What’s it like to work in the Bricsys office in Novosibirsk?
Roman: In a few words: it’s cool.
Our office is placed in Akademgorodok which is the heart of education and science in Siberia. But the best part, is the people I work with every day, they are always ready to support and help with advice. I think we have a great team.
Alexander: We’re located in Siberia near NSU and we can see the sea from our window [he giggled at the pun as he said it]. In the summer we also have really great team-building excursions with a lot of action like rafting and mountaineering.
How do you find working together?
Alexander: Very simple, we have a good attitude, we can criticize each other and we listen to advise.
Roman: I think we’ve made a pretty good tandem. Alexander is always glad to help if there are any difficulties.
What have you developed for V20?
Roman: Array Recognition. It automatically detects regularly placed items and converts them to an array. It can recognize some items placed regularly in two directions. This allows us to give the user the capability to change several parameters: spacing between elements, number of elements and the angle between directions.
What and who is it for?
Roman: For now, Array Recognition is used in the SMPARAMETRIZE command and in BLOCKIFY command.
SMPARAMETRIZE is part of our sheet metal module rich capabilities: it automatically recognizes a set of constraints and uses them for accurate modifying.
BLOCKIFY automatically searches for an identical set of entities (2D and 3D) and replaces them with block references. Now, thanks to our algorithm, if those entities are regularly placed, we can replace them with arrays!
Roman and I insisted that we could handle the challenge! – Alexander
How did you create Array Recognition?
Alexander: We were faced with a problem in the mechanical sphere, particularly in sheet metal projects: when we started parametrizing imported models, we noticed that a lot of connections represented arrays of holes.
Egor Ermolin (responsible for Sheet Metal development) and Dmitry Ushakov (CEO Bricsys Technologies Russia) suggested researching this problem and Roman and I insisted that we could handle the challenge!
After that our colleagues from Ghent office (Bricsys HQ) suggested including it with BricsCAD BIM as well. For us, it was a very interesting idea because BIM is a really different sphere to mechanical and Roman has had to adapt the API for this sphere.
Roman: The entry point for us became the SMPARAMETRIZE command. When we thought about possible enhancements of this command. We paid attention to one of our client’s models, where there was a set of regularly placed holes. From here the idea of array recognition arose.
If we can detect that some entities are placed regularly and if we can extract the parameters of this regularity, we could give our users a powerful tool to change a model whilst saving the initial design intent.
“The most difficult part of the work was to prove to Roman that we can manage it.” – Alexander
What was the trickiest part of the design process?
Alexander: For me, the most difficult part of the work was to prove to Roman that we can manage it.
Roman: Hmm, I think it’s identifying only the suitable arrays. Another difficulty was that one element can be part of several possible arrays and we needed to come up with a way of deciding which is best for each element.
Could you adapt this to 3D?
Roman: This is one of our goals. It’s a difficult task that will take a lot of effort, but I think we should be able to do it!
Alexander: I believe and I know that we will have 3D Array Recognition, now we have some ideas which can help us this 3D recognition, but our experience shows us that any brilliant idea can go to pot on certain scenarios. We will need to build on our current experience and gain new experience, but I know that we can do it.
“We work for the user’s happiness.” – Roman
Any plans to develop this further in the future?
Roman: Sure, if our users like it, we will continue! We work for the user’s happiness.
Alexander: First of all, we want to recognize circle, array by special path, 3D array and array by 3D path. We also want to improve the base recognition of arrays. I would like to improve this part of the algorithm so that 99% of the time the user will receive the expected result and will be able to instantly rebuild the model.
Create exploded, isometric drawings in minutes
Permanent or subscription licenses that work in all languages, in all regions.