NX二次开发-Socket服务调用外部模式与远程服务模式NX

蓝图分享网 2022-11-02 15:17:44 453阅读 0评论
作者:徐涛  审校:凌俊

 

适用版本:NX6版本以上

 

0 1
概述

 

在做NX二次开发项目时会遇到一些场景需要使用外部模式或者远程服务模式调用NX,然后进行模型的相关操作,本文介绍通过Socket服务器去启用这两种操作模式,做成接口,方便其他软件调用。

 

0 2
功能说明

 

假如是对模型的简单操作,例如读取、写入属性,可以使用外部模式,假如是打开复杂模型,进行较复杂的操作(或外部模式无法实现,例如要导出模型所有视图的某些具体特征的图片)可使用远程服务模式。

 

简单介绍一下原本这两种方式:

外部模式:通过bat启动一个exe,bat中写好NX的路径,以及外部模式程序输出的exe,以及相关输入参数,即可启动外部模式NX,在外部程序的exe中通过抓取Session,即可抓到刚打开的NX的内部句柄,之后就可以执行相关操作(读取、写入属性),外部程序只是生成一个控制台程序,功能全写在Main中,其他基本与普通dll项目设置相同;

 

NX二次开发-Socket服务调用外部模式与远程服务模式NX 第1张

 

远程服务模式:服务端是做一个dll库项目,设置好nx的库dll,在Main函数中将当前NXSession,NXUFSession的句柄写成服务,抛出可供别人调用。在客户端的程序通过抓取到服务中的NXSession,NXUFSession然后进行即可进行相关操作。前提是在一个局域网中,其实这里服务端只抛出NX句柄服务,具体NX相关功能代码是在客户端程序里写的。NX软件路径下有相关例子:.UGOPENSampleNXOpenApplications.NETRemotingExample

 

 

实际操作时,要先在服务端手动打开NX,然后加载服务的dll(Ctrl+U),然后客户端才能调用。

 

以下再通过socket服务,去调用上述两种模式的NX,通过接口处理,方便操作和管理。

 

外部模式:写一个控制台程序,里面开启一个socket服务,开启一个线程去接受信息,处理,然后返回相关信息,可以并行操作。一般内容是输入具体物理路径的part,以及要写入的属性,或者是要读取的属性,拆分信息,然后找到相对路径下的Bat模板,复制备份,然后修改里面的“%1”“%2”,设置外部程序exe的相对路径,以及外部程序要输入的内容,然后运行Bat,即可调用外部程序exe,外部程序会执行相关操作。最后返回信息。

 

远程模式:假如需要进行的操作较为复杂,耗时较多,可以开启多个远程模式的NX(开启多个NX),可以并行操作,提高效率,但这样就对电脑内存要求较高,也可以同时设置多台服务器,每台服务器开启多个远程服务。每个服务的端口必须不同,相当于很多个子服务。

 

然后再写一个总的Socket服务,总服务中去抓取所有开启的子服务,并为每个服务设置好线程,每个线程接收一个子服务,具体操作就在这些线程中处理。

 

一般过程以导出模型多视图为例:设置好多个子服务,总服务接收相关信息,先接收分析模型信息,通过一个当前空闲的线程去打开模型,并获取所有需要处理的视图及其相关信息,然后平均分组(看当前有几个空闲的线程,并设置一个上限),将每组所有视图的名字发送回客户端。客户端接受信息后,发送执行操作命令,服务端接受到信息后,分配好任务的线程分别打开模型,然后不断的切换视图,调整视图,截图,最后完成任务。在这个过程中,客户端通过定时器,每隔1秒发送信息给服务,获取当前工作状态(线程1:总任务20个,当前已完成5;线程2:总任务20,当前完成6….),最终所有任务完成后,停止操作,提示用户当前所有任务已完成。

 

在这个过程中,需要排队,NX是单线程,一个NX不能同时打开多个模型、切换视图、导出视图(会出现紊乱),只有等任务完成了,有空闲的线程后才能进行处理。

 

0 3
总结

 

本文主要是通过Socket的通讯模式,方便用户或其他合作单位调用外部模式和远程服务模式的NX,进行相关操作。注意点:就是输入的part文件路径,需要是共享文件夹路径,客户端和服务端可以同时访问。也可以通过socket服务将part文件通过文件流的方式发送到服务端,然后重新写入,生成新的part,实现文件传输,但如果遇到大模型,比较耗时,不太建议。

 

联宏科技介绍

能科科技股份有限公司,成立于2006年12月,2016年10月在上交所上市(股票代码:603859.SH)致力成为制造业企业的数字化转型合作伙伴,围绕工业互联网经营生态,围绕全流程数字孪生组织能力,以生产力中台为基础,建设新时代企业应用服务基础设施,赋能客户实现智能制造转型与数字化运作。

 

上海联宏创能信息科技有限公司,是能科科技全资子公司,专注为汽车、轨道交通、通用机械、消费电子、航空航天、船舶等机械制造业领域内的广大用户提供面向工业4.0的全产品生命周期的数字化产品工程解决方案及全方位资深咨询服务。

免责声明:

1、本站所有资源文章出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。

2、本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户擦亮眼睛自行鉴别,做一个有主见和判断力的用户。

3、本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。

4、侵权违法和不良信息举报 举报邮箱:cnddit@qq.com

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
验证码
评论列表 (暂无评论,453人围观)

还没有评论,来说两句吧...