Layer setting checklist for drawing file

Hi All

I am working on layer setting checklist for drawing file

User will run the macro,macro has to move the objects as per below mentioned requirements

datum feature = should be in 100th layer
balloon feature = should be in 101 layer
datum target = should be in 102 layer
surface symbol = should be in 103 layer
welding symbol = should be in 104 layer

I did for sketches and fcfs & notes its working fine
please support on other objects mentioned in above.

Thank you

Please any support on this

Below code for notes

foreach (Note note in workPart.Notes)
DisplayableObject[] objects1 = new DisplayableObject[1];
objects1[0] = note;
DisplayModification displayModification1;
displayModification1 =
displayModification1.NewLayer = 242;

Thank you

The code below shows how to access the other object types.

Option Strict Off
Imports System
Imports NXOpen
Imports NXOpen.UF
Module Module1
    Dim theSession As Session = Session.GetSession()
    Dim theUfSession As UFSession = UFSession.GetUFSession()
    Dim theUI As UI = UI.GetUI()
    Dim lw As ListingWindow = theSession.ListingWindow
    Sub Main()
        Dim markId1 As Session.UndoMarkId
        markId1 = theSession.SetUndoMark(Session.MarkVisibility.Visible, "NXJ")
        lw.WriteLine("number of datums: " & theSession.Parts.Work.Annotations.Datums.ToArray.Length.ToString)
        lw.WriteLine("number of datum targets: " & theSession.Parts.Work.Annotations.DatumTargets.ToArray.Length.ToString)
        lw.WriteLine("number of drafting datum targets: " & theSession.Parts.Work.Annotations.DraftingDatumTargets.ToArray.Length.ToString)
        lw.WriteLine("number of feature control frames: " & theSession.Parts.Work.Annotations.Fcfs.ToArray.Length.ToString)
        lw.WriteLine("number of GDT's: " & theSession.Parts.Work.Gdts.ToArray.Length.ToString)
        For Each temp As NXObject In theSession.Parts.Work.Gdts
            lw.WriteLine("  type: " & temp.GetType.ToString)
        lw.WriteLine("number of ID symbols: " & theSession.Parts.Work.Annotations.IdSymbols.ToArray.Length.ToString)
        lw.WriteLine("number of surface finish symbols: " & theSession.Parts.Work.Annotations.DraftingSurfaceFinishSymbols.ToArray.Length.ToString)
        lw.WriteLine("number of weld symbols: " & theSession.Parts.Work.Annotations.Welds.ToArray.Length.ToString)
    End Sub
    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

Also note that the display modification object's .Apply method will accept an array of objects, so you could simplify your code as below:

DisplayModification displayModification1;
displayModification1 =
displayModification1.NewLayer = 242;

Thanks for your support

Hello Experts

Please support on this

All manual edited dimensions should be in 108 layer & manual edited dimensions are in yellow colour.

Thank you

The code at the following link will find manual dimensions; it writes some info to the listing window, but you can modify it to do as you like.

Thank you