In the history of LEDAS, a big role was played by software companies in France. Our company got its start in 1999 by landing work with French CAD vendors. Since then, LEDAS has provided B2B R&D (business-to-business research and development) services to several well-known CAD and CAM companies in France in the field of computational geometry. This early experience helped shape the corporate culture of engineering software development at LEDAS.
Contracts with customers from France have been the longest in the history of LEDAS, two of which worked with us for over a decade. For Dassault Systèmes, LEDAS helped develop geometric constraint solvers and a 3D modeling kernel used by the CATIA mechanical design system. Another contract was done with an award-winning CAM company in the aerospace industry. ...
Many of LEDAS’ projects are developed as plug-ins for CAD software programs, ranging from powerful systems like CATIA to lighter weight solutions like Rhino. Oftimes, we help our customers decide on which direction their ideas are best developed: in the form of a plug-in or as a standalone program.
In this post, I reflect on why and when plug-in development is the better approach compared to building an application from scratch. I’ll also talk about the forms of plug-in that are useful in different situations. Learn more about our CAD plug-in development expertise.
Plug-ins either solve specific problems or add functions that are missing from CAD systems. A good example is CAMWorks from HCL, an ...
Since 1999, LEDAS has provided software development services to clients in a number of areas of hi-tech engineering, and as a result our team of developers works with a broad set of software tools.
At the very least, we need project management software, a compiler, and an operating system. In fact, we need more software than on that short list, but for now let’s focus on these three categories. They are the most critical for any software developer.
At LEDAS, these three main categories are represented primarily by Jira, Visual Studio, and Windows. Some other programs, such as for version control, text documents, spreadsheets, and presentations, are now freely available, so anybody can avoid those licensing costs.
Jira is often considered a leader in the market for project management ...
The first four times we invited you to take on our game challenges, they all operated at the same level of difficulty for everyone — whether inverting the state of Conway's Life game, inventing ways to split a polymino, solving PLM anagrams, or composing a most beautiful fractal, given constraints.
With today’s challenge, you get to choose the level of difficulty. As the ideal — and the most accurate scale of difficulty known to man — we will use the skill levels from the Doom computer game (illustrated below), which incidentally is now 33 = 3*3*3 = 27 years old.
When we first planned this Rubik’s cube challenge at the beginning of August, the stars aligned in a remarkable way. Judge for yourself:
“Our life is but a game,” sang Herman during the opera The Queen of Spades. Which game exactly? That one everyone should decide for himself.
We at LEDAS love playing games, as is probably the case with most developers around the world. Sometimes we prefer video games; other times, board games that provide the extra special kind of social enjoyment that allows us to develop good relations with teammates and colleagues.
We have a collection of board games in our coffee room and so during that “before pandemic” era we sometimes stayed late in the office playing them.
People have always been curious, searching for answers to many questions. Discovering an answer is emotionally comparable to scoring a goal during a football World Cup finale. Over the decades, mass media ...
“Good! He did not have enough imagination to become a mathematician.”
— Hilbert's response upon hearing that one of his students had dropped out to study poetry.
Do you love mathematics as much as we do? Over the years, we’ve developed five constraint solvers and a lot of other software that’s mathematically sophisticated, and through that we have gained some understanding in this area of expertise.
So, today we want to talk about the seemingly impossible: things that you can understand but also seem like just a fantasy. Yes, right now! The beauty of mathematics is that there really are a lot of remarkable sides to it that everyone can enjoy.
For example, can you imagine a ...
Today is April 1 and we are 22 years old! We are proud of our history, but we could not imagine that a whole year of remote work would become a part of it. Fortunately, we are starting to return to the office step by step. Today we will celebrate our birthday with a small group of employees who have already been vaccinated.
However, we hope that we will meet together and continue celebrating in June on the seashore. In fact, this is not a sea, but a reservoir next to the dam. It is so large that at some points the opposite shore is not visible, that is why we call it the Ob Sea. By the way, at the beginning of April the Ob Sea is still ...
It’s just before our 22nd anniversary on April 1, and looking back at the history of LEDAS, I see that the first years from each decade were, for our company, the really important ones. Often, these years started new stories and finalized old ones.
Arguably, 2011 was the most pivotal year in LEDAS’ history. Let me list the top five events that happened to our company ten years ago:
One aspect of intelligence is the ability to quickly run through a range of options. It is not that people must get through alternatives faster than a computer, but that they move systematically and purposefully from one option (when found to be wrong) to another option, finding the better direction in which to move. We are talking here about the ability to adjust the brain to the specifics of a task, about the rapid training of one’s own neural network.
Today we invite you to come up with anagrams that are meaningful to you and that involve our primary topic of interest, CAD/CAE/CAM/PLM/BIM. When we program computers to work with anagrams, they go through words in a dictionary incredibly quickly, trying the various permutations and analyzing the ...
Some 16 years ago, LEDAS founded isicad.ru, which since has become the leading Russian-language Web portal covering engineering software. Over the years, it has published about 10,000 articles on topics like CAD, CAM, CAE, PLM, BIM, generative design, cloud technology, additive manufacturing, and digital twins.
The portal reports on developments in both the Russian and global markets. It offers readers news articles, interviews on technological advances, trends in innovation, financial results, and described the business development of significant companies. As well, isicad.ru placed promotional materials on the portal, including the home page, for nearly all of the major players in the Russian market – Ansys, Autodesk, ASCON, Dassault Systemes, Hexagon, PTC, Siemens Digital Software, Top Systems, and more.
LEDAS' long-running, actively-maintained isicad.ru portal, along with the CAD conferences held ...
You may have encountered polyominoes at some point in your life, because they are used in puzzles popular for more than 100 years, including ones like Tetris.
A polyomino is a plane geometric figure formed by joining one or more equal squares, edge to edge. The name was devised by Solomon Golomb in 1953 in a now-classic textbook, and then popularized by Martin Gardner in 1960; see the “Mathematical Games” column in Scientific American.
Today we’ll play with our updated LEDAS logo, which we released a year ago. As you can see, it consists of four pentominoes. A pentomino is a polyomino of order 5, i.e. 5 equal-sized squares connected edge-to-edge.
Our question today is this: what is the number ...
Some people are just naturally efficient. Others (me being one of them) are in a constant search for methods and tools that would make us more productive. There have been dozens of times when I tried this or that productivity technique or time management system and each time, after days or weeks of enthusiastic usage, I found myself dropping them. (I’m not saying, though, that all of that was in vain: enthusiasm means a lot, because it helps a lot!)
I have, however, been using my current productivity tool for more than a year now, which for me is a long period of time. As a result of my experience, I’d like to share in this article some ideas that could be useful to you in maintaining a personal management ...
Due to COVID-19, all of our employees at LEDAS continue to work remotely, but we decided not to waste time by being just at home. We did a minor upgrade to our office interior in anticipation of the day we return to our headquarters.
You probably know that one of the key competencies of LEDAS is a set of tools for computer-aided design, some of which you can see in our CAD Solutions list, and so we used them to decorate our entrance hall with an exclusive, glass-topped table mounted on the cylinder block of an actual Mercedes-Benz engine. You can see the result, made by Alex, in the photo.
Engines, by the way, are produced not only by Mercedes Benz but also by us at LEDAS. You ...
Geometrical modeling projects often contain some form of central hierarchy of objects. A geometric kernel, for example, has a hierarchy of geometric entities. Another example is a geometric solver which has a hierarchy of objects and constraints. Simplified inheritance diagrams for these hierarchies are shown in the figures below.
Many routines/algorithms of other modules need to process all the entities in a hierarchy in a similar fashion, although with different implementation details. So, polymorphism naturally is used with these kinds of hierarchies.
Assuming we are talking about C++ (and this is usually the programming language of choice for algorithmic libraries in CAD), using virtual functions is the first consideration for implementing polymorphic behaviour.
However, a variety of routines applied to the entire hierarchy, ...
The rules of Life are simple: The universe in which Life is played is an infinite, two-dimensional grid of square cells. Each cell has one of two possible states, on or off, filled or empty, live or dead.
Each cell interacts only with its eight neighbours. Neighbour cells are adjacent horizontally, vertically, and diagonally.
Cells stay alive when they have two or three neighbours. Live cells with fewer than two, or more than three, live neighbours die, as if by underpopulation or overpopulation. Dead cells with exactly three live ...
To better estimate the situation with СOVID-19 within our company LEDAS, we decided to make antibody testing available to our employees who work remotely since March. Fifty-three of our 70+ employees were interested, and so we organized out-of-lab testing thanks to Invitro’s laboratory service. Both IgM (early antibodies) and IgG (late antibodies) were examined, and the results were simple: all had zero positives for IgM, and one employee was positive for IgG.
We were able to congratulate ourselves for the zero result in early antibodies, meaning we are quite safe. But now we needed to focus on the late antibodies, as they provide more interesting information. Since we at LEDAS are now involved in more medical software projects, we considered this an opportunity to apply statistics to our ...
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 ...
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 ...
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.
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 ...
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.