This post is a translation of an article published by Denis Kolisnichenko in Xakep.ru (stands for “Hacker”) on August 14, 2018. The original version (in Russian) is available online at https://xakep.ru/2018/08/14/3d-cad-exchanger/.
We all believe that domestic programmers are the best in the world. Not so often, but still it happened that a Russian company challenged the existing conservative order in the industry, and each of these success stories, in our opinion, deserves detailed consideration — both from the technical and organizational points of view. Today we will talk with the fellows from Nizhny Novgorod about how they were able to change the current (and not very beneficial for the client) situation in the world of computer-aided design systems.
If you remember the crazy nineties and golden 2000s, then you can easily name the main reasons why we (okay, not we but some other bad guys :)) did not buy any licensed software. A word processor for tens or even hundreds of dollars. Are you guys serious? A game for $35 in a country where $100 was considered a very substantial amount, and a nurse in a hospital could officially earn $150 a month? A development environment for a couple hundred greenbacks?
Gradually, everything began to change. Cheap development environments appeared, and their freeware options became available. Some things happened to be completely free — do you remember that mail clients, GPS-navigators and translators once cost a lot of money? Through the SaaS system, powerful graphical editors became available for amateur use.
As for the CAD industry, even now, in 2018, the problem of accessibility for such products is felt acutely. And not only accessibility. Various 3D data formats, expensive licenses of CAD systems, limited cooperative use of all data by all users, data loss during conversion, lack of simultaneous access to data — all these difficulties are faced by users of CAD systems. CAD Exchanger, a software product of the Russian company CADEX, is designed to solve all these problems. To better acquaint readers with its history, Xakep magazine conducted an interview with CAD Exchanger founder Roman Lygin and its senior technical marketing engineer Ramil Gasanov.
CAD Exchanger’s dossier
CADEX is a Russian company from Nizhny Novgorod, founded in 2014. The main products of the company are a set of development tools for engineering applications CAD Exchanger SDK and an application for end-users CAD Exchanger GUI.
CAD Exchanger SDK is used in dozens of CAD / CAM / CAE (Computer-Aided Design, Computer-Aided Manufacturing, Computer-Aided Engineering) applications, including Altium Designer, Simlab Composer, Vectorcam, as well as internal Fujitsu apps. More than 30 000 engineers from 55+ countries use CAD Exchanger GUI to visualize and convert 3D data, including Nokia, Philips, JVC, Mitsubishi Electric, General Electric Oil & Gas, Stanley Black & Decker, OMRON, Magna, FANUC. UPD May 2021: now there are more than 250 000 GUI end-users and more than 1 000 000 SDK-enabled end-users from 110+ countries.
In August 2018, CADEX plans to announce the launch of a cloud service, which is currently in beta testing. More than two thousand people have already taken part in the testing. In addition to the software components, the company offers turnkey software custom development, program profiling and performance improvement of the client’s existing software, and CAD / CAM / CAE consulting services. UPD May 2021: CAD Exchanger Cloud is already available for end-users and developers and has 15 000 monthly active users.
Company history by its founder
Perhaps this will be the first time I publicly reveal the story of CAD Exchanger project foundation. We share some of its fragments with our new employees on their first day of work during an acquaintance with the team or within a company overview for new customers. Our story doesn’t refer to a separate division of a large company, neither does it talk about the exodus of dissatisfied employees, nor about a seasoned entrepreneur who injected the money into an IT startup with some enthusiastic hairy coders.
It all started back in 1997, when I, still a student at the University of Nizhny Novgorod, started working as a software developer at a branch of the French IT company Matra Datavision. CAD industry old-timers may still remember their Euclid 3 and Euclid Quantum software. My first tasks were related to the problems of 3D data exchange between the geometric kernel CAS.CADE (which was renamed to Open CASCADE after the publication of its sources) and the external formats (IGES, STEP, and others). It was challenging and interesting and became my first crush in the profession.
Many years later, when I was already working at a subsidiary of the American company Intel, parallel computing became my second passion. Since I held a management position and wasn’t involved in real code development, in order to keep my technical skills up, I kept developing as a hobby in the evenings, using Intel Threading Building Blocks (a library for parallel programming) and Open CASCADE. Both libraries were already open source by that time. It is these two passions (3D data exchange and parallel computing) that have given rise to CAD Exchanger.
At the end of the 2000s (2009–2010), I was surprised to find that the problems of 3D data exchange remained relevant even many years after the first acquaintance with this area. Users still often complained about the mediocre quality of conversions between CAD applications. At the same time, this was compounded by the speed problems, as the complexity of 3D data skyrocketed after the advent of 64-bit architecture. And since adding parallelism to Computer-aided technologies, in particular to CAD (Computer-Aided Design), was very nontrivial, the existing software could not manage it. CAD Exchanger, on the other hand, introduced parallel computing from the very beginning and therefore often outstripped competitors. And the quality was high from day one.
The first versions of CAD Exchanger were very well received by users. First requests and suggestions began to arrive. Back then there were no commercial versions and all this was kept on my pure enthusiasm. But the project started to impose certain obligations and take time, so I had to work on all evenings and weekends. However, it was a real passion and I didn’t feel tired. As soon as big customers appeared and showed a willingness to purchase commercial licenses, I had to turn the hobby into a (micro)business by registering as a sole proprietor.
It was fun to watch the workload grow both at my main place of work at Intel (I headed the team in charge of distributed parallel computing) and in my personal project, and I had to put in new efforts to be successful everywhere. However, at some point, the growth of CAD Exchanger’s client base required making a choice between a fat bird in the hand today and two skinny in the bush tomorrow. I quit a high-paying job and, rolling up my sleeves even more, came to grips with my business. That’s how the company was founded (September 2014) and the first employees were hired.
It’s probably exciting to launch a startup when you are twenty, not afraid to risk a couple of years of your life and other people’s (venture) money. When you are pushing forty and you need to support your family, pay off your mortgage loan, having only your own savings, the risk is assessed somewhat differently. So the decision in favor of those skinny birds was difficult, to say the least. We started as a real startup, like in the movies. Although instead of the traditional garage, there was my old two-bedroom apartment, which the family had already moved from. There was no money to rent an office (especially a fancy one, like hipsters normally do), so we settled in different rooms of the apartment. But we all dined together, crowded in the six square meter (~65 sq ft) kitchen, discussing both technical and everyday problems. A server room was organized in the dressing room, which gave a special charm, according to the recollections of old-timers.
The company will soon be completing its fourth year. We’ve already grown several times and moved to a business center, the company is investing more in hardware, comfort, and benefits for employees, but the atmosphere of working shoulder to shoulder and using earned funds efficiently remains to this day.
As Steve Jobs said, a small company depends on great people much more than a large one. Therefore, the team that was formed in the first few months and now constitutes our “Staff” is why we not only survived the critical early years (when 90% of startups die) but still continue to progress.
Many of our fellows show tremendous perseverance and ingenuity in solving problems. In terms of technology, they overtook me long ago, and I am happy to learn from them when there is an opportunity. We often find non-trivial technical solutions in brainstorming sessions. We patented two of them (by Rospatent, Russian entity for registration of intellectual property), and now these solutions are used in key algorithms of our product.
In general, keeping the perky spirit of the startup, but investing more in the product and promotion, rather than presentations for venture capitalists, we manage to win our place under the sun in a battle with mature competitors. Business achievements are often defined by dropping big customer names. Let me give it a try: General Electric, JVC, Philips, Magna, Nokia, OMRON, Altium, FANUC, Fujitsu, SENER. In Russia, there is only the first customer, but what a customer — Severstal.
As they say, other people’s lumps don’t hurt, so we had to take our own ones. There were mistakes made both during the hiring and in taking over complex R&D projects. In the first case, we had to part with someone after a few months or weeks. And in another, we overestimated our potential and stopped the project after many months, having suffered financial losses and lost the opportunity of doing something else. Probably, the challenges with the government authorities (the Federal Taxation Service and the Pension Fund of the Russian Federation), or the nuances of currency control legislation (which, if handled carelessly, can cause serious damage) are best not to be mentioned here. They certainly have to be experienced first-hand.
In short, that was our coming-of-age story. Story of the path we took to simplify CAD data exchange regardless of formats (almost), usage scenarios, and the number of stakeholders. To have a closer look at our capabilities visit our products’ page.
The original version (in Russian) is available online at https://xakep.ru/2018/08/14/3d-cad-exchanger/.