What is Macro-Parametric Approach(MPA)?
A methodology of exchange of model data between CAD systems using macro file, which is modeling commands set of each commercial CAD system.
How is MPA developed?
Mapping in the macro-parametric approach comprises two levels. The first is a schema mapping level between the modeling commands set of a CAD system and the neutral modeling commands set. The second is a data translation level between the macro file of the commercial CAD system and the XML macro file. To translate models between CAD systems, the macro information that is generated by a commercial CAD system is translated into an XML macro file, which is again translated into the command sequence of the receiving CAD system. A set of neutral modeling commands has been defined by analyzing several commercial CAD systems and this set of commands is used as the schema of a given XML macro file.
Mapping in Macro-Parametric Approach
Process of MPA
To translate CAD models between heterogeneous CAD systems using the macro-parametric approach, we need two translations, pre-and post-processing. The translation from a macro file generated by a commercial CAD system into a standard macro file is the pre-processing, and the other translation from a standard macro file to a macro file of the receiving CAD system is the post-processing. The scenario of data exchange is shown in the figure. The translated model of the receiving CAD system can be edited parametrically.
Process of Macro-Parametric Approach
Neutral Commands or a set of standard modeling commands
To exchange CAD models using the macro-parametric approach, a set of standard modeling commands has been developed. Modeling commands of famous commercial CAD systems have been analyzed. These modeling commands are grouped into several types. A set of standard modeling commands has been generated. Mapping relationships between the standard commands and commands of commercial CAD systems are defined. Based on the translation experiments of test models, the set of standard modeling commands can be finalized. The proposed modeling commands are defined from a common set of user commands of commercial CAD systems such as CATIA, Pro/E, UG, IDEAS, SolidWorks, and SolidEdge. Each CAD system has its own set of modeling commands; however they have the common goal of providing an efficient user interface to define geometry. There are many similar commands such as protrusion or revolve. We can assume that commands required to model simple parts or features are similar enough to define a set of standard modeling commands. The first target of the macro-parametric translation is simple mechanical parts. The commands set can be later extended to model a sheet metal or an assembly model, but such complex models are beyond scope of this research.
Most CAD systems use hybrid models, which contain both the B-rep information and the procedural information in their data structures. The macro file or the log file corresponds to the procedural model. A macro file is the history of modeling commands issued by a designer. Most commercial CAD systems support macro file formats; these include the trail file of Pro/Engineer, the program file of IDEAS, the macro file of UG, the script file of CATIA and the swb file of SolidWorks. Formats of macro files are different for each CAD system. Macro files of CATIA and SolidWorks are written as Visual Basic codes. Macro files of Pro/E, UG and IDEAS are text files at the level of graphical user interface (GUI). The left one is a script file of CATIA and the right one is the proposed standard (neutral) macro file in XML format. Pro/E records the names of selected entities in its macro file and uses the 3D coordinates. CATIA records the names of entities used during the modeling process and uses the 3D coordinates. To record entity names, a topological naming method is used in CATIA. The macro file of SolidWorks records the names of entities that the user selected during the 2D profile stage, but it does not record names during the 3D solid stage. Nor does it record the local coordinates used in the 2D profile stage; instead it records the 3D world coordinates. Macro files of IDEAS and UG record the screen coordinates that come from the entity selection by a pointing device. It is difficult to translate such macro files. Because the structure of the macro file of Pro/E is not well documented, we need to extract parametric information from the Feature Tree of the system using its API. While UG and IDEAS record Undo/Redo history in addition to modification history and default settings in their macro files, CATIA and SolidWorks do not record such information because their macro files are Visual Basic script files. They record the final history excluding Undo/Redo actions. Because we have experimented only with CATIA and SolidWorks, we are not concerned herein with the Undo/Redo history and default settings For other CAD systems we may need to implement a cleaning algorithm for the macro file before the translation
Grouping of modeling commands
The modeling commands of six commercial CAD systems such as CATIA (29 groups, 232 commands), Pro/E (four groups, 239 commands), UG (10 groups, 390 commands), IDEAS (19 groups, 251 commands), Solid-Works (46 groups, 367 commands) and SolidEdge (8 groups, 125 commands) have been analyzed. The analyzed user commands of CAD systems are classified into four command groups; 2D sketch commands, surface commands, solid commands, and constraint commands. Figure shows the four groups of the root level, SKETCH, SOLID, SURFACE, and CONSTRAINT, and they are further classified in detail. Naming of standard commands is set according to the classification. For example, the standard command for extrusion is SOLID_Create_- Protrusion_Extrude.
Classification of standard modeling commands
Draft set of standard modeling commands
The draft set of standard modeling commands, Working Draft 0 (WD0), was produced in August 2001. A top-down approach has been used to define the set, which contains only 107 commands. The commands are grouped into four groups at the root level, 18 groups of level 1, 60 groups of level 2, and 55 groups of level 3. The scope of the standard modeling commands is shown in Fig. 8. It is a semantic common set of surveyed modeling commands. While it includes sketch and constraint commands, commands for assembly models are not addressed. The latest WD4, which is still under refinement, is composed of 144 commands including arguments.
Scope of the standard modeling commands
The architecture of Macro-Parametric translators
TransCAD was implemented as an integration platform. TransCAD is a layer between the translators and the XML macro file. Figure shows the relation between the translator, the XML macro file, and TransCAD.In this architecture, common modules, such as the geometric modelling kernel and the XML macro parser, are transferred from each translator to TransCAD. As a result, the translators only need to map the information from TransCAD to the macro information of the receiving CAD system. Most operations can be performed by TransCAD and the size of the translators reduced. TransCAD can generate an explicit model from a procedural model, so that each translator does not need to create an explicit model from a procedural model. In addition, various selection mechanisms were implemented in the TransCAD. Finally, as the system structure prevents translators from directly accessing a given XML macro file, the modification according to the change of the neutral modelling commands set does not propagate to the translators. TransCAD provides an interaction mechanism between the translators and TransCAD using the Automation APIs. This Automation, developed by Microsoft, is a COM-based technology that allows developers to create custom applications to automate tasks.
Proposed architecture of macro-parametric translators
Architecture of TransCAD and the translators
The geometric modelling kernel is a module for Boolean operations, filleting and shape creation, and manages geometric and topological data. The geometric constraint solver implements a parametric function. Without a constraint solver, TransCAD may generate an inaccurate model because of the geometric tolerance. The feature data is that data used by the geometric modelling kernel and by the geometric constraint solver, and it is abstracted as a unit of a feature. Modification and creation of the feature data are conducted using the commands. There are also modules for Automation APIs, the XML macro parser, and the user interfaces, which are used for interfacing TransCAD with outside applications. The XML macro parser is a module that translates an internal model of TransCAD to an XML macro file, or vice versa. Additionally, the user interface module enables users to verify or modify TransCAD models. The Automation allows translators to easily access TransCAD APIs, even if the applied translators are implemented using different programming languages. The Automation can also be used to interface with other programs.
//IMAGE: TransCAD architecture and the macro-parametric translators
TransCAD architecture and the macro-parametric translators
Procedures for CAD model exchange
Figure shows the procedure of translating CAD models of CAD system α to an XML macro file. First, the translator acquires information from the native macro file of CAD system α by using the macro parser of CAD system α (process 1). Then, the information is mapped to the TransCAD APIs (process 2), and the mapped APIs are interfaced (process 3). In process 3, the TransCAD APIs are called through the Automation client module. For this process, the macro information is translated to Automation API calls. The calls of the Automation APIs reactivate the TransCAD commands. Then, the commands manipulate the feature data and create an internal model. Finally, when the translators request TransCAD to export the internal model as a XML macro file (process 4), TransCAD generates the corresponding XML macro file (process 5).
Procedures for CAD model exchange