Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

NX Custom Isometric View 3

Status
Not open for further replies.

d2z

Automotive
May 1, 2013
6
I'm new to NX, before this i used CATIA.

Just want to know either in NX can view different orientation of isoview or not?

In Catia we can custom the view and layout.

Thanks in advance
 
Replies continue below

Recommended for you

NX supports both Isometric and Trimetric views. Of course, there's nothing stopping you from rotating a view to whatever orientation that you wish and then saving that view giving it a user defined name.

And since you indicate that you work in the automotive industry you may be familiar with something called 'Diametric Views'. In NX you can set a Customer Default option which will automatically add an additional 16 predefined, industry standard 'Diametric' views to the standard eight out-of-the-box views normally supported by NX.

John R. Baker, P.E.
Product 'Evangelist'
Product Engineering Software
Siemens PLM Software Inc.
Industry Sector
Cypress, CA
Siemens PLM:
UG/NX Museum:

To an Engineer, the glass is twice as big as it needs to be.
 
HI,
If you want isometric in differnt orientation just go to BASE VIEW---ORIENT VIEW TOOL
Here another small window is opens,,so in that window click on one of axis in which you have to rotate about that axis....for more information pls check pics

Nitin
Nx -7.5
Teamcenter-8.0
iHungry Always
 
sorry some pics still remain,,,


Nitin
Nx -7.5
Teamcenter-8.0
iHungry Always
 
In your 3D master model. Orient the model and align it on the screen which will represent the front view. (use F8 to get the you want true) Then go to view operation rotate. Then rotate 45 in x hit apply then 35.264 in y then hit apply then 30.0 in z then hit apply. Hit ok to this box. Then go to view operation save as. Then give this new view a name like ISO.

Then use this view when you insert a base view into your drawing. This works for NX7.5

 
Before you do what SDETERS says you will want to rename that view to something else, then bring that newly named view into your drawing.
While in your model view
View -> operation -> Save as
 
sorry SDETERS, I didn't initially see that you did mention that the view needs to be renamed in your post
 
I did a lot of research on this subject. We create many many ISo drawings here. In I-Deas it was a little bit easier to create an ISO view than it is in NX. In I-Deas you could put in a front view (oreint the view anyway you want). then you could generate an iso view and i-Deas calcualted that view from that front view. So Per the steps i mentioned above I am following almost the same procedures that we did in I-Deas except that we have to generate and rotate the view in the 3D model.
 
SDETERS, You can do that same thing in NX.
The canned ISO view is also in NX, that can be utilized.
 
Below is a journal that generates an ISO view from the work view. Orient the work view to the desired "front" view before running the journal.

Code:
'September 9, 2013
' Journal to generate an isometric TFR(Top, Front, Right) view from the current work view.
' Orient the work view to the desired "front" view and run the journal.
' The journal will orient the view to an isometric TFR view and save the view.

Option Strict Off
Imports System
Imports System.Collections.Generic
Imports NXOpen
Imports NXOpenUI
Imports NXOpen.UF

Module Module1

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

    Sub Main()

        Dim theUISession As UI = UI.GetUI
        Const viewPrefix As String = "ISO_"
        Dim lw As ListingWindow = theSession.ListingWindow
        lw.Open()

        Dim workPart As Part = theSession.Parts.Work

        Dim currentView As View = workPart.Views.WorkView

        Dim newViewMatrix As Matrix3x3 = IsoTfrView(currentView)

        workPart.ModelingViews.WorkView.Orient(newViewMatrix)

        Dim viewList As New List(Of String)

        For Each tempView As View In workPart.ModelingViews
            viewList.Add(tempView.Name)
        Next

        Dim i As Integer = 1
        Dim newViewName As String = viewPrefix & i.ToString

        Do Until Not viewList.Contains(newViewName) Or i = Integer.MaxValue
            i += 1
            newViewName = viewPrefix & i.ToString
        Loop

        If i = Integer.MaxValue Then
            'could not save new view
            Dim response As Integer
            response = theUISession.NXMessageBox.Show("Error", NXMessageBox.DialogType.Error, "The custom view could not be saved")
        Else
            workPart.Views.SaveAs(workPart.ModelingViews.WorkView, newViewName, False, False)
        End If

        lw.Close()

    End Sub

    Function IsoTfrView(ByVal frontView As ModelingView) As Matrix3x3

        'rotate view 45 degrees about view -Y axis
        Dim rot1angle As Double = -Math.PI / 4
        Dim rot1matrix As Matrix3x3
        rot1matrix.Xx = Math.Cos(rot1angle)
        rot1matrix.Xy = 0
        rot1matrix.Xz = Math.Sin(rot1angle)
        rot1matrix.Yx = 0
        rot1matrix.Yy = 1
        rot1matrix.Yz = 0
        rot1matrix.Zx = -Math.Sin(rot1angle)
        rot1matrix.Zy = 0
        rot1matrix.Zz = Math.Cos(rot1angle)

        'rotate view 35.264 degrees (arctan(sin(45)) about view X axis
        Dim rot2angle As Double = Math.Atan(Math.Sin(Math.PI / 4))
        Dim rot2matrix As Matrix3x3
        rot2matrix.Xx = 1
        rot2matrix.Xy = 0
        rot2matrix.Xz = 0
        rot2matrix.Yx = 0
        rot2matrix.Yy = Math.Cos(rot2angle)
        rot2matrix.Yz = -Math.Sin(rot2angle)
        rot2matrix.Zx = 0
        rot2matrix.Zy = Math.Sin(rot2angle)
        rot2matrix.Zz = Math.Cos(rot2angle)

        Dim newViewMatrix As Matrix3x3
        newViewMatrix = MatrixMultiplication(frontView.Matrix, rot1matrix)
        newViewMatrix = MatrixMultiplication(newViewMatrix, rot2matrix)

        Return newViewMatrix

    End Function

    Function MatrixMultiplication(ByVal matrix1 As Matrix3x3, ByVal matrix2 As Matrix3x3) As Matrix3x3

        Dim m1(8) As Double
        Dim m2(8) As Double
        Dim m3(8) As Double
        Dim mAnswer As Matrix3x3

        'convert Matrix3x3 structure to array of doubles
        m1(0) = matrix1.Xx
        m1(1) = matrix1.Xy
        m1(2) = matrix1.Xz
        m1(3) = matrix1.Yx
        m1(4) = matrix1.Yy
        m1(5) = matrix1.Yz
        m1(6) = matrix1.Zx
        m1(7) = matrix1.Zy
        m1(8) = matrix1.Zz

        m2(0) = matrix2.Xx
        m2(1) = matrix2.Xy
        m2(2) = matrix2.Xz
        m2(3) = matrix2.Yx
        m2(4) = matrix2.Yy
        m2(5) = matrix2.Yz
        m2(6) = matrix2.Zx
        m2(7) = matrix2.Zy
        m2(8) = matrix2.Zz

        'call matrix multiplication function
        theUfSession.Mtx3.Multiply(m1, m2, m3)

        'convert array of doubles to Matrix3x3 structure
        mAnswer.Xx = m3(0)
        mAnswer.Xy = m3(1)
        mAnswer.Xz = m3(2)
        mAnswer.Yx = m3(3)
        mAnswer.Yy = m3(4)
        mAnswer.Yz = m3(5)
        mAnswer.Zx = m3(6)
        mAnswer.Zy = m3(7)
        mAnswer.Zz = m3(8)

        Return mAnswer

    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

www.nxjournaling.com
 
It seems that I have inadvertently recreated some existing functionality...
NX has built in "view sets" that you can use for this purpose. Orient your view then (in the part navigator) right click on "Model Views" and select "Add View Set". In the drop down, select which view your current view represents and select each other view you want to add to the set.

Perhaps I'll update my journal to create Top Front Left or Bottom Front Right ISO views to add something new...

www.nxjournaling.com
 
I like your program a little bit better than this functionality. Once again many different ways of getting to the same results. Good info.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Top