📜 ⬆️ ⬇️

How we made a completely new KOMPAS-3D: History in seven chapters → part 1

Hi, Habr! We are ASCON company, a developer of engineering software. You may have heard about our KOMPAS-3D products, Vertical , LOTSMAN: PLM , Pilot-ICE , Renga and the geometric core C3D .

They help industrial enterprises to create product models of any complexity and then produce them in production, and for construction companies and design organizations to embody architectural designs and manage the information model of buildings and structures.

In our blog we will talk about various aspects of product development: functional development, testing, api, design, usability, working with the geometric core (and we have it!), The team and other important, curious and sometimes insider details!
')


Today is our big day. Not only because we published our first material.
on Habré. On April 17, we released a new, one might even say revolutionary, version
3D modeling systems KOMPAS-3D v17. And the main character of this revolution is the interface. The post is dedicated to him (in several chapters!) By Sergey Shvetsov, designer-designer
user interfaces ASCON. Caution traffic .

Epigraph


“Writing a book is like washing an elephant: it's hard to decide where to start, and it's hard to know where the elephant is already washed and where it isn't.” I do not know who this aphorism belongs to, but I tested his loyalty in my own skin. This is true of books and is also true of interface design. It's simple: the elephant is big, but any project is also big. It has a lot of work in general and even a lot of different types of work. You need to know what to do, when to do, when to stop doing it.
Vlad V. Golovach

"User Interface Design 2. The Art of Washing the Elephant"

There is no chapter from which one can nevertheless learn something.


To find out why KOMPAS-3D v17 turned out the way it turned out, you need to know the customer’s input requirements for modern CAD systems and the wishes of users. Like any mature product, KOMPAS-3D has approached the turn of life, when users want, developers can’t stand it and endure no more strength! Against the background of these events, it was decided to upgrade. What for?

1. Overcome moral and technological obsolescence. The architecture of the new interface (including the interface of interaction, and not just pictures) should allow to solve problems arising in the future, without serious alteration of the concept. For example, the tendency to increase in the diagonal and resolution of monitor screens leads to the need for the interface to adapt to these growing resolutions. And most importantly - it should be convenient for the user. Those. the user should be able to adjust the size of the interface elements and text. The beginning of this work. The new interface KOMPAS-3D v17, with the exception of images in the interface help, is completely "vector". This allows you to scale the interface elements and texts, regardless of the monitor resolution. Both the user with a standard resolution monitor and the user with a high resolution monitor will be able to work with the usual “picture” of equally good quality.

2. Create a reserve for the future so that the new KOMPAS-3D can solve problems and fulfill the wishes of users in the next few years. Those. The new interface must be flexible enough to meet the requirements of users and at the same time be fast in production. Also important is the possibility of constructing potentially any interface with minimal development costs. For these purposes, we conducted a total unification and standardization of all interface elements, dialogs, panels.

3. Save the continuity of the old and new interfaces. This was perhaps the most difficult stage of all, but systematization and unification did their job. It was possible to transfer the functionality of previous versions almost without loss, without losing the existing methods of work.

4. Unify KOMPAS-3D with foreign popular CAD systems for conditionally “seamless” transition of users to KOMPAS-3D, without losing their own “face” acquired in previous versions.

5. Increase usability.

6. Seamlessly integrate into the interface of the library and applications, which KOMPAS has a lot of.

How we solved these problems, you will learn in the following chapters. But before starting, we purchased:

Special gift set "Occam's tools."

For those who do not know about Okkam Razor
The Ockam razor (sometimes Occam's blade) is a methodological principle called the name of the English Franciscan monk, the nominalist philosopher William Occam (Eng. Ockham, Occam; Latin Gulielmus Occamus; ca. 1285–1349). In short, it reads: “One should not multiply existing without need” (or “One should not attract new entities without an absolute need”). Ockham himself wrote: “What can be done on the basis of fewer [assumptions] should not be done on the basis of more” and “Diversity should not be assumed without necessity.” This principle forms the basis of methodological reductionism, also called the principle of thrift, or the law of economy (Latin lex parsimoniae).

What is today called "Occam's razor" was not created by Occam, if we keep in mind the basic content of this principle. What Ockham formulated under the conditions of the Proto-renaissance was known, at least since the days of Aristotle.

(Link to the full Wikipedia article)

The kit includes:

1. Occam's razor - 1 pc.
2. Occam's rake - 1 pc.
3. Occam's enema (in a special gift box from the Hank & Co. company) - 1 pc.
4. Occam's pin (in a special gift box from the company "Kant and Co.") - 1 pc.

And here we have stocked the necessary tools, patience and common sense and did it:



Original. Watch out for the music link!

No, wait, it's still early. Let's first recall the Sufi parable of Jalladin Rumi about the elephant.
What kind of elephant?
DISPUTE DISPUTE
From India recently brought,
In the barn there was an elephant,

But the one who paid the guard money
In the pen to the elephant in the dark went.

And in the dark, seeing nothing,
Hands people fumbled him.

Elephants have not been here until now.
And so he went among the curious argument.

One, touching the trunk with his hand:
"The elephant is similar to a drain pipe!"

Another, feeling his ear, said: "You're lying,
This beast looks like a bird! ”

Touched the third leg of the elephant,
Said, "He's like a fat log."

Fourth, back stroking: "The dispute is empty
A log, a pipe ... it is just like an ottoman. ”

All represented this creature
In different ways, not seeing him.

Their opinions are awkward, wrong
Ignorance was born.

And there were used candles with them, by candlelight
And there was no disagreement in the speeches.

- The elephant is similar to a drain pipe!

Chapter 1. Interface - evil


We clean the interface from visual garbage (extra lines, gradients, colors). We make available "all" buttons, remove unnecessary. At the moment there is only what is needed now. Grouping teams. Quick panel. Panel of trees.

Visual rubbish surrounds us everywhere, and human nature is such that we adapt and after a while we stop noticing it. But like any system, a person spends resources on maintaining recognition and ignoring this garbage, but in the background. In order to increase the productivity of our users, we carefully removed the tickers in three rows, gradients, dashes and sticks - everything that turned the toolbars into a mixture of ash and peas.

Leaving only the necessary elements, we made the interface more clean and expressive. Each element is now responsible for its behavior, and everywhere this behavior is the same.

The next task was to reduce the "number" of the unnecessary interface, without losing in convenience, given the fact that modern screens are becoming more and more wide. To do this, we combined the main menu and the almost unused window title. Removed a line of messages. Its functionality was distributed between the Parameters panel (displaying contextual prompts in commands) and the Notification Center (displaying operation progress indicators). The Parameters panel left only one position - vertical.

By the way, by default the classic KOMPAS interface assumed the horizontal Parameters panel.

Classic interface. Panel options below. (The picture is clickable)


Classic interface (Picture is clickable)


Updated interface (Picture is clickable)

In previous versions of KOMPAS-3D, a very large number of inactive elements was present on the screen, which cluttered the interface and made it difficult to find the necessary command or option. On the one hand, the interface told the user that the command could not be used, on the other hand, it caused a lot of questions. Why is the team inactive? What do I need to do to activate it? To remove the deactivation of commands, we had to significantly rework the internal activation / deactivation mechanisms. The new interface deactivates a small number of elements with a clear deactivation history. For example, the Undo / Redo (action) buttons, because the context of their activation / deactivation is clear.


Classic view (Picture is clickable)


Updated view (Picture clickable)

Substantial alterations underwent the so-called Compact Panel . Her "spirit" has been preserved, but everything has become different. Her successor, the List of Sets, is now located in the upper left corner and has much fewer (in the default configuration) elements than the previous panel. This is due to the fact that the set now refers to the necessary set of user tools to perform a group of tasks. For example, in 3D modeling, this is solid, sheet, or surface modeling. Moreover, there are “virtual” sets that are included depending on the context of use. For example, the Sketch Tools set is available only in Sketch mode. Also, some libraries can create their own sets. Another set can contain any command available in v17, including the library one, and in v17.1 users can create such sets themselves, composing commands and groups of commands at their own discretion.

In the 17th version, all the buttons, indicators, lists, and other elements that were responsible for displaying the state of a model or a drawing, are collected on a special Quick panel. This is done to make the interface more compact, and the same type of tools were concentrated in one place. Also on this panel moved the mode and status buttons (scan, explode, sketch).


Classic panels (clickable image)


Quick panel

In 3D, all the trees are now assembled into a single panel. Those. The concept of a document manager is gradually disappearing. On a single panel now focused: Tree construction - historical and structural, Tree of execution and Zones. The representation of trees itself is substantially reworked and unified.

More about trees
A construction tree is a graphically represented sequence of objects that make up a model.

From left to right: Classic tree, Updated tree, previously non-existent transparent tree in the model window (the image is clickable).

A new column has appeared in the trees, allowing you to quickly turn on / off the frequency functionality. For example, for a 3D document, these are Visibility, Editing, Inclusion, and Projection.

In Drawing, the drawing tree is also substantially reworked. The Document Manager has been abolished. All information about the document is now available in one place, and a filtered search will allow you to quickly find the necessary object in the drawing. Also transferred to the tree lists to select the current view and layer. If you click on the color indicator \ numbers in the list of a view or layer, you can quickly switch to the current view or layer in the tree.

- Do not distinguish the elephant from the fan!

Chapter 2. Main window and new toolbar


Layout Saving space. Accessibility (contrast, choice of backlight colors, interface scalability). Search by team. Why not "tape"? Search in the trees.

The main interface layout center is the upper left corner. The whole layout is built around it. Tool area, Options panel, Set list, Document tabs panel.

This is done for the purpose of quick access to frequently used tools.

The new toolbar combines the strengths of the classic Toolbar and Quick Toolbar: quick access, compactness, extensibility, fast switching between toolboxes.

Many people ask, why not use the time-tested solution from Microsoft - the tape? Like, all leading CAD systems use it. After in-depth analysis, we found several reasons that led us to develop our own toolbar.

1. The complexity of the design under the tape. The concept of the tape involves the selection of "frequency" commands that look like big buttons. In this there is a bit of common sense for small applications with one user role, for which the tape was developed (a text editor, a small graphic editor). But for applications such as KOMPAS-3D, where there are several hundred teams and several user roles, this solution seems controversial. For example, take the command block Extrude.

More about extrusion
This is a group of commands that are compiled under the Extrude command.


Classic look. The group was displayed by the pressed paint on the icon.


Updated look. Added option to display the group at the top of the options panel.

In some roles, this is one of the main teams, in some not, some users more often use the Extrusion Element command, others - the Element by sections, and someone does not use this block of commands at all. Suppose, by default, analysts decided to make the Extrude block with a large button and place the Extrusion Element command in the first place. For users who do not use this command or extrusion at all, this solution will be unsatisfactory, because their frequency / importance of commands is completely different. "But the user himself can customize such an interface for himself!" - an inquisitive researcher would argue. For example, make the size of the button for themselves, change the order and so on. Yes, of course, it can. But the development of such a designer, which allows users to customize the ribbon interface for themselves, will take a lot of time, but this is not the main thing. In general, the user should not configure the interface, he should do his job, because for this he uses our application, and not to spend hours setting it up.

2. Compactness, or rather the lack of compactness in the tape. One large button takes the place of three buttons with captions or six without signatures.

3. Tabs. There are two problems. The first is that KOMPAS-3D uses tabs to display open documents, users like it a lot.

In KOMPAS terminology, document tabs are called bookmarks.

Bookmarks. Classic look


Bookmarks. Updated view (a thumbnail appeared when you hover over a bookmark)

The arrangement of ribbon tabs and tabs of open documents in one place would greatly complicate the interface and complicate the lives of users. Since we wanted to preserve the continuity between the past and the new versions of KOMPAS-3D, during the analysis we found the second problem - the uncontrolled "spreading" of tabs. What is it about? The current List of Kits is the successor to the Compact Panel of previous versions of KOMPAS-3D. The compact panel, in turn, may contain a number of buttons that switch the panel. And this amount is not limited by anything, since practically any third-party application can be integrated into the Compact Panel. If we used a ribbon, then even with a standard set of applications, the user could get a ribbon tab panel that did not fit the screen, and also had to constantly roll the mouse in the horizontal area of ​​the screen to select the necessary command.

4. The inability to place all the abundance of the command settings on the tape. The concept of the tape from Microsoft involves the placement of additional controls on the tape itself. Those. there can be not only buttons, but also other interface elements. The location of the buttons only violates the elaboration of the concept and reduces its advantages to zero.

To make it easier for KOMPAS-3D users to search for commands in the new, redesigned main menu, we added a search by command, which is located on the same line as the main menu. Now the search is looking for and runs only the commands that are in the main menu. In the future, we expect to significantly expand the search functionality and make it global.


New version. Search by team

One of the innovations of the 17th version is the appearance of search fields in almost all long lists and trees. The 3D construction tree and the drawing tree additionally have filters for faster and more accurate searching.


New version. From left to right. Search in construction tree, in variables and in libraries

Sergey Shvetsov, ASCON user interface designer

Link to the second part.

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


All Articles