5.4 程序运行模式
利用NXOpen开发的应用程序,可以在三种模式下被执行:交互模式、批处理模式、远程模式。
5.4.1 交互模式
交互模式(Interactive)又称内部模式(Internal),在这种模式下,应用程序作为NX交互的一部分运行,NX的显示窗口、菜单、功能区、资源条都处于活动状态。应用程序可以向用户展示自己独有的用户界面,也可以在后台运行,还可以执行从几何建模到设计验证等一系列的活动。
在之前的实例中,均采用交互模式运行NX二次开发的应用程序,在实战项目中这种模式使用较多。
5.4.2 批处理模式
批处理模式(Batch)又称外部模式(External),在这种模式下,运行应用程序时没有对应的NX交互界面。应用程序可以访问NX部件模型,但是不能执行NX显示选项,任何用户界面都必须由应用程序提供。批处理应用程序通常用于需要很少人工交互的耗时任务。例如:开发一个应用程序,将指定目录中的*.prt文件批量转换为*.stp文件。
批处理模式的程序格式一般为:
5.4.3 远程模式
远程模式(Remote)是指客户端和服务端应用程序,在客户端和服务端以单独的进程执行。客户端和服务端之间的通信是通过远程过程调用(Java和.net直接支持)或其他进程间通信(如COM对象、端口)实现的。当存在某种必须由多个站点共享的中心数据或知识时,可以用到远程模式。
5.4.4 批处理模式实例
本实例利用批处理模式,实现在不启动NX的情况下,创建一个部件并在这个部件中创建一个点,操作步骤如下:
(1)启动Visual Studio,利用NXOpen C++Wizard创建一个名为ch5_2的项目(本例代码保存在“D:\nxopen_demo\code\ch5_2”),删除原有内容并添加下列代码:
(2)在Visual Studio主界面中单击“Project”→“ch5_2 Properties”按钮启动属性配置,设置Configuration Type为“Application(.exe)”,如图5-3所示。
图5-3 设置Configuration Type
(3)设置Output File为“$(OutDir)/ch5_2.exe”,如图5-4所示。
图5-4 设置Output File
(4)编译链接生成*.exe文件。
(5)运行ch5_2.exe文件。如果直接运行时,提示找不到相应的*.dll文件,此时可以考虑将该文件拷贝到“%UGII_BASE_DIR%\NXBIN”目录中再运行。
(6)至此,成功的创建了部件(本例部件存储路径为“c:\test_part.prt”),在NX中打开后,显示结果如图5-5所示。
图5-5 批处理模式创建点显示结果
开发者还可以参考样例“%UGII_BASE_DIR%\UGOPEN\ext_uf_example.c”来学习如何利用批处理模式开发应用程序。