Community Tip - You can change your system assigned username to something more personal in your community settings. X
hi,
My Java code calls a bat file which runs the Creo Distribution utility and gets notified when "nmsd.exe" (PTC service for conversion) gets created.
Here is the bat file:
"%CREO_BASEDIR%\ptcdbatch.bat" -nographics -process C:\temp\convert\conversion.dxc
And the conversion.dxc file is as below:
<DXC>
<Windchill></Windchill>
<Group DSQM="_LOCAL" Name="IGES 3D Export" Output="2" OutputDir="C:\temp\convert" PrimaryContent="0" TTD="C:\temp\convert\iges_3d_export.ttd.def" VaultResults="0">
<Object>C:\temp\convert\PartFile.prt.1</Object>
</Group>
</DXC>
When the bat file is run, "nmsd.exe" gets called and the part file is converted to the .igs file.
But even after the conversion is complete and the log file shows "successful" conversion, the nmsd.exe doesn't get terminated and remains for sometime. Because of this my Java code couldn't understand if the conversion was over successfully.
Is there a way to terminate nmsd.exe immediately after the conversion? We can't exactly specify if a particular file would take a minute or 5 minutes to get converted. So its best that the nmsd.exe terminates on its own after the conversion and don't linger in the task manager.
Thanks in Advance.
Solved! Go to Solution.
@MN_10661566 wrote:
Creo10.0.0.0
Hi,
I defined personal environment variables ... see env_var.mp4 video
DBATCH_FORCE_CREO_RESTART = Y
NMSD_TIMEOUT = 15
I modified ptcdbatch.bat
I started ptcdbatch.bat and run mytask.dxc
<DXC>
<Windchill/>
<Group DSQM="_LOCAL" Name="IGES 3D Export" Output="2" OutputDir="E:\users\creo10_parametric" PrimaryContent="0" TTD="E:\PTC\Creo10_000\Creo 10.0.0.0\Common Files\text\ttds\iges_3d_export.ttd" VaultResults="0">
<Object>E:\users\creo10_parametric\brick.prt.1</Object>
</Group>
</DXC>
nmsd.exe disappeared after expected timeout.
Note:
I think it would be better to check, whether xtop.exe process exists. Because of DBATCH_FORCE_CREO_RESTART = Y Creo session ends when task is finished.
Thanks Martin, but I missed to mention that we did try this setting.
We kept the timeout as 2 mins in PTC startup file. (cocreatesim.psf and parametric.psf)
ENV=NMSD_TIMEOUT=120
This was why I was surprised, that even after setting it as 2mins , the nmsd.exe still takes more than 5mins to terminate.
I initially thought this was an issue on my system only. But than my colleague too confirmed the same. This is irrespective of my Java code- even if he sets the nmsd timeout to less than 1 or 2 mins, it still takes around 5 or 7 mins to terminate in his system.
@MN_10661566 wrote:
Thanks Martin, but I missed to mention that we did try this setting.
We kept the timeout as 2 mins in PTC startup file. (cocreatesim.psf and parametric.psf)
ENV=NMSD_TIMEOUT=120
This was why I was surprised, that even after setting it as 2mins , the nmsd.exe still takes more than 5mins to terminate.
I initially thought this was an issue on my system only. But than my colleague too confirmed the same. This is irrespective of my Java code- even if he sets the nmsd timeout to less than 1 or 2 mins, it still takes around 5 or 7 mins to terminate in his system.
Hi,
in my Creo 9.0.2.0 I opened parametric.psf and modified timeout value on line no.17.
ENV=NMSD_TIMEOUT=15
I started and ended Creo session.
nmsd.exe disappeared 25 seconds after Creo session end.
Please do the same test.
Did you mean you opened a session and closed it without a conversion?
We did open a session and closed the session and yes, the nmsd.exe disappears in 25 seconds (Both for Creo 10 and Creo 9).
But the slow termination happens after the conversion of a file. We checked with Creo 9 too. The behavior is same. Even after successful conversion of file (say Creo to STEP file), the nmsd.exe remains for more than 5 mins.
Note: the parametric.psf is set to 2 mins.
Any idea if this a known bug?
Hi,
what Creo version do you use?
Please test running dbatch from Command prompt window.
It is possible to force Creo to restart after finishing single task, try searching community how to set this behavior
Creo10.0.0.0
@MN_10661566 wrote:
Creo10.0.0.0
Hi,
I defined personal environment variables ... see env_var.mp4 video
DBATCH_FORCE_CREO_RESTART = Y
NMSD_TIMEOUT = 15
I modified ptcdbatch.bat
I started ptcdbatch.bat and run mytask.dxc
<DXC>
<Windchill/>
<Group DSQM="_LOCAL" Name="IGES 3D Export" Output="2" OutputDir="E:\users\creo10_parametric" PrimaryContent="0" TTD="E:\PTC\Creo10_000\Creo 10.0.0.0\Common Files\text\ttds\iges_3d_export.ttd" VaultResults="0">
<Object>E:\users\creo10_parametric\brick.prt.1</Object>
</Group>
</DXC>
nmsd.exe disappeared after expected timeout.
Note:
I think it would be better to check, whether xtop.exe process exists. Because of DBATCH_FORCE_CREO_RESTART = Y Creo session ends when task is finished.
Hey Thanks Martin,
Apologize for a late reply, just came back from a weeklong vacation.
We tried the above solution, and yeah this seems to work for us.
Just a query, would there be a conflict if the startup file(.psf) has a different timeout for NMSD compared to the environment settings?
@MN_10661566 wrote:
Hey Thanks Martin,
Apologize for a late reply, just came back from a weeklong vacation.
We tried the above solution, and yeah this seems to work for us.
Just a query, would there be a conflict if the startup file(.psf) has a different timeout for NMSD compared to the environment settings?
Hi,
I am sorry but I do not have spare time to test all possible variants of NMSD timeout values. Please do it by yourself.