SolidWorks 作为基于 Windows 平台的全参数化特征造型软件, 可以十分方便地实现机械零件的三维实体造型、装配和生成工程图. 但目前的三维建模软件画出来的图形, 大部分是静态的. 即使使用三维建模软件制作动画, 也只是关键帧动画, 不能实现实时交互.OpenGL 作 为 一个性能 卓 著的 三维图 形 标准, 在虚拟现实领域有广泛的应用. 但在 OpenGL中不易构建比较复杂的三维模型, 比较复杂的三维模型一般在专业的三维工具软件中构建, 如 AutoCAD, 3Dmax, SolidWorks. 但是这些模型必须被转化为 OpenGL 可以读取的格式[ 1- 2], 如 DXF 格式、3DS 格式和 STL 格式等. 但 3DS 数据格式的文件只能保存和转换几何信息, 色 彩、 材质等信息可能会在转换时丢失[ 3]. DXF 格式文件是文本模式, 利用它很容易读取和编 辑数据, 但是 DXF 文件中缺失材质信息. 当利用 OpenGL 在应用窗口 渲染图形时, 不得不实时计算纹理坐标, 这些无疑会大大降低图形的显示效果. STL 文件表示立体图形 的方式较为简单, 对于一个独立的 立体图 形, 它 用许多空间小三角面对其进行逼近, 通过记录各 小三25机械与电子2010( 12) 角面的顶点和法向矢量信息来间 接描述原来的立体图形[ 4].本文把由 SolidWorks 建立的三维模型, 先转换为 ST L 文件, 再由 OpenGL 对读入的三维模型进行真实 感渲染、 视角 变换并实 现动 画仿真, 克 服了DXF 格式、3DF 格式文件固有的缺陷, 也解决了 以往只能由 DXF 格式、3DF 格式文件转化为 OpenGL可以读取的文件的问题.