Keywords

1 Basic Principle of Modular Design

As one key technology of mass customization, the modular design of products is playing an obvious role in shrinking the development cycle of the products. With the help of computerized design technique (Chang-yin Gao et~al. 2006), this paper developed a modular design system for CNC machine tools, which can simplify the design and assembly process, and reduce the product development cost.

Modular design for CNC machine tools can be expressed as a design procedure. The units that have same function are designed into different modules that have different applications and properties, and then the products of CNC machine tools can be designed with the help of integrated modular, which can meet the user‘s requirements. The core of modular design is to design series of modules (Xiao-peng Liu et~al. 2003; Liang-ping Cui et~al. 2007).

The similarity among various components of CNC machine tools is reflected on the property (Yuan-yuan 2012; Jing-hua Xu et~al. 2011). In order to achieve the module division of the module, this paper used the property to measure the correlation degree between the modules. Accordingly this paper selected the appropriate module, and built the modular design system to meet the different requirements of CNC machine tools. A modular design system oriented on CNC machine tools was created in this paper. With this system, different modules are combined to adapt to a variety of applications of CNC machine tools.

The module design system proposed in this paper has the following advantages:

  1. 1.

    To expand the application range of this software and meet the designers’ requests on the modular design of CNC machine tools, the system is embedded in Pro/Engineer Wildfire 5.0. After copying to other computers, the user can use the introduction and help system simply; there is no need to put much effort and time to learn how to use;

  2. 2.

    This system has powerful functions such as data processing and database management. Calculations related to module division and module evaluation can be realized by this system. This can avoid tedious manual calculations. All the complex algorithms can be solved through simple human-computer interaction dialog box.

  3. 3.

    The system has strong versatility. When carrying out the modular design of different CNC machine tools, the designers simply input the value into the system according to their needs. They can quickly accomplish the division, management and configuration of the modules.

2 Architecture of Modular Design System

Modular design system is designed to meet the modular design requirements including maintainability, configurability. The framework of this system is shown in Fig. 1. Two layers are included: one layer is named as client layer, which is used to provide the designers with friendly visit; the other layer is named as service layer, which is used for the realization of business logic and data storage, access.

Fig. 1
figure 1

The framework of modular design system

3 Functional Design of the Modular Design System

3.1 Basic Information Management Function

CNC machine tools information and the customer demands are stored in the computer as the design basis. This basic information management function specifically includes two parts: Customer demand management, the lathes information management.

  1. 1.

    Customer demand management: It is used to provide the users with the maintenance of basic information, and customer needs maintenance.

  2. 2.

    Lathe information management: It is used for providing basic information of CNC lathes such as lathes classification, lathe machining range and cautions.

3.2 Module Division Management Function

CNC machine tools are divided into modules according to the guidelines of module division, which is driven by the attribute. The module is structured through the aggregation for CNC machine tools parts. And the scheme of module division is comprehensively synthesized under multi-criteria evaluation. At last, it will get the best module scheme (Yuan-yuan 2012; Xiao-qing Chen et~al. 2006). The modules are stored in the module library, which will be used for the modular design of CNC machine tools.

3.3 Module Library Management Function

This function is used as a management module of the design process with variety of information, including module class, modules, components, and interface parameters. When carrying out module configuration, related data can be extracted from this module library.

  1. 1.

    The module class management: It is used to provide basic module class information management, and the module class attributes information maintenance functions.

  2. 2.

    Module management: It is used for providing module basic information management, module attribute information maintenance, module interface parameters maintenance and other functions.

  3. 3.

    Management of interface parameters: It is devoted to providing the unified function management of module interface parameters.

3.4 Module Configuration Management Function

This function is used to get the needed products according to the existing modules or the modified modules, which includes the optimization of a decision-making model for solving, the instance retrieval, and module modify and other functions.

  1. 1.

    The optimization of the decision-making model for solving: It is devoted to solving a problem, which makes the technical characteristics to meet the technical requirements under the limited resource constraints.

  2. 2.

    Instance to retrieve: First, it is necessary to search from the existing products, because when the designer finds the similar product, he doesn’t need to find every same module. The modules the designer needs to choose are those which are not fit to the requests. Then, retrieve products with the highest similarity of the target product.

  3. 3.

    Module modification: The designer has to retrieve the module which is needed to modify, and save the modified module to module library.

3.5 System Management Function

This function is an auxiliary function of the system. It includes system log, data backup and user rights management.

  1. 1.

    System Log: This function can record the users, the machine IP information. The system can generate log files, and make log files for printing output which is useful for creating a file (Zhi-gang 2012).

  2. 2.

    Data backup: This function is applied to realize data backup into the database file, and then back up to the U-disk or other computers, which can prevent the losing of data. When the working computer may lose some important data, the user can restore them from other computers.

  3. 3.

    User rights management: It is used to provide the function of management of user rights. And it is used to control the user rights of different levels managers.

4 Modular Design System Development

