如何使用Zemax OpticStudio中的动态CAD链接 ( Dynamic CAD Link )

概要

这篇文章讲解了:

•如何在Zemax OpticStudio中打开或动态编辑SolidWorks®,Autodesk Inventor®以及PTC Creo Parametric®零件。

文中示例文件可通过以下链接下载:

http://customers.zemax.com/ZMXLLC/media/Knowledge-Base/Attachments/11011_DynamicLink.zip


简介

照明设计,因其复杂建模无法用数学公式直接表达的特性,推进了光线追迹软件的发展。大多数软件允许使用者进行基本形状(例如球体、立方体等)或普通设计(例如非球面、CPC等)的简单建模,一旦所需物体无法通过简单的物体结合来构建,在软件中就难以实现建模,尤其是需要使用参数来控制物体形状的情况下。此时,即使使用CAD文件(IGS、STP、SAT或其他格式)进行文件转换,也无法达到所需要的灵活性。

但在旗舰版的Zemax OpticStudio中,可以在非序列模式下打开SolidWorks、Autodesk Inventor以及PTC Creo Parametric的零件文件。这些原生CAD零件可以很便捷地通过相应的非序列模式物体,结合至非序列元件编辑器内:

图1. 动态链接至CAD零件的非序列物体

任何明确定义了尺寸的物体都可以在非序列元件编辑器中显示其尺寸且被参数化控制。更重要的是,这类零件如同其他任意OpticStudio中的物体一样,可分配膜层或散射属性、模拟黑体发射器、复制构成矩阵等。于是,光学及照明工程师可以使用同一文件与机械工程师进行合作,而不需要进行繁琐的文件转换。下面内容将以SolidWorks为例,详细介绍动态CAD功能是如何工作的。


安装CAD软件

若想使用Zemax OpticStudio中的动态CAD功能,第一要求就是安装好合适的CAD软件:

•需要安装SolidWorks® 2017*,以使用动态链接SolidWorks零件文件 (*.SLDPRT) 的“CAD Part:SolidWorks”物体。

•需要安装Autodesk Inventor® 2018*,以使用动态连接Autodesk Inventor零件文件 ( *.IPT) 的“CAD Part: Autodesk Inventor”物体。

•需要安装PTC Creo Parametric® 4.0*,以使用动态连接Creo Parametric零件文件 ( *.PRT ) 的“CAD Part: Creo Parametric”物体。

*请注意,OpticStudio技术支持团队将不提供SolidWorks、Autodesk以及Creo的安装帮助及技术支持。

无论是使用CAD Part: Creo Parametric物体还是CAD Part: SolidWorks物体,相应的程序都应该在加载零件至Zemax OpticStudio之前打开,并在Zemax OpticStudio运行期间保持打开状态,此举可以确保Zemax OpticStudio与CAD软件之间通信保持时刻畅通。不同的是,使用CAD Part: Autodesk Inventor物体时,不需要在Zemax OpticStudio加载零件前打开Autodesk Inventor。此时Zemax OpticStudio将自动在后台打开Autodesk Inventor,程序不出现在用户的显示器范围内,但可以通过任务管理器查询到该进程。应保持该软件在Zemax OpticStudio运行时一直运行,以确保OpticStudio与Autodesk Inventor之间的通讯保持时刻畅通。上述所有的情况内,保持Zemax OpticStudio与CAD软件之间的稳定通讯是在Zemax OpticStudio中修改零件物体的先决条件。


SolidWorks示例

下述示例使用了SolidWorks零件文件,该零件文件来自于CAD发布网站GrabCAD。下一步我们要把下图中的台灯参数化建模至Zemax OpticStudio中:

图2. GrabCAD中的展示台灯渲染图

此*.SLDPRT文件可以通过GrabCAD网站进行下载:https://grabcad.com/library/schone-1

当文件下载好后,可在SolidWorks内进行探索。通过FeatureManager Design Tree我们可以了解到构建这个台灯模型的特征和尺寸:

图3. SolidWorks中的台灯特征

