NX二次开发的内部开发模式不能做多线程,只能单线程。就好比要写一个程序创建100个块,一定要在入口函数的主线程上创建100个块,如果在开几个线程去同时创建块,那么NX就会报错挂掉。
但是,NX二次开发的外部开发模式做好exe,在去写另一个多线程的程序,调用这个exe是可以的。
我认为在NX里做创建特征等相关的操作,与部件导航器等需要记录特征和对象创建的,就必须要单线程。如果同时多线程创建100个块,那部件导航器的建模顺序都乱掉了,所以不能多线程。
而做一个与上面无关的操作,还是可以的。比如:批量打印图纸,批量导出模型这些。封装成exe,应用多线程技术就可以提速很多了。
下面的例子是先用一个线程导出20张pdf,在用四个线程导出20张pdf。我们来对比下速度。
1.封装exe(NXC#项目)
NX11+VS2013
using System;
using NXOpen;
using NXOpen.UF;
public class