📜 ⬆️ ⬇️

Can nanoCAD replace western CAD solutions? Let's look for an answer ...



When implementing our CAD platform, we often encounter the fact that very few people in our country can adequately evaluate the functionality of such a complex and multifaceted tool like CAD systems, fully compare competing solutions and make an unbiased assessment. Most often, such work is entrusted to a local “CAD-guru” - a specialist “fan” who can be (and most likely will be) biased, since loves the solution he currently uses. As a result, we get a list of “tasty”, but little-used functions that “you must do otherwise, no implementation!”, And the topic of import substitution gradually fades out. In response, we thought about the tool that will allow us to make an independent assessment, implemented it and are now ready to share it with you.

Introduction

The idea of ​​the tool is to assemble into the list the functions that an ordinary CAD user uses in his work every day - i.e. select a group of users, turn on command line logging on their computer, collect them in a specific folder on the organization's network, and then analyze them. The scheme itself is very convenient:

The most important thing is that such a collection of statistics allows for the most complete analysis: you can collect journals for at least a whole year, and the program will accurately collect command calls into one daddy. You can also analyze by breaking users up into groups — just select different folders for collecting statistics. And the logs will then show which platform commands were used, whether any applications or additional development were used, what level of use of the platform and applications (command frequency) —that is, unbiased pure statistics and no subjectivity.

The question arises, "how do you turn on such a magazine?". Everything is simple: on the command line, enter the "Parameters" command (or "OPTIONS" for the English version). Next, go to the tab "Opening \ Save" (or "Open and save"). And we cocked the option “Maintain a log file” (or “Maintain a log file” - see Figure 1). As a result of this command, information from the command line (command log) will be saved to the system folder specified by the LOGFILEPATH variable.
')

Fig. 1. By activating the option “Keep a log file” you can accumulate statistics about the commands used in the CAD solution in the folder that is set by the LOGFILEPATH variable.

In principle, all this is configured through three more system variables: LOGFILEMODE (enable / disable logging mode), LOGFILEPATH (path to the logging folder) and LOGFILENAME (path to the current command log). You do not have such commands and variables? Most likely you are using a CAD system that does not allow keeping a log of the commands you are invoking, and you will have not import substitution, but the transition from competing solutions is a slightly different story ...

UPG: Often, system administrators ask how to configure these variables through domain policies (so as not to go around each workplace and not to set up log collection through the user interface). We answer - through the registry. In particular, the variables are located in the section HKCU \ Software \ Autodesk \ AutoCAD \ <version> \ ACAD-1001: 419 \ Profiles \ << Profile without name >> \ (or the profile that the user uses):





So, included a log of logs, logs collected in a folder - what's next?

Preliminary data processing

The resulting files are a pile of files inside which the commands used are hidden (Fig. 2).


Fig. 2. A typical folder with command logs - for each file a separate log.

If you look inside, we will see everything that was written to the CAD system on the command line: command calls (what interests us), system messages, user responses, variable values, error messages, warnings, etc. All this is now necessary to process and make a list of commands called with information about how often it was called. To do this, we wrote a simple utility in the AutoIt language that runs on log files in the specified folder, processes them sequentially and forms an array of commands with a counting of the frequency of their call (Fig. 3).


Fig. 3. The StatCAD utility, which allows you to process command logs and generate a list of used commands.

Working with the StatCAD utility is very simple: just enter the folder with the logs, click on the “Analyze” button, wait for the work to finish and click on the “Show statistics” button to get the list in a separate window. From this window, you can copy the data in Excel or text format - as you prefer. What's next? And then begins the creative work.

Processing statistics

First, we need to highlight the commands of the CAD platform in the found list, i.e. You must have a list of full-time teams of the CAD platform with which we compare. We have now accumulated about 2400 commands, system variables and aliases-abbreviations (both in Russian and in English), with which we make a comparison - a simple intersection of tables in Access allows you to get similar and different commands in one click. The most difficult is with different commands - they have to be analyzed manually, separating syntax errors from application commands, user-written commands, etc. Often the result is surprising (see Figure 4) - statistics can show that the share of the platform significantly exceeds the share of applications:

