Showing results for 
Search instead for 
Do you mean 
Reply
Solved! Go to solution

Hole callout sintax

[ Edited ]

Hi,

in the standard ISO, for Metric Coarse, the pitch must be removed in the dimension. For example, in the image attached, M12 is the correct representation and the M8 incorrect. I've edited nx502_Threaded_Hole_Standard.xml that is shared via UGII_THREADED_HOLE_STANDARD_DIR. I've edited the Callout tag in the xml file, for example Callout="M8 x 1.25" is become Callout="M8". Close and reopen NX, but the new callout dimension are M8 x 1.25. Where I wrong ?

Hole callout.png

Thank you...

Using NX 10 / RuleDesigner PDM

Testing NX 11 on production
Testing NX 12 Beta on production
7 REPLIES
Solution
Solution
Accepted by topic author cubalibre00
‎09-09-2016 02:38 AM

Re: Hole callout sintax

[ Edited ]

I had to edit 'Size' in the nx502_Threaded_Hole_Standard.xml, from "M8 x 1.25" to "M8" for the callout to display just "M8".

threaded_hole_callout.png

Ben

Re: Hole callout sintax

When your model has fine pitch screws and/or Left Hand screws, then the pitch, -LH should be shown. For this you will have to check and verify each and every thread dimension and apply properties accordingly to bring them up to the Standards. Wish NX could offer the option to follow ISO standards and dimensioning scheme.

Michael Fernando


Die Designer
NX 11.0.0.33 + PDW

Re: Hole callout sintax

I've submitted an ER to add the LH designation.  NX gives you the choice when you create it, but no option to display that it is a LH thread in the dimension...makes no sense to me.

-Dave
NX 11 | Teamcenter 11 | Windows 8.1

Re: Hole callout sintax

[ Edited ]

There are so many ISO non-conformance activity happening with NX drawings and many users are just ignoring them or accept them as flexibility of the software. So I wonder by reporting ERs, if they will get fixed. For instance, ISO rule is that unless extremely necessary, a sectional view should NOT have any hidden lines. Does NX follow this basic rule? No, it follows the settings of the parent view. Of course you could fix the view properties (if you are concerned about standards) by spending some time and strangely some users like it that way and maybe NX too.  

With NX drawings, it’s harder to extract and display model info (Some will say to use MBD/PMI) in accordance to the standards. For instance, NX won’t give number of instances of holes/screws (Unless it was a pattern). But in a hole table it will gather the similar holes/screws. My point is it’s capable of counting the number of holes/screws (A1,A2…An) but won’t provide that resource in hole callouts.

FYI: Hole table are static and there is no way of knowing that they are out of date (needs a table rebuild/update).

I’ve submitted many ERs and hopefully they will get fixed soon.

Michael Fernando


Die Designer
NX 11.0.0.33 + PDW

Re: Hole callout sintax


DaveK wrote:

I've submitted an ER to add the LH designation.  NX gives you the choice when you create it, but no option to display that it is a LH thread in the dimension...makes no sense to me.


Hi,

please put the ER here, so NX users that are confortable with this ER, they can link it. 

Thank you...

Using NX 10 / RuleDesigner PDM

Testing NX 11 on production
Testing NX 12 Beta on production

Re: Hole callout sintax


mike_fdo wrote:

There are so many ISO non-conformance activity happening with NX drawings and many users are just ignoring them or accept them as flexibility of the software. So I wonder by reporting ERs, if they will get fixed. For instance, ISO rule is that unless extremely necessary, a sectional view should NOT have any hidden lines. Does NX follow this basic rule? No, it follows the settings of the parent view. Of course you could fix the view properties (if you are concerned about standards) by spending some time and strangely some users like it that way and maybe NX too.  

With NX drawings, it’s harder to extract and display model info (Some will say to use MBD/PMI) in accordance to the standards. For instance, NX won’t give number of instances of holes/screws (Unless it was a pattern). But in a hole table it will gather the similar holes/screws. My point is it’s capable of counting the number of holes/screws (A1,A2…An) but won’t provide that resource in hole callouts.

FYI: Hole table are static and there is no way of knowing that they are out of date (needs a table rebuild/update).

I’ve submitted many ERs and hopefully they will get fixed soon.


Hi,
please put the ER here, so NX users that are confortable with this ER, they can link it. 

Thank you...

Using NX 10 / RuleDesigner PDM

Testing NX 11 on production
Testing NX 12 Beta on production

Re: Hole callout sintax

DaveK

 

I am an experimenter with code so when I saw this discussion re adding -LH for left hand thread feature I thought I would try some code.  The journal first finds threaded hole features. For these I check if they have a left hand thread.  I then checl for hole dimensions (as radial dimensions) and determine its associated thread feature.  If we have a lh thread then I append the required text.  As I do not do a great deal of drafting programs my code may not be the most efficient.  Note that I use a temporary file as

"C:\Temp\holedimdata.dat". Please change this as necessary.  Also it will not work at present for a linear dimension.

 

Option Strict Off
Imports System
Imports System.IO
Imports NXOpen
Imports NXOpen.UF
Imports NXOpen.Annotations
Imports NXOpen.Features
Imports NXOpen.Utilities

Module Module1
    Dim s As Session = Session.GetSession()
    Dim ui As UI = UI.GetUI()
    Dim ufs As UFSession = UFSession.GetUFSession()
    Dim lw As ListingWindow = s.ListingWindow
    Dim wp As Part = s.Parts.Work
    Sub Main()
        Dim feats As Features.FeatureCollection = wp.Features
        Dim featname1 As String = Nothing
        Dim featname2 As String = "Threaded Hole"
        Dim threadfeatname As String = Nothing
        Dim threadfeats(-1) As Feature
        Dim cnt1 As Integer = 0
        Dim dimcollection As DimensionCollection = wp.Dimensions
        Dim datafile As String = "C:\Temp\holedimdata.dat"
        Dim reftext1 As String = "Threaded Hole("
        Dim reftext2 As String = Nothing
        Dim foundtext As Boolean = False
        Dim threadrotation1 As Integer = 0
        Dim selectedObjects1(0) As NXObject
        Dim holedims(-1) As HoleDimension
        Dim holedimcount As Integer = 0
        For Each f1 As Feature In feats
            featname1 = f1.GetFeatureName()
            If featname1.Contains(featname2) Then
                ReDim Preserve threadfeats(cnt1)
                threadfeats(cnt1) = f1
                cnt1 += 1
            End If
        Next
        For Each dm1 As Dimension In dimcollection
            If dm1.ToString.Contains("HoleDimension") Then
                selectedObjects1(0) = dm1
                lw.SelectDevice(ListingWindow.DeviceType.File, datafile)
                s.Information.DisplayObjectsDetails(selectedObjects1)
                lw.SelectDevice(ListingWindow.DeviceType.Window, Nothing)
                foundtext = ReadTempFile(reftext1, datafile, reftext2)
                If foundtext = True Then
                    For Each f1 As Feature In threadfeats
                        threadfeatname = f1.GetFeatureName
                        If threadfeatname.Substring(0, 15) = reftext2.Substring(0, 15) And f1.FeatureType.ToString.Contains("HOLE PACKAGE") Then
                            GetThreadData(f1, threadrotation1)
                            ' check if hole dimension has appended text for lefthand
                            If threadrotation1 = 1 Then ' 0=rh  1=lh
                                ' save for adding appended text
                                ReDim Preserve holedims(holedimcount)
                                holedims(holedimcount) = dm1
                                holedimcount += 1
                            End If
                        End If
                    Next
                End If
            End If
        Next
        For Each holedim As HoleDimension In holedims
            AddLHTreadAppendedText(holedim)
        Next
    End Sub
    Private Sub AddLHTreadAppendedText(ByVal dm1 As Dimension)
        Dim radialDimensionBuilder1 As Annotations.RadialDimensionBuilder
        radialDimensionBuilder1 = wp.Dimensions.CreateRadialDimensionBuilder(dm1)
        Dim lines1(0) As String
        lines1(0) = "-LH"
        radialDimensionBuilder1.AppendedText.SetAfter(lines1)
        Dim nXObject1 As NXObject
        nXObject1 = radialDimensionBuilder1.Commit()
        radialDimensionBuilder1.Destroy()
    End Sub
    Private Sub GetThreadData(ByVal f1 As Feature, ByRef threadrotation1 As Integer)
        Dim holePackageBuilder1 As Features.HolePackageBuilder
        holePackageBuilder1 = wp.Features.CreateHolePackageBuilder(f1)
        threadrotation1 = holePackageBuilder1.ThreadRotation
        holePackageBuilder1.Destroy()
    End Sub
    Private Function ReadTempFile(ByVal reftext1 As String, ByVal datafile As String, ByRef reftext2 As String) As Boolean
        Dim foundtext As Boolean = False
        Dim linestring As String = Nothing
        Dim linelength As Integer = Nothing
        Dim pos1 As Integer = Nothing
        Dim filename As String = Nothing
        Dim componentname As String = Nothing
        Dim sr As StreamReader = File.OpenText(datafile)
        Do While sr.Peek >= 0
            linestring = sr.ReadLine
            Try
                If linestring.Contains(reftext1) Then
                    reftext2 = linestring
                    foundtext = True
                End If
            Catch ex As Exception
            End Try
        Loop
        sr.Close()
        File.Delete(datafile)
        Return foundtext
    End Function
    Public Function GetUnloadOption(ByVal dummy As String) As Integer
        'Unloads the image immediately after execution within NX
        GetUnloadOption = NXOpen.Session.LibraryUnloadOption.Immediately
    End Function
End Module

 

 

Regards

 

Frank Swinkels