1.3 实例分析:三维CAD模型浏览软件STLViewer
本书将结合一个三维CAD软件STLViewer的设计与开发,讲述在MFC环境下使用面向对象的方法设计三维CAD软件的一些技术。包括总体程序框架的分析与设计、功能模块的划分及相关DLL库的开发、如何在MFC环境下使用OpenGL进行图形绘制、为CAD应用程序开发OpenGL的通用绘图类、使用面向对象技术设计CAD软件的几何内核、CAD软件的图形交互、软件的界面设计等。
这里,首先介绍STLViewer的主要功能。图1-2是STLViewer的主界面。作为一个简化了的三维CAD软件,STLViewer可以接收输入的STL几何模型,并将STL文件转化为系统自定义的几何模型,修改并增加属性,还可以采用串行化(Serialize)方法存储和装载系统自定义的几何模型(*.mdl文件)。在STLViewer中,使用OpenGL对几何模型进行了三维真实感渲染,并对模型进行视角变换、显示缩放、光照设置及鼠标捡取等。在界面中,设计了具有Visual Studio界面风格的浮动窗口和信息输出框。浮动窗口采用树形控件,用于显示几何模型结构、修改模型的附加信息(颜色、名称等)和操作选取几何模型。信息输出框用于输出系统提示信息,类似于Visual Studio开发环境中的Output窗口。
STL文件,即立体光造型文件(Stereo Lithographic File,STL File),是描述三维几何形状的标准文件格式之一,它采用一系列离散的三角片来描述三维曲面形状。目前,大多数CAD软件都具有STL文件输出接口,可以将三维几何模型输出成STL文件。本书所附带的STL文件(ASCII格式)均是从AutoCAD软件输出的。STL文件在工业领域有较多的应用,如快速原型制造(Rapid Prototyping Manufacturing,RPM)就使用STL文件作为加工模型的几何输入接口。贯穿本书的示例程序STLViewer就是作者对参与开发的一个快速原型制造软件作了大量简化后的结果。