To develop the modular design system, it is firstly necessary to build the model for every module. Then introduce the development tool and the database design.

4.1 Instance of the Data Model

  1. 1.

    Demand-side management model: It includes customers, customer demand, and machine tool project and needs entity and its relations.

  2. 2.

    Module library management model: This model includes the entities of module classes, modules, interface parameters and its relations. Among these contents, the module class is referred to the same function modules. The module is the instantiation of module class and made up of smaller modules and parts.

  3. 3.

    Module division evaluation model: The model is designed to manage the evaluation criteria of the module division due to a variety of programs in the module division, and to select the best program through the evaluation of optimal solution.

4.2 Development Tools

The operating system is Windows XP, which is public widely used system. Component implementation is by the use of COM form. First, Visual Basic 2005 is used to develop the user interface, and MATLAB is used to compile the calculation process. Results after compiling will be called by VB (Yue-qiang Wang et~al. 2011; Ou-yang Ming et~al. 2009). The compilation process is shown in Fig. 2. In order to facilitate the modification of the model, the system needs to be embedded in Pro/Engineer Wildfire 5.0 using the secondary development on Pro/Engineer Wildfire 5.0. Visual Basic API is chosen for secondary development (Yu-lin Yang et~al. 2009; Ya-ling Shang 2009). The Visual Studio.NET 2005 platform is used as the development platform.

Fig. 2
figure 2

MATLAB and VB compilation process

4.3 Database Design

Database occupies a very important position in an information management system (Wei Cui 2003). The reasonable, efficient database is the basis of development and design for application system. And it will directly affect the efficiency and the effect of the system. This system uses Oracle 11 g as the database management system. The name of the instance library is Modular Design. ADO.NET is improved from ADO. It provides the platform interoperability and data access functionality contraction. It is the important tool of Visual Basic.Net for database programing, and it provides two data providers (The SQL Server.NET Data Provider and The OLE DB.NET Data Provider) (Thearon Willis 2006). Applicable scope of specific databases is shown in Table 1.

Table 1 Two kinds of data provider

In this paper, OLE DB.NET Data Provider is used to connect to the Oracle database (Xiao-lin Cheng et~al. 2004). The code is as follows:

Dim oleDbConnection1 As OleBd.OleDbConnection

Dim strConnect As Sting="Provider=MSDAORA; Data Source= server;User ID=user ID;Password=password;"

oleDbConnection1=New System.Data.OleDbConnection(strConnect)

5 System Implementation

5.1 Environment Configuration for VB API Secondary Development

Under the directory of Pro/Engineer Wildfire 5.0/bin, you need to run vb_api_ register.bat. In the project - Add Reference menu, enter the COM page, select the Pro/E VB API Type Library for Pro/Engineer, and click OK.

5.2 Creation of VB Design Windows

Using VB API to do the secondary development of Pro/Engineer Wildfire 5.0 (Wen-bo WANG 2006), the core code is as follows:

session.UIAddMenu(“MachineTool”,"Windows", "MTmenu.txt", Nothing)

inputCommand=session.UICreateCommand("INPUT",buttonListener)

session.UIAddButton(inputCommand,“Machine Tool”, Nothing, "Designer Entrance", "Designer Entrance", "MTmenu.txt")

inputCommand1=session.UICreateCommand("INPUT1",buttonListener1)

session.UIAddButton(inputCommand1,“Machine Tool”, Nothing, "Module Assembly ", "Module Assembly ", "MTmenu.txt")

Dim cAC As CCpfcAsyncConnection

cAC=New CCpfcAsyncConnection

asyncConnection=cAC.Start("Pro/E Wildfire 5.0 installation path \\bin\\proe1.bat",".")

asyncConnection.Session.ChangeDirectory (System.Environment.CurrentDirectory)

addTerminationListener()

assMenuAndButton()

asyncConnection.WaitForEvents()

After running the program, under the option of “Machine Tool” is “Module Assembly” and “Designer Entrance”. After clicking, the user can get into the main window of the menu system, which is shown in Fig. 3.

Fig. 3
figure 3

Main interface of system

Those options under the main interface can be achieved various functions of the system. The modules and parts which aren’t corresponding to the requirements will be modified through the option of “module assembly”. The product assembly can be achieved by assembling various modules. The simulation result is the actual assembly result, and can analyze whether each module is able to match and whether there exits any other issues or not. All these can make the designer see at a glance, and will be useful to modify the modules which are unreasonable until the satisfaction of the designer. It will greatly shorten the cycle of product development and design of CNC machine tools.

6 Conclusion

The modular system oriented on CNC machine tools developed in this paper used the technology of multi-platform and modular design. It realized the overall design, module division and module combination of CNC machine tools. The system was flexibility, adaptability and scalability. The instance libraries and module library were got through the way of module division for the existing machine tools. These libraries will be used to verify the feasibility of the system for configuration. Through this system the designers can greatly shorten the design and development cycle of the machine tools product.