Cancel
Showing results for 
Search instead for 
Did you mean: 

Quick way to check rounded dimensions in a drawing?

Pioneer
Pioneer

Hello every one

 

Is there a quick way (automated or semi) to check rounded dimensions in a drawing? Can we set-up a check-mate test for that? We are increasingly facing situations where the drawing doesn't exactly match the 3D model.

 

rounded dimension.png

 

Laurenj.

17 REPLIES

Re: Quick way to check rounded dimensions in a drawing?

Gears Esteemed Contributor Gears Esteemed Contributor
Gears Esteemed Contributor

Looks to me like you need to think about decimal places when you place the dimension.

The example shown is (to me) correct, for a dimension with *0* decimal places.

So either change the dimension to 1 decimal place, or change the model to 14.0

 

Ken

Ken Akerboom Sr CAx Systems Engr, Moog, Inc.
Production: NX10.0.3.5 MP16/TC11.2
I'd rather be e-steamed than e-diseaseled


Re: Quick way to check rounded dimensions in a drawing?

Siemens Phenom Siemens Phenom
Siemens Phenom

I would just take a screen shot of your display, then select all the dimensions and set the decimal places to 2 or 3 places and then compare the critical dimensions.  But if this is such an important issue, why not display your dims with at least 1 or 2 decimal places.  After all, rounding is just what it says it is.

 

Looking again at your picture, it would seem that you would have been better off designing the Maximum Material Condition, rather than the minimum, and then dimension appropriately.

John R. Baker, P.E. (ret)
EX-Product 'Evangelist'
Irvine, CA

Re: Quick way to check rounded dimensions in a drawing?

Pioneer
Pioneer

 

Ken: Maybe because of my bad english writing skill (not a native speaker) I didn't correctly state the problem we are facing. It's only when the supplier called that I realized there was a problem (20 parts in production, drawing release). I was trying to find a way to catch this kind of mistake while checking the draft. Often the person doing the drafting is not the designer .

 

John : What a nice trick! I will give it a try.  Can we customize check-mate for that purpose?

As for modeling in MMC condition, it's a old topic here and we have not yet decided the proper way to go. The 3D is often done so that tolerance will be centered around the nominal. But as in this case, under huge pressure for release, we can't always go back and change the 3D.

 

Thank you both for taking your time to answer my question.

 

Laurenj.

Re: Quick way to check rounded dimensions in a drawing?

Siemens Phenom Siemens Phenom
Siemens Phenom

But if you were modeling to the nominal, then your tolerance should have been ' ± ' and not just 'plus'.

 

John R. Baker, P.E. (ret)
EX-Product 'Evangelist'
Irvine, CA

Re: Quick way to check rounded dimensions in a drawing?

Pioneer
Pioneer

That was the idea when the model was created. But by the time the draft was created and ready for release, someone decided that + only was safer. And with no time left to go back and changed the 3D to recenter the tolerance...

 

Anyways, let's me rephrase my question:  assuming the dimension was intended to be 13.6±0.25, how do I make sure I don't end up with 14±0.25? Can we set up a simple check-mate test or it will require some code to browse the drawing and list all dim with say less than 2 decimal places?

 

Laurenj.

Re: Quick way to check rounded dimensions in a drawing?

Siemens Phenom Siemens Phenom
Siemens Phenom

There is no predefined test like that in CheckMate but perhaps one could be developed using Knowledge Fusion.

John R. Baker, P.E. (ret)
EX-Product 'Evangelist'
Irvine, CA

Re: Quick way to check rounded dimensions in a drawing?

Pioneer
Pioneer

Thanks John, I will look into that.

Re: Quick way to check rounded dimensions in a drawing?

Gears Esteemed Contributor Gears Esteemed Contributor
Gears Esteemed Contributor

I'd suggest changing your customer defaults and/or templates to set the desired number of decimal places for dimensions. This way all dimensions placed will have X number of decimal places by default, if any need to deviate from this it can be done by manually changing the setting of the dimension.

 

Anyway, here is a very barebones journal that will report any dimensions that are set for less than 2 decimal places (edit the "minDecimalPlaces" constant to change this as desired).

 

Option Strict Off
Imports System
Imports NXOpen
Imports NXOpen.UF

