A method of computer aided design with self-generative models in NX Siemens environment

Currently in CAD/CAE/CAM systems it is possible to create 3D design virtual models which are able to capture certain amount of knowledge. These models are especially useful in an automation of routine design tasks. These models are known as self-generative or auto generative and they can behave in an intelligent way. The main difference between the auto generative and fully parametric models consists in the auto generative models ability to self-organizing. In this case design model self-organizing means that aside from the possibility of making of automatic changes of model quantitative features these models possess knowledge how these changes should be made. Moreover they are able to change quality features according to specific knowledge. In spite of undoubted good points of self-generative models they are not so often used in design constructional process which is mainly caused by usually great complexity of these models. This complexity makes the process of self-generative time and labour consuming. It also needs a quite great investment outlays. The creation process of self-generative model consists of the three stages it is knowledge and information acquisition, model type selection and model implementation. In this paper methods of the computer aided design with self-generative models in NX Siemens CAD/CAE/CAM software are presented. There are the five methods of self-generative models preparation in NX with: parametric relations model, part families, GRIP language application, knowledge fusion and OPEN API mechanism. In the paper examples of each type of the self-generative model are presented. These methods make the constructional design process much faster. It is suggested to prepare this kind of self-generative models when there is a need of design variants creation. The conducted research on assessing the usefulness of elaborated models showed that they are highly recommended in case of routine tasks automation. But it is still difficult to distinguish which method of self-generative preparation is most preferred. It always depends on a problem complexity. The easiest way for such a model preparation is this with the parametric relations model whilst the hardest one is this with the OPEN API mechanism. From knowledge processing point of view the best choice is application of the knowledge fusion.


Introduction
Taking into account amount of work and time that have to be spent at a product design stage as well a designer intellectual effort, the following three types of a design process can be distinguished it is: (i) a creative design, (ii) innovative design and (iii) routine design. A creative design is a creative engineering activity that is aimed at searching of a completely new design of technical means. It might be characterized by a great complexity of problem decomposition into smaller design tasks. As a result of this kind of the design process a completely new, original and previously unheard-of solutions come into being [1,2]. Innovative design is an engineering activity that consists in application of well-known technical means or design solution in order to find a new product design. During the innovative design some modifications of an existing product design are made. The result of these performed activities is so called an adopted product design. This adopted design is characterized by the unchanged system structure with some changes of partial solutions made on particular stages of the design process. In such case technical means functioning as a whole changes only slightly. In the innovative design only some pieces of detailed solution and their mutual location are being subjected to change. In conclusion it can be said that this design process course could be defined as process of new variants formation based on formerly designed technical solutions.
Routine design (multivariate design) is an engineer activity that consists in proper design information selection in order to identify a technical means structure which satisfied an identified need. In case of routine design, first a proper design documentation of formerly design product is selected; next the selected design documentation is being subjected to necessary changes. During this type of design activities similar tasks to those previously solved are being performed so pieces of a product design or even the whole product design are being subjected to changes. Product functioning and the principle of the technical solution stay unchanged. Characteristic for the routine design process is invariability of the product material, product manufacturing technology etc. for particular product components. The results of the routine design are different product design variants of formerly worked out designs. In the figure 1 different types of process design and product designs with respect to particular stages of the design process are shown. The design process is an intellectual creative process whose results depend on a designer talent, imagination and creativity. Quality and effects of work of a designer depends inter alia on: (i) the designer intelligence and talent, (ii) acquired by the designer design knowledge and skills, (iii) the designer emotional involvement in the project (motivation, self-confidence), (iv) the amount of time spent on the project, (v) accessibility of devices that support designer work (easy access to information and computer equipment). Taking into account above, the following statement seems to be right "with unchanged other conditions, lack of talent could be compensated with an appropriate method". Usually a designer has very limited influence on some above outlined conditions and factors, for instance on factors that depend on people personality. Whereas factors such as technical and computer equipment, quality and efficiency of methods used in a design department could be shaped by the designer much easier. So the new more efficient methods of labour organization or the new computer systems that make the design process easier and faster could be applied. Observed, in the past few decade dynamic development of computer means supports this process. The contemporary processors computing power increase, numerical and artificial intelligence methods development allow making more and more effective engineering tools. Current engineering tools development trends are mostly connected with application of artificial intelligence methods and tools. Thanks to this it is possible to capture and store skills and knowledge that arise during a new solution creation. Dynamic development of manufacturing systems requires application of new methods that support and make more efficient of a designer work. On the other hand recently could be observed increased interest of knowledge engineering domain. This domain includes issues of knowledge acquiring and storing as well its practical applications. One of the areas of knowledge engineering application is a computer aided design. Currently, CAD systems make storing of design-constructional knowledge and its integration with product geometrical models possible. Depending on the CAD system to be used in a design bureau, constructional-design knowledge can be store with parametric models, object models, design templates etc. [3,4,5].

