Is it possible to go through all holes of a non-associative part with specific predefined diameters ( for e.g. bore diameter 6,8 for an M8 thread and so on...) and automatically create a symbolic thread on all of this holes?
I´m relatively new to VB.net and journaling but I´m learning... in my research, I found some journals which automatically colored specific diameters, which is helpful but I don´t know if there´s a command in NXOpen to create symbolic threads.
In my company, we work with non-associative parts and therefore it would be very time-saving if that would be possible.
Thanks in advance.
Hi @Kev17 ,
Welcome to Community!
When you record a journal in NX, supported features/commands are displayed with small green square. While recording a Thread operation, you can notice that an icon is not there meaning the command is not supported. I think which also means you can't automate this scenario in any way.
The legacy thread feature did not support journaling yet and in such cases you should check the Open C API Reference to find UF_MODL_create_symb_thread which is supposed to create the legacy thread feature.
See also nx_api683 - Sample Open C API program : create and edit symbolic thread
For .NET you need to port the code and call the UF Wrapper UFModl.CreateSymbThread method instead.
Here is vb code snippet. If you look up SymbThreadData in ufmodl you will see all the fields exposed.
Dim threaddata As UFModl.SymbThreadData = Nothing threaddata.cyl_face = threadfacetag threaddata.start_face = startfacetag threaddata.axis_direction = dirdbl threaddata.form = threadstandard threaddata.callout = threadcallout threaddata.method = "CUT" threaddata.angle = "60" threaddata.include_instances = UFConstants.UF_MODL_NO_INSTANCES threaddata.rotation = UFConstants.UF_MODL_RIGHT_HAND threaddata.length_flag = UFConstants.UF_MODL_FIXED_LENGTH threaddata.length = threaddepthstring threaddata.tapered = UFConstants.UF_MODL_NON_TAPERED threaddata.num_starts = 1 threaddata.tapped_dia = tapdiastring Try ufs.Modl.CreateSymbThread(threaddata, threadtag) Catch ex As Exception MsgBox("error creating thread") End Try Dim threadfeat As Feature threadfeat = NXObjectManager.Get(threadtag)
Hope this helps