前言
笔者长期从事计算机辅助设计(CAD)系统的研究与开发工作,将自己从事CAD系统设计与开发的经验提炼和总结并汇集成书,一直是笔者的一个心愿。2003年,编著了《Visual C++ CAD应用程序开发技术》一书。该书出版后,读者发来电邮100余封,给予了积极评价,并交流了在各自专业领域从事CAD开发的一些技术问题。同时,该书所附带光盘中的程序也在国内软件开发的主要论坛被广泛转载,成为国内OpenGL及CAD开发的主要参考资料之一,并被国内科技论文作为参考文献广泛引用。
随着近年来CAD技术的发展,以及近年来与读者的交流与体验,笔者感觉有必要在原书的基础上,对该书的内容进行重要的扩充与修改,并增加更多新的内容。恰逢电子工业出版社来我校组织约稿,遂将上述想法付诸实施。
CAD软件开发是工程软件开发中的一个重要领域。开发一个三维CAD软件所涉及的知识面很多,如何规划和展开软件的开发工作是系统开发成功与否的关键问题之一。目前,单纯讲解OpenGL技术、Visual C++使用,以及面向对象的编程技术的出版物较多,本书的特点在于,从系统开发的角度,将开发一个基于OpenGL显示的三维CAD软件所涉及的各技术环节逐步展现给读者,将计算机图形学、OpenGL、面向对象的软件开发技术三个方面的知识予以融会贯通,将许多技术难点、抽象的概念融入具体的开发实例中讲解,着重讲解系统开发过程中的实际问题,易于读者领会,具有新颖性和强的实用性。在讲解中,以一个三维CAD原形系统STLViewer的开发为主线,贯穿全书,并提供详细的代码注解。
Visual C++是Microsoft公司迄今开发的功能最为强大的软件开发工具,是新一代CAD软件的主要开发平台。随着面向对象程序设计技术广泛应用、Visual C++优秀的开发环境、Microsoft Foundation Class (MFC)以及MFC程序框架、Windows操作系统对OpenGL的支持等,为在Windows系统上开发三维CAD软件提供了极大的方便。读者通过本书的学习,将能够循序渐进地了解和掌握使用Visual C++开发三维图形及CAD应用软件的相关技术。通过对应用实例的具体剖析,希望能使读者从软件开发的思想方法上对面向对象的程序设计技术有更深入的了解。
本书内容共分10章,分别介绍基于MFC的总体程序框架的分析与设计;功能模块的划分以及相关DLL库的开发与使用;CAD的基础几何类库的开发;在MFC环境下使用OpenGL进行图形绘制;开发面向CAD应用程序的OpenGL通用绘图类;使用面向对象技术设计CAD软件的几何内核;曲面的数学描述及OpenGL绘制;CAD软件的图形交互;及软件界面设计等。
本书所附带的光盘中,根据每章讲述的内容提供了全部的实现代码。本书的代码适用于Visual C++ 2005及以上版本。
本书的内容是作者长期从事CAD系统设计和开发的一些经验的提炼和总结。在内容或方法上若有疏漏和不妥之处,恳请各位读者给予指正。
参加本书编写工作的还有华南理工大学的熊巍、阎汉生、黄仲辉、张小明,在此向他们表示感谢。
作者