点击FeatureManager Design Tree内的特征选项,可以在窗口内查看其相关尺寸。下图所展示的是构建Sketch 1所使用的尺寸:

图4. 台灯尺寸

台灯的尺寸在下方列出以作为参考:

•D1 =100 mm

•D2 = 10 mm

•D3 = 70 degrees

•D4 = 125 mm

•D5 = 50 mm

•D6 = 120 mm

•D7 = 70 degrees

一旦该*.SLDPRT文件在Zemax OpticStudio中打开,Sketch 1内的尺寸即可在非序列元件编辑器内获取及修改。OpticStudio将默认使用Dx@Sketch1来标注这些尺寸,其中的x是代表Sketch 1中各类尺寸的整数。同样的,Revolve 2的尺寸(唯一尺寸为360度)将被标记为D1@Revolve2。

需要注意的是,这些特征和尺寸的名称都可以在SolidWorks内进行修改,使得我们可以在Zemax OpticStudio中更直观的查看与修改参数。可通过右键点击FeatureManager Design Tree中的特征名称,并在菜单中选择“Feature Properties”来实现此操作。

图5. 右键点击Sketch 1

图6. Sketch 1的特征属性

同样也可在Sketch 1上完成尺寸命名设定。在Design Tree内选择Sketch 1,如之前图示。右键点击布局图中的一个尺寸,在右键菜单中选择“Configure Dimension”选项,再右键点击单元格名字(如下方示例中的D4)来对尺寸进行重命名。

图7. 右键点击SolidWorks布局图中的D4 ( 125 mm )

图8. 右键点击D4单元格进行重命名

上述方法只作为演示,我们仍在此示例中使用默认的特征和尺寸名称。

下一步,保存并关闭*.SLDPRT文件,SolidWorks在后台保持打开和运行。

图9. SolidWorks保持打开,但不打开任何零件


Zemax OpticStudio动态CAD链接

为了在Zemax OpticStudio中打开此SolidWorks零件,*.SLDPRT文件必须存放在恰当的Zemax用户数据文件夹下。在用户数据文件夹<…\Documents\Zemax\Objects>下有三个分别的文件夹用于存放SolidWorks、Autodesk Inventor以及PTC Creo Parametric文件,如下图所示:

图10. 存放PTC Creo Parametric、Autodesk Inventor以及SolidWorks文件的Zemax用户数据文件夹

在Zemax OpticStudio中可以对这些文件夹位置进行用户化设置,位于Setup tab > Project Preferences > Folders:

图11. 在Zemax OpticStudio内的Project Preferences中设置用户数据文件夹

一旦*.SLDPRT文件保存至“SolidWorks Files”文件夹,即可使用Zemax OpticStudio中的非序列元件编辑器打开此文件。实际操作为:建立新的非序列系统,在非序列元件编辑器中展开Object Properties菜单,并在Type下拉菜单内选择“CAD Part: SolidWorks®”作为物体类型:

图12. 在非序列元件编辑器内选择CAD Part: SolidWorks

选择使用的*.SLDPRT文件:

图13. 选择Lamp.SLDPRT

点击OK按钮,再打开NSC Shaded Model来查看该零件。该元件与在SolidWorks内看到的一模一样。

图14. NSC Shaded Model内的Lamp.SLDPRT

在此示例中,SolidWorks零件文件的单位与Zemax OpticStudio中默认的镜头单位一样为毫米。当打开Autodesk Inventor、PTC Creo Parametric或SolidWorks文件的时候,Zemax OpticStudio将自动确定其单位是否与当前镜头单位设置匹配。若单位之间不匹配,将发出警告。为了避免潜在的困惑和错误,强烈建议用户将Zemax OpticStudio内的镜头单位与CAD软件内的系统单位设为一致。

在Zemax OpticStudio中,可为CAD物体设置光学属性,例如膜层、材料以及散射函数。与此同时,零件的尺寸可以选择在非序列元件编辑器的参数栏下被直接显示。打开Object Properties的CAD 设置,可以看到*.SLDPRT文件内的Smart Dimensions和结构 ( Configurations ) 定义列表。SolidWorks中的可结构化功能 ( Configuration Capability ) 与Zemax OpticStudio中的多重结构功能 ( Multiple Configuration Capability ) 十分相似。该功能允许用户给一个文件中的同一零件定义多种不同的形态。在SolidWorks与Zemax OpticStudio内的功能可以通过SWCN这一多重结构操作数链接起来,用于控制SolidWorks中的Configuration设置。