Fig. 4. A preliminary list of commands can contain both application calls and syntax errors.

Secondly, we can compare the list of recognized commands of the CAD platform with the list of implemented commands of the nanoCAD Plus platform - this is also the intersection of two tables in Access. As a result, we get a list of commands implemented in the one-to-one mode (complete match).

Analysis results

And finally, the list of the remaining teams is divided into three parts:
  1. The implemented functionality , i.e. commands that do not pass through the nanoCAD Plus command line, but are nevertheless implemented through the program interface and the user will not notice their absence in practice. For example, the “PDFATTACH” command (inserting PDF substrates) is not currently registered in the list of nanoCAD commands, nevertheless available from the menu Insert \ Substrates ...
  2. Alternative functionality , i.e. commands that, by virtue of their design features, differ from similar commands from other CAD systems, but allow the user to solve assigned tasks in a similar or even higher performance. For example, working with tables in the nanoCAD Plus 7.0 environment has been sharpened to Russian design standards, plus data collection operations from the current DWG drawing - a rather unique function that combines several tools into one.
  3. Unrealized functionality , i.e. commands that are not currently working in the nanoCAD Plus 7.0 environment and, alas, there is no alternative for replacing them. Some of these functions are in development (for example, Sheet files, Tool palettes), some require analysis and additional coordination on implementation, and some are obviously not necessary for implementation (for example, “call website 360”).

The third part from the point of view of analysis is the most difficult - it is required to analyze each team, clarify what it does, is there an alternative in the nanoCAD Plus platform (and can already be implemented) and, if there is no command, then evaluate: how much missing function is needed in the organization’s work . This is a manual analytical work, but as a result you will be awarded with an excellent speaking diagram (Fig. 5):

Fig. 5. A diagram that visually compares the list of nanoCAD Plus commands with the list of commands of the Western CAD system used by one of the Customers.

But that's not all - remember that we not only formed a list of commands to be called, but also collected statistics on the frequency of their call? Indeed, one thing is the answer to the question “is the team implemented or not?” And completely different - “is the called team being used?”. And here, too, you can get talking results (see Fig. 6) - the proportion of functionality not implemented in nanoCAD can fall to 1-3%! This means that in the overwhelming number of cases, users will not notice the difference between nanoCAD and Western solutions in functional terms:

Fig. 6. And if you compare the teams on the call frequency, the picture will be even more convincing.

Instead of conclusion

I admit, when I first received similar results, I myself had a shock. It turns out that, at the moment, the nanoCAD platform can quite freely replace popular western solutions in a functional way: in 97-99% of cases, users will receive an alternative tool for work. To date, I have conducted a similar analysis in five organizations: the ratio of teams is about the same and I cease to be surprised.

However, I think that the results of the analysis can vary greatly from one organization to another. That is why I want to share with you all the materials - try to conduct an analysis on your enterprise and let's jointly answer the question “Is import substitution possible on nanoCAD Plus?”. What I have:

If you are unable to analyze the collected statistics on your own, then I will be glad to receive your log files. Or Excel tables with a list of commands you use (filled with CLIENT_CMD.xlsx from the attached archives). In this case, I will be able to conduct the analysis on my own and use the results to develop the nanoCAD platform. Believe me, this will be very useful information for us - based on this data, we develop the product further, and you get a convenient tool.

Disclaimer
This analysis demonstrates the fundamental possibility or impossibility of replacing one CAD solution with another, but does not guarantee a result. Any implementation other than the technical aspect given in the article is associated with a number of other technical, organizational, psychological and other points. That is why we recommend the work on import substitution to be carried out together with the authorized dealers of Nanosoft CJSC .

UPD: At the request of lichka - in the archive with the utility reported x32 version ...

Source: https://habr.com/ru/post/271343/


All Articles