一、CODEV 里怎么获取指定口径的边缘厚度值:
思路:利用SAGF(surface, zoom_pos, x, y)这个函数,计算单个面,指定高度的sag值,然后前表面sag值为sag1,后表面sag值为sag2,镜片厚度为thi,则边缘厚度为-sag1+thi+sag2。
sagf可以求对应口径下的sag。

codev里面的et是光线的光程吧,要确切的值在命令行里面输入eva((thi sn)-sagf(sn,0,0,h1)+sagf(sn+1,0,0,h2))就可以了
其实软件自带了一个宏lenstable.seq,可以查看加工数据,里面有边缘厚度;
二、CODEV不能像ZEMAX那边设置每个镜片边缘通光余量(在有效通光基础上镜片增加尺寸),给机械结构和加工留余量。CODEV优化过程该如何控制镜片边缘通光余量:
控制净口径可以用 ET命令,比如第一个面的净口径边缘厚度大于2,就是ET S1 > 2
如果你想控制加余量后的边缘厚度就只能这样写了:
@EG1 == ((CT S1)-SAGF(1,1,0,((SD S1)*1.05))+SAGF(2,1,0,((SD S2)*1.05)))
@EG1 > 2
CT是中心厚度,SAGF(, , , ,)有4个参数,第一个是面的序号,第二三是默认值,不用改,最后一个是半口径值,
(SD S1)是净口径,乘以1.05后就是加余量后的口径,这个1.05可以根据你的需求更改
两个SAGF函数的半口径可以不一样,双凸一般是一样的,弯月可以不一样。
这个表达式,CT()-SAGF()+SAGF(),对所有形状面型都适用,比如双凸,双凹,弯月等等。
另:一般只需要在有效通光的基础上,单边余量添加0.4mm,则可用
@EG1 == ((CT S1)-SAGF(1,1,0,((SD S1)+0.4))+SAGF(2,1,0,((SD S2)+0.4)))
@EG1 > 2
三、操作命令:
2、SAGF: