ACAD's razor *
The following is a mix of the apart published articles since 2010.
One should not create new AutoCAD entities if the tasks can be satisfactorily solved with the available means. If AutoCAD tasks can be satisfactorily solved with a smaller number of means, one should use as few as possible.
- if there are several different solutions of the task, then one should replace them with one common solution (primitives, commands, tools, means).
- onу should not create unnecessary primitive types & custom objects.
Line, polyline, 2D polyline, 3D polyline can be replaced with 3D polyline; leader and multi-leader - with multi-leader; single-line text and multi-line text - with multi-line text. Xdata, Xrecord, (Architecture, MEP, Civil 3D) Property Sets, (Map 3D) Object Data - with one common, etc.
That said, one of AutoCAD vertical solution has two methods of labeling. In another one, it is possible to use the additional one. In another AutoCAD vertical solution, four tools can be used to define descriptive data: layers, attributes, Xdata, an external database (etc.).
For instance, in one of the vertical applications there is a custom point object in which the numbering of such objects is defined and the uniqueness of these numbers is maintained. This feature can be realized, for example, with the help of advanced, additional AutoCAD data – shared tools, etc.
General purpose tasks should be addressed in basic AutoCAD.
- if there are common tasks for all or most of vertical applications, then basic AutoCAD should contain the solution,
- if some vertical application has better solutions of the general purpose tasks, then basic AutoCAD should contain these solutions.
For instance, the task of labeling (for displaying entities or properties, characteristics of objects); the task of creating reports, explications, specifications, etc.; the task of object descriptive data defining. These and other tasks are common to both basic AutoCAD and all its vertical solutions. And so on.
Take the example of the task of representing point objects with attributes. The task of creating closed contours using existing elements. The task of automated geometric correctness checks and fixes. These solutions are implemented better and more complete in vertical applications than in basic AutoCAD and are useful for any modeling subject. And so on.
Exclusion of unnecessary entities can lead to a decrease in the number of primitives, custom objects, commands, tools, to the accessibility to all AutoCAD users of additional tools and solutions. These lead to simplification, AutoCAD workflow enhancement. It is more convenient for users, developers of custom applications. It is easier to evolve AutoCAD itself.
A word about AutoCAD vertical applications. The same tasks here are solved in different ways. If these tasks were solved in basic AutoCAD, then it would be simpler for both users and developers. In particular, now simple data exchange between all the vertical applications is impossible, since similar data is described in various ways. If all vertical applications use the same data description method, then simple data exchange will be possible. No converters or hopeless expectations for them to be developed will be needed in this case.
* - a “razor” is a principle or rule of thumb that allows one to eliminate ("shave off") unlikely explanations for a phenomenon, or avoid unnecessary actions. WikipediA.
Translation: Sergey Sheviakov