三、 总体
设计 把镜头基本结构分成了六种类型,就可以把整个软件系统
设计成六个主程序来分别完成六种类型结构的
设计。首先让用户输入
光学系统外形尺寸,然后选择:只画
光学系统图或画六种类型中一种类型结构图。每个主程序要调用
光学系统、压圈、镜筒、隔圈的子程序完成整个
光学镜头装配图绘制和自动
设计。软件系统框图如图3所示。
图3
在
设计程序时采用了模块化
设计,一个模块实现某一特定的功能,各个模块功能不重复,相互之间共享数据资源,存在调用关系。
各个模块实现的功能和程序的对应关系如表1所示。
在本
设计中我们主要采用编制下拉菜单的方法提供用户界面。建立的新菜单文件名是BIT.MNU,编辑的下拉菜单区是POP6,名称是BYSJ。
表1
程序名称 完成的功能
lensdata.1sp 接收用户输入的
光学系统参数并转化为一数据文件
bit.mnu 编制下拉菜单,提供用户界面
bysj1
设计结构类型一,其间调用len、hring1、barrel1、space1
bysj2
设计结构类型二,其间调用len、hring2、barrel1、space1
bysj3
设计结构类型三,其间调用len、hring3、barrel1、space1
bysj4
设计结构类型四,其间调用len、hring4、barrel2、space2
bysj5
设计结构类型五,其间调用len、hring5、barrel2、space2
bysj6
设计结构类型六,其间调用len、hring6、barrel2、space2
len.1sp 单独按照输入参数绘制
光学系统图
len
设计结构类型时被调用来绘制
光学系统图
hring1 直筒式结构中用来绘制压圈形式一
hring2 直筒式结构中用来绘制压圈形式二
hring3 直筒式结构中用来绘制压圈形式三
hring4 台阶式结构中用来绘制压圈形式一
hring5 台阶式结构中用来绘制压圈形式二
hring6 台阶式结构中用来绘制压圈形式三
barrel1 直筒式结构中用来绘制镜筒
barrel2 台阶式结构中用来绘制镜筒
space1 直筒式结构中用来绘制隔圈
space2 台阶式结构中用来绘制隔圈