5.2 Framework for 3D-Based Applications
A framework is developed with reference to the facilities provided by the developmental tools and the requirements of the application. It is designed so that there are minimum dependencies between inpidual code modules. This may result in a small degree of code duplication. In exchange, there is better portability of the program codes, greater ease of maintenance and a better prospect for future expansion. The overview of this framework is illustrated in Fig. 2. The details of the various modules are discussed in the following sections.
5.2.1 Windows-Based User-Interface (A)
Parasolid does not provide the programmer with a user-interface. Thus, the development of the 3D-based application at every single stage will involve designing the user-interface from scratch. The necessary developments involve:
1. Environmental setting and display of the 3D-based application.
2. Interactive graphical interface and execution procedure for all application functionality.
5.2.2 3D Developer Layer (B)
Since different 3D-based applications require 3D-facilities to different extent, the framework must provide for these variations. A 3D developer layer (See Fig. 2, Item B) is conceptualised to handle such variations. It is a library of objects or classes that are developed, based on the Parasolid kernel. The extent of development depends on the requirements of the456 T. L. Neo and K. S. Lee Table 1. Summary of facilities provided by a 3D kernel and a CAD system.
Facilities 3D kernel 3D CAD system
1. Basic 3D modelling Low-level and general functions provided High-level and specific functions provided
2. Assemblies Several library functions provided Complete system provided
3. Feature-based modelling Not provided Established feature set provided
4. Parametric modelling Not provided Often provided
5. Free-form modelling Low-level functions provided Often provided
6. Drafting Not provided Complete system provided
7. Interactive user-interface Not provided Always provided
8. Visualisation of 3D objects Conceptual framework and several library Completely developed functions provided
9. File management system
Application identified in the previous section. Besides catering for variations in application requirements, the 3D developer layer also acts as a programming interface for non-Parasolid developers. Such an interface can also be re-used for subsequent development of other 3D-based applications. The 3D developer layer essentially consists of three main sections. They are used for 3D modelling and assembly, 3D visualization and 3D data management, respectively.
I. 3D Modelling and Assembly.
The 3D modelling and assembly module is the most important and elaborate of all three sections. It is analogous to the application-programming interface (API) provided by most CAD systems. The module consists of a library of 3D-based objects or classes, which are used for the development of the core application modules. The basic 3D functionality that is required by most 3D applications must be developed first. Depending on the requirements of the inpidual 3D-based application, other more advance features are subsequently added.
II. 3D Visualisation.
The display of 3D objects in a Windows client area requires a software graphics interface. The graphical output together with a selected graphical interface, are used for the rendering of 3D objects in the 3D-based application, as well as the management of the viewing projections and transformations. Here, a library of classes is developed for such purposes.
III. 3D Data Management.
The 3D data management module is developed on top of the frustrum. The frustrum is the module in the Parasolid kernel that facilitates archiving and access of 3D part files. A library of classes are developed using the frustrum for handling:
1. 3D object file format. 注射模设计的三维模型英文文献和翻译(4):http://www.751com.cn/fanyi/lunwen_2067.html