Self-organizing models
In this work as a self-organizing model, a model that joins part model geometry with engineering knowledge and is capable of an intelligent behaviour in certain design condition is meant. In the other words self-organizing models make a full integration of design-constructional knowledge with solid product models possible. According to the introductory paragraph it could be noticed that especially prone to automation seems to be those engineering activities that have a routine character, so the potential application area of self-generative models is automation of the routine design. Thanks to application of this kind of models quick verification of many variants of a technical mean being designed is feasible. Taking into account that self-generative development process is labour and timeconsuming they are improper for creative and innovative design [1,2]. Self-generative model development process consists in increasing of a product solid model in design-constructional knowledge. Design-constructional knowledge can be introduced into a selfgenerative model by means of its different representation forms, such as: ─ parameters that are usually defined by numerical or literal values; ─ formulas that use formerly defined parameters -most often formulas take shape of math expressions; ─ inference and production rules composed of If -Then structures. They are usually used for an automatic selection of design features standard dimensions that in a traditional design are performed by a designer; ─ design tables that make controlling of parameters sets possible ─ check-mate and checks, thanks to them it is feasible to test a product design quality on account of following of company design standards, adhering to best practices and finally meeting of modelling quality standards; ─ knowledge templates used for knowledge management and sharing. In the figure 2 a self-organizing model development process is shown. This development process consists of the five stages. The process of a self-organizing model development starts with identification of knowledge sources which are next subjected to decomposition process that is aimed at their complexity reducing. At this development stage the self-organizing model system boundaries are defined. The second step includes knowledge acquisition which is usually preceded by working out of suitable knowledge acquisition tools. Next, the acquired constructional-design knowledge is modelled. It means that a computer interpretable model of knowledge is created. The resulting knowledge model might only be a computer interpretable when it is expressed in a knowledge representation language or data structure that enables the knowledge to be interpreted by software and to be stored in a database or some system of data exchange file (xml files for instance). In the fourth step a user interface structure is define. The last fifth stage includes activities connected with self-organizing model preparation; this also needs the CAD system environment to be chosen. In our research as a self-organizing models implementation environment a Siemens PLM NX 8.5 was chosen.   The choice of the most suitable method of a self-organizing model development depends primarily on the problem class. In case of complex engineering problems it is worth considering reaching for more advanced programing tools such as Visual Basic, Java, C/C++ or C#. For medium design problem class application of GRIP language is sufficient whilst simple problems could be supported by fully parametric models.

Fully parametric product model with parameters and relations
As mentioned above this method is used for relatively simple design problems. This method requires a good knowledge of the relationship that appears between particular technical means parameters and particular dimension values. It also requires knowledge of the mutual dimension relations. Thanks to this it is possible to change a product design shape by altering of these dimension values that were calculated in relational way to specific independent variable, for instance characteristic design features values or essential dimension etc. If the value of the independent value was changed than all connected dimension values are recalculated again. Next the product design shape is updated. Relation imposing is possible with an internal editor or Excel spreadsheet. In the figure 4 an example of this kind of method usage is shown.

A parametric model with GRIP language
Another method of self-organizing model development is a parametric model prepared with GRIP language. On account on GRIP language abilities it is possible to develop a medium hard parametric design models. Easy of learning is the main advantage of GRIP language, whilst the biggest drawback is incomplete coverage of all modelling features of Siemens NX system. So in some case is necessary to reach for more advanced programming tools for example SNAP or C#.

Part families
Part family method allows making a self-organizing model with an idea of part family. From definition part family is a set of products with the same design, so particular part family members could differ each other only in particular dimension values. Part family development needs a part family template to be prepared -a solid model. Depending on design automation problem a part family template could represent either a stand-alone part or an assembly. In case of assembly all parameters that describe mutual assembly members location have to be precisely defined. Next Excel spreadsheet is used in order to store characteristic dimension values. An example of self-organizing model prepared with part family method in the figure 5 is shown.

Knowledge fusion
Knowledge fusion is an interpreter, object-oriented language that allows adding engineering knowledge to a part element by both design and geometric creating rules. The knowledge fusion language is declarative, rather than procedural one, which means that, in general, the rules are only evaluated when referenced or demanded. In KF it is possible to access external knowledge bases, such as databases or spreadsheets. Knowledge fusion allows making rules that are responsible for geometric modelling, performing of mathematical expressions, assemblies management, automatic generation of mechanical structures, performing of a dynamic and kinematic analyses, CNC controlled machine programming, different reports preparing. As a self-organizing model development tool knowledge fusion is slightly less powerful than a parametric model method with high-level programming languages. An example of self-organizing model prepared with knowledge fusion method in the figure 6 is shown. Figure 6. The method of self-organizing model development with knowledge fusion method.
A parametric model with high-level programing language use is the last method of self-generative method development. This is the most powerful tool of the self-generative model development. It is suggested to use this method for the most complicated design automation problems. Available in this method tools covers about 95% of Siemens NX functionality.

Conclusions
A self-organizing model is a modern tool that supports an engineer work. It allows integrating designconstructional knowledge in one coherent model. Thanks to application of this type of model it is possible to achieve a high degree of automation of routine tasks that are usually performed by designers. An extra advantage of self-generative model application is possibility of many design variant testing what allows improving the design-constructional process.