Module Module1

    Dim theSession As Session = Session.GetSession()
    Dim theUfSession As UFSession = UFSession.GetUFSession

    '$$$$$ specify minimum number of decimal places desired for dimensions
    Const minDecimalPlaces As Integer = 2

    Sub Main()

        If IsNothing(theSession.Parts.Work) Then
            'active part required
            Return
        End If

        Dim workPart As Part = theSession.Parts.Work
        Dim lw As ListingWindow = theSession.ListingWindow
        lw.Open()

        Const undoMarkName As String = "NXJ journal"
        Dim markId1 As Session.UndoMarkId
        markId1 = theSession.SetUndoMark(Session.MarkVisibility.Invisible, undoMarkName)

        For Each tempDim As Annotations.Dimension In workPart.Dimensions

            Dim mainText() As String
            Dim dualText() As String
            tempDim.GetDimensionText(mainText, dualText)

            Dim trailingZeros As Boolean = tempDim.GetDimensionPreferences.GetUnitsFormatPreferences.DisplayTrailingZeros

            Dim decimalPlaces As Integer = tempDim.NominalDecimalPlaces

            If decimalPlaces < minDecimalPlaces Then
                'tempDim.Highlight()

                lw.WriteLine("dim text: " & mainText(0))
                lw.WriteLine("  on sheet: " & AskDrawingSheet(tempDim).Name)
                lw.WriteLine("  nominal decimal places: " & decimalPlaces.ToString)
                lw.WriteLine("  trailing zeros displayed: " & trailingZeros.ToString)
                lw.WriteLine("")

            End If

        Next

        lw.Close()

    End Sub

    ' This function will work for:
    '     an object which "Resides on drawing" or is "View Dependent In" a DraftingView
    '     a DraftingView
    '     a DrawingSheet.View
    ' Returns Nothing for all other (ie. model mode) objects
    'code by Amy Webster of GTAC,
    'GTAC document: nx_api4936 or nx_api4937
    Function AskDrawingSheet(ByVal theObject As TaggedObject) As Drawings.DrawingSheet

        Dim theView As View = TryCast(theObject, View)
        If Not theView Is Nothing Then
            Dim sheetTag As Tag = Nothing
            Try
                theUFSession.Draw.AskDrawingOfView(theView.Tag, sheetTag)
                Return Utilities.NXObjectManager.Get(sheetTag) ' the drawing it is on
            Catch ex As NXException
                Return Nothing  ' it is a model view
            End Try
        End If

        Dim viewName As String = Nothing
        Dim status As Integer = Nothing
        Try
            theUFSession.View.AskViewDependentStatus(theObject.Tag, status, viewName)
        Catch ex As NXException
            Return Nothing
        End Try
        If status = 0 Then Return Nothing ' it is a model mode object

        Dim viewTag As Tag = Nothing
        theUFSession.View.AskTagOfViewName(viewName, viewTag)
        Dim viewType As Integer = Nothing
        Dim viewSubtype As Integer = Nothing
        theUFSession.View.AskType(viewTag, viewType, viewSubtype)
        If viewType = 0 Then Return Nothing ' it is view dependent in a modeling view

        Dim drawingTag As Tag = Nothing
        theUFSession.Draw.AskDrawingOfView(viewTag, drawingTag)
        Return Utilities.NXObjectManager.Get(drawingTag)  ' the drawing it is on!

    End Function

    Public Function GetUnloadOption(ByVal dummy As String) As Integer

        'Unloads the image when the NX session terminates
        GetUnloadOption = NXOpen.Session.LibraryUnloadOption.AtTermination

        '----Other unload options-------
        'Unloads the image immediately after execution within NX
        'GetUnloadOption = NXOpen.Session.LibraryUnloadOption.Immediately

        'Unloads the image explicitly, via an unload dialog
        'GetUnloadOption = NXOpen.Session.LibraryUnloadOption.Explicitly
        '-------------------------------

    End Function

End Module

 

Re: Quick way to check rounded dimensions in a drawing?

Pioneer
Pioneer

And Master COWSKI strikes again! It works like a charm! Fantastic as my favorite Doctor would say. Thank you very much

 

rounded dim journal test.png