Блог ЛЕДАС

Fast Debug in Visual C++

Июн 22, 2020

This post was written by a LEDAS developer in his own blog, and now we repost it here. Focus on performance is the major goal in our projects, and we are going to publish more posts on this topic.

It is well-known that Debug build in Visual C++ is very slow compared to Release build, with the typical ratio about 10-20 times. Various reasons behind it are often stated, and some people even believe that it is inevitable because it is caused by lack of compiler optimizations.

If some issue happens only on a large dataset or in a real-time application, and it cannot be extracted into a smaller test case, then developer is forced to debug Release build. Which is rather painful ...

Read more

LEDAS customer map

Май 24, 2020 Alexey Ershov

The geography of the locations of our customers has changed considerably during the 20+ years of LEDAS’ history.

From looking at the map of our customers (below), you may think that we began in our home country and then expanded abroad. In fact, the reverse is true, because in its first years LEDAS mostly provided CAD and CAM software development services in Europe, namely to Dassault Systèmes from France.

In the beginning, we concentrated on developing geometric solvers and engines, a rather narrow field, yet very sensitive to quality. Over the following years, overall CAD software market was our primary focus.

In late 2000s, LEDAS Geometric Solver (LGS) was our flagship product, along with our high-quality R&D (research and development) services for CAD and PLM. Many ...

Read more

How to Hack C++ with Templates and Friends

Май 07, 2020 Andrey Karpovskii

Templates are a very powerful feature in C++, because they allow you to write generic programs that accept a data type as an extra parameter. This feature of them means that we don’t need to repeat similar code for different data types.

When templates were first introduced in C++, their capabilities were unforeseen. Since then templates have grown into a separate functional language inside of C++. This language has its own syntax, rules, and huge number of specifics, one of which I will discuss later.

How Templates Work

Each template defines a family of functions. It is, after all, a functional language. But the family does not produce any code on its own. Instead, the compiler generates code only for functions that are actually used in the program. This process ...

Read more

In these work-from-home times, we are seeing a burst of interest in LEDAS Cloud Platform (LCP) as nearly every day our team shows demos to prospective customers.

LCP is a platform on which applications are developed for online 3D modeling, and so I think that the primary reason for the record levels of interest is that companies are beginning to realize that the world and the way in which we organize it might not be the same after the pandemic ends. Businesses are asking their engineers to work from home, and this may well become the way of the future.

With remote work now a must, and because it is likely that full-scale and partial lockdowns will last for many more months, Web and cloud solutions are ...

Read more

On C++ code bloat

Апр 08, 2020
Foreword by Alexey Ershov:
After publishing my post about C++'s new standard, in which slow compilation time is highlighted as the most bothersome C++ feature, one of our developers responded with a link to his post from 2018. This post is more technically involved with the problems that code bloat have on slow compilation times. It focuses primarily on the negative effect of extensive templates, headers, and inlines on compile times, but then also provides the programming practices to overcome these problems. Read it here now.


The C++ language is known for its slow build times. This problem is not present in the world of pure C, which might give a hint that the problem is caused by some ...

Read more

Today is the 21st anniversary of LEDAS!

Апр 01, 2020 Alexey Ershov
This is a proper moment to read about our history. Let me put some points here.

  • 2019 LEDAS celebrates its 20th anniversary by moving to a new own 1,000-square-meter headquarters office at Academpark.
  • 2017 LEDAS releases its LEDAS Cloud Platform (LCP) as an easy way to build Web-based CAD solutions.
  • 2016 LEDAS signs a long-term cooperation agreement with a major US-based digital dentistry company.
  • 2015 LEDAS lands its biggest service contract to date for developing a full-scale Web solution in the area of building information modeling (BIM)
  • 2011 LEDAS sells some of its intellectual property and staff to Bricsys NV, including its LGS 2D/3D geometric solver. After the sale of IP rights concludes, LEDAS renews its top management and pivots the company to focus on high-end R&D ...

    Read more

How LEDAS Teaches Via Distance Learning

LEDAS’ Collaboration Knowledge Proves Useful at Novosibirsk State University

Мар 31, 2020 Ivan Rykov

As of today, March 31, there are only 9 confirmed cases of coronavirus in the city and region of Novosibirsk, near where the office of LEDAS is located. As the disease began spreading in other parts of Russia (initially in Moscow), Novosibirsk State University two weeks ago shifted to distance learning. Teachers received suggestions as how to organize remote lessons for students using a variety of opportunities:

  • Hold remote conferences via the Internet using such platforms as Google Meet, Zoom, and Skype
  • Record video lectures and seminars from empty classrooms at the university
  • Record videos from home using cameras on smartphones
  • Send materials and homework tasks by email and get the results

LEDAS is proud of its strong connection to Novosibirsk State University and other ...

Read more

Which Missing C++ Features Are Needed Most?

Мар 26, 2020 Alexey Ershov
A dozen LEDAS programmers took part in a C++ event a month ago in our city of Novosibirsk, which was happily organized before the spread of any COVID-19. C++ has become a very complex programming language with a long history stretching back to 1983, and so it was tricky for event organizers to arrange talks that appealed to every kind of developer. Perhaps the easiest thing to talk about was new standards, and this year this was possible as the new C++ 20 standard is on its way.

Following the event, we wanted to know what our LEDAS programmers thought about C++ 20, and now we have their answers available to share with you.

C++ 20 highlights four major new features: concepts, ranges, coroutines, and modules. Here is how our ...

Read more

These days humanity faces one of the biggest threats and challenges in decades with the pandemic of a deadly virus, which has already become a personal tragedy for thousands all over the world.

LEDAS is, so far, fortunate in experiencing no cases of COVID-19 in our neighbourhood. We decided nevertheless to improve our capabilities for working remotely. By working remotely, we contribute to social distancing, which is essential to “flattening the curve,” the primary goal now identified by health experts in reducing the load on our hospitals.

Working remotely is also important to keeping the economy working, as a complete shutdown would cause great losses in output and revenues, and, as a result, possibly in more lives lost.

An efficient infrastructure for remote work implies high-speed Internet connections, as well ...

Read more

LEDAS Has Developed Five (!) Constraint Solvers

What's It All About?

Мар 13, 2020 Alexey Ershov
One of the important components of CAD is the geometric constraint solver. Since the early 1990s, the field was monopolized by a British company, D-Cubed, now a division of Siemens Digital Industries Software (formerly Siemens PLM Software). In 2001, LEDAS began to develop geometric constraint solvers for 2D and 3D geometry, called LGS 2D and LGS 3D. They were successfully brought to the global market, and licensed by dozens of CAD companies in USA, Europe, Japan, Korea, China, and Russia.

While working on LGS, the programmers at LEDAS developed similar software for Dassault Systèmes, which were integrated into CATIA and so are used by hundreds of thousands engineers in corporations like Toyota, Honda, Airbus, and Boeing. Much later, LEDAS was asked to develop constraint solvers that ...

Read more