默认的,零件的尺寸不会在非序列元件编辑器中的参数栏内显示,但可以在Part Dimension Name组合框内点击Expose按钮,将尺寸显示。需要注意的是,对于Inventor和Creo零件而言也可以使用同样的方法将尺寸展示出来。

图15. 非序列元件编辑器内的CAD设置

在此示例内,点击Expose All按钮,使得所有的尺寸都可以在非序列元件编辑器内动态地修改。

图16. 在非序列元件编辑器中展示CAD零件尺寸

可尝试修改其中的几个参数,更新NSC Shaded Model以查看这些改变。可参考之前图4内SolidWorks布局图中的尺寸标注。

图17. 在Zemax OpticStudio中修改Sketch 1的尺寸。将D2从10 mm改为15 mm,D7从70度改为80度。


储存修改好的文件

在Zemax OpticStudio对CAD物体做出的任何改动都可用物体原有文件格式保存起来。在此示例中,我们可以将修改后的零件文件以*.SLDPRT的格式保存。对于Inventor与Creo物体则使用*.IPT或*.PRT文件保存。实际操作为:在非序列元件编辑器的工具栏内,找到CAD工具并展开,在展开菜单内选择“Save Modified Part”:

图18. 非序列元件编辑器工具栏内的CAD工具

可将修改后的物体保存为新的文件,或使用同样的文件命名用以覆盖原有的CAD物体。需要注意的是,将物体作为新CAD文件保存时不会自动替换Zemax OpticStudio中当前使用的CAD文件。如果需要更换当前使用的CAD文件,返回Object Properties下的Type设置内,在Data File下拉菜单内选择新创建的CAD文件即可。

除此之外,修改后的零件尺寸或是Zemax OpticStudio中设置的光学属性(例如膜层或材料)也可在原生的CAD文件中被保存下来。参考之前的图18以及“Save CAD Assembly/Part Properties”选项。在SolidWorks之中,光学属性将被保存至File > Properties菜单内的Configuration Specific选项卡下。在Autodesk Inventor之中,光学属性将被保存至iProperties对话框的Custom选项卡下。在PTC Creo Parametric之中,光学属性将被保存为Annotations Notes,可在零件或装配体的Model Tree下找到(只要Model Tree Filters 菜单下的Display Annotation被勾选)。在Autodesk Inventor和SolidWorks中,光学属性的名称以“OpticStudio”开头。但在Creo Parametric中Annotations Note将以字母“Z”开头(此时完整的属性在Note的内容中展示,而不在Note的命名中展示)。

在CAD软件中这些存储信息对软件本身而言是没有意义的,仅可作为参考。然而,当这一文件后续被读取进其他OpticStudio设计中时,Zemax OpticStudio可以读取这些属性信息,并给新的OpticStudio设计物体分配光学属性。

下图展示了OpticStudio中的修改过后的SolidWorks零件。此SolidWorks零件含有MIRROR材料,且散射配置文件被分配至台灯的内表面。点光源被列阵至台灯内部,用来模拟放置白光LED,并用一个Detector Color来显示True Color的照度分布 ( Irradiance Distribution ) 。

图19. 当SolidWorks零件的一些表面被配置了光学属性之后,在NSC Shaded Model内的Detector Color上可展示光线追迹数据


总结

动态CAD链接功能可将SolidWorks *.SLDPRT文件、Autodesk Inventor *.IPT文件以及PTC Creo Parametric *.PRT文件整合进Zemax OpticStudio的非序列光学系统内。Zemax OpticStudio与软件间的动态链接可以参数化修改这些零件的尺寸,比静态的CAD交换文件更加实用。并且,此功能使得光学工程师和机械工程师之间的合作不再需要来回转换文档,极大地提高了合作效率。