Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

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

Create Notes, a simple way? 1

Status
Not open for further replies.

DavidQ

Industrial
Oct 11, 2012
53
Is there is a simply way to create 10, 15, 30...notes using this code lines: (the main concern is to avoid repeating 30 times the same block of lines but with diferent counter (14))

Dim nullAnnotations_SimpleDraftingAid14 As Annotations.SimpleDraftingAid = Nothing

Dim draftingNoteBuilder14 As Annotations.DraftingNoteBuilder
draftingNoteBuilder14 = workPart.Annotations.CreateDraftingNoteBuilder(nullAnnotations_SimpleDraftingAid14)
draftingNoteBuilder14.Origin.Plane.PlaneMethod = Annotations.PlaneBuilder.PlaneMethodType.XyPlane
draftingNoteBuilder14.Origin.SetInferRelativeToGeometry(False)
draftingNoteBuilder14.Origin.SetInferRelativeToGeometry(True)
draftingNoteBuilder14.Origin.Anchor = Annotations.OriginBuilder.AlignmentPosition.BottomLeft

Dim text14(0) As String
text14(0) = "Fecha1"

draftingNoteBuilder14.Text.TextBlock.SetText(text14)
draftingNoteBuilder14.Style.LetteringStyle.GeneralTextSize = 1.3129
draftingNoteBuilder14.Style.LetteringStyle.GeneralTextCharSpaceFactor = 0.8945
draftingNoteBuilder14.Style.LetteringStyle.GeneralTextAspectRatio = 0.8945
draftingNoteBuilder14.Style.LetteringStyle.GeneralTextColor = workPart.Colors.Find("Black")
draftingNoteBuilder14.Style.LetteringStyle.GeneralTextFont = 2

Dim fontIndex14 As Integer
fontIndex14 = workPart.Fonts.AddFont("ge_font5")

Dim assocOrigin14 As Annotations.Annotation.AssociativeOriginData
assocOrigin14.OriginType = Annotations.AssociativeOriginType.Drag

Dim nullView14 As View = Nothing
assocOrigin14.View = nullView14
assocOrigin14.ViewOfGeometry = nullView14

Dim nullPoint14 As Point = Nothing
assocOrigin14.PointOnGeometry = nullPoint14
assocOrigin14.VertAnnotation = Nothing
assocOrigin14.VertAlignmentPosition = Annotations.AlignmentPosition.TopLeft
assocOrigin14.HorizAnnotation = Nothing
assocOrigin14.HorizAlignmentPosition = Annotations.AlignmentPosition.TopLeft
assocOrigin14.AlignedAnnotation = Nothing
assocOrigin14.DimensionLine = 0
assocOrigin14.AssociatedView = nullView14
assocOrigin14.AssociatedPoint = nullPoint14
assocOrigin14.OffsetAnnotation = Nothing
assocOrigin14.OffsetAlignmentPosition = Annotations.AlignmentPosition.TopLeft
assocOrigin14.XOffsetFactor = 0.0
assocOrigin14.YOffsetFactor = 0.0
assocOrigin14.StackAlignmentPosition = Annotations.StackAlignmentPosition.Above
draftingNoteBuilder14.Origin.SetAssociativeOrigin(assocOrigin14)

Dim point14 As Point3d = New Point3d(92, 26, 0.0)
draftingNoteBuilder14.Origin.Origin.SetValue(Nothing, nullView14, point14)
draftingNoteBuilder14.Origin.SetInferRelativeToGeometry(True)

Dim nXObject14 As NXObject
nXObject14 = draftingNoteBuilder14.Commit()
draftingNoteBuilder14.Destroy()

Is possible that some lines are missing but the code works.

Regards
 
Replies continue below

Recommended for you

Take that chunk of code and turn it into a subroutine or function that you can call multiple times from Sub Main.

Here's a function example that takes the note text, x coordinate, and y coordinate as parameters:

Code:
[COLOR=blue]Option[/color] [COLOR=blue]Strict[/color] [COLOR=blue]Off[/color]  
[COLOR=blue]Imports[/color] System  
[COLOR=blue]Imports[/color] NXOpen  

[COLOR=blue]Module[/color] Module1  

    [COLOR=blue]Dim[/color] theSession [COLOR=blue]As[/color] Session [COLOR=blue]=[/color] Session.GetSession()  
    [COLOR=blue]Dim[/color] workPart [COLOR=blue]As[/color] Part [COLOR=blue]=[/color] theSession.Parts.Work  

    [COLOR=blue]Sub[/color] Main()  

        [COLOR=blue]Dim[/color] myNotes(9) [COLOR=blue]As[/color] NXObject  
        [COLOR=blue]Dim[/color] i [COLOR=blue]As[/color] [COLOR=blue]Integer[/color] [COLOR=blue]=[/color] 0  

        [COLOR=blue]For[/color] i [COLOR=blue]=[/color] 0 [COLOR=blue]To[/color] 9  
            myNotes(i) [COLOR=blue]=[/color] AddNote("Note number: " [COLOR=blue]&[/color] i.ToString, i, i)  
        [COLOR=blue]Next[/color]  

    End [COLOR=blue]Sub[/color]  

    [COLOR=blue]Function[/color] AddNote(ByVal noteText [COLOR=blue]As[/color] String, [COLOR=blue]ByVal[/color] Xposition [COLOR=blue]As[/color] Double, [COLOR=blue]ByVal[/color] Yposition [COLOR=blue]As[/color] [COLOR=blue]Double[/color]) [COLOR=blue]As[/color] NXObject  

        [COLOR=blue]Dim[/color] nullAnnotations_SimpleDraftingAid1 [COLOR=blue]As[/color] Annotations.SimpleDraftingAid [COLOR=blue]=[/color] [COLOR=blue]Nothing[/color]  

        [COLOR=blue]Dim[/color] draftingNoteBuilder1 [COLOR=blue]As[/color] Annotations.DraftingNoteBuilder  
        draftingNoteBuilder1 [COLOR=blue]=[/color] workPart.Annotations.CreateDraftingNoteBuilder(nullAnnotations_SimpleDraftingAid1)  
        draftingNoteBuilder1.Origin.Plane.PlaneMethod [COLOR=blue]=[/color] Annotations.PlaneBuilder.PlaneMethodType.XyPlane  
        draftingNoteBuilder1.Origin.SetInferRelativeToGeometry(False)  
        draftingNoteBuilder1.Origin.SetInferRelativeToGeometry(True)  
        draftingNoteBuilder1.Origin.Anchor [COLOR=blue]=[/color] Annotations.OriginBuilder.AlignmentPosition.BottomLeft  

        [COLOR=blue]Dim[/color] text14(0) [COLOR=blue]As[/color] [COLOR=blue]String[/color]  
        text14(0) [COLOR=blue]=[/color] noteText  

        draftingNoteBuilder1.Text.TextBlock.SetText(text14)  
        draftingNoteBuilder1.Style.LetteringStyle.GeneralTextSize [COLOR=blue]=[/color] 1.3129  
        draftingNoteBuilder1.Style.LetteringStyle.GeneralTextCharSpaceFactor [COLOR=blue]=[/color] 0.8945  
        draftingNoteBuilder1.Style.LetteringStyle.GeneralTextAspectRatio [COLOR=blue]=[/color] 0.8945  
        draftingNoteBuilder1.Style.LetteringStyle.GeneralTextColor [COLOR=blue]=[/color] workPart.Colors.Find("Black")  
        draftingNoteBuilder1.Style.LetteringStyle.GeneralTextFont [COLOR=blue]=[/color] 2  

        [COLOR=blue]Dim[/color] fontIndex1 [COLOR=blue]As[/color] [COLOR=blue]Integer[/color]  
        fontIndex1 [COLOR=blue]=[/color] workPart.Fonts.AddFont("ge_font5")  

        [COLOR=blue]Dim[/color] assocOrigin1 [COLOR=blue]As[/color] Annotations.Annotation.AssociativeOriginData  
        assocOrigin1.OriginType [COLOR=blue]=[/color] Annotations.AssociativeOriginType.Drag  

        [COLOR=blue]Dim[/color] nullView1 [COLOR=blue]As[/color] View [COLOR=blue]=[/color] [COLOR=blue]Nothing[/color]  
        assocOrigin1.View [COLOR=blue]=[/color] nullView1  
        assocOrigin1.ViewOfGeometry [COLOR=blue]=[/color] nullView1  

        [COLOR=blue]Dim[/color] nullPoint1 [COLOR=blue]As[/color] Point [COLOR=blue]=[/color] [COLOR=blue]Nothing[/color]  
        assocOrigin1.PointOnGeometry [COLOR=blue]=[/color] nullPoint1  
        assocOrigin1.VertAnnotation [COLOR=blue]=[/color] [COLOR=blue]Nothing[/color]  
        assocOrigin1.VertAlignmentPosition [COLOR=blue]=[/color] Annotations.AlignmentPosition.TopLeft  
        assocOrigin1.HorizAnnotation [COLOR=blue]=[/color] [COLOR=blue]Nothing[/color]  
        assocOrigin1.HorizAlignmentPosition [COLOR=blue]=[/color] Annotations.AlignmentPosition.TopLeft  
        assocOrigin1.AlignedAnnotation [COLOR=blue]=[/color] [COLOR=blue]Nothing[/color]  
        assocOrigin1.DimensionLine [COLOR=blue]=[/color] 0  
        assocOrigin1.AssociatedView [COLOR=blue]=[/color] nullView1  
        assocOrigin1.AssociatedPoint [COLOR=blue]=[/color] nullPoint1  
        assocOrigin1.OffsetAnnotation [COLOR=blue]=[/color] [COLOR=blue]Nothing[/color]  
        assocOrigin1.OffsetAlignmentPosition [COLOR=blue]=[/color] Annotations.AlignmentPosition.TopLeft  
        assocOrigin1.XOffsetFactor [COLOR=blue]=[/color] 0.0  
        assocOrigin1.YOffsetFactor [COLOR=blue]=[/color] 0.0  
        assocOrigin1.StackAlignmentPosition [COLOR=blue]=[/color] Annotations.StackAlignmentPosition.Above  
        draftingNoteBuilder1.Origin.SetAssociativeOrigin(assocOrigin1)  

        [COLOR=blue]Dim[/color] point1 [COLOR=blue]As[/color] Point3d [COLOR=blue]=[/color] [COLOR=blue]New[/color] Point3d(Xposition, Yposition, 0.0)  
        draftingNoteBuilder1.Origin.Origin.SetValue(Nothing, nullView1, point1)  
        draftingNoteBuilder1.Origin.SetInferRelativeToGeometry(True)  

        [COLOR=blue]Dim[/color] nXObject1 [COLOR=blue]As[/color] NXObject  
        nXObject1 [COLOR=blue]=[/color] draftingNoteBuilder1.Commit()  
        draftingNoteBuilder1.Destroy()  

        [COLOR=blue]Return[/color] nXObject1  

    End [COLOR=blue]Function[/color]  

    [COLOR=blue]Public[/color] [COLOR=blue]Function[/color] GetUnloadOption(ByVal dummy [COLOR=blue]As[/color] [COLOR=blue]String[/color]) [COLOR=blue]As[/color] [COLOR=blue]Integer[/color]  

        GetUnloadOption [COLOR=blue]=[/color] NXOpen.Session.LibraryUnloadOption.AtTermination  

    End [COLOR=blue]Function[/color]  

End [COLOR=blue]Module[/color]


www.nxjournaling.com
 
Thanks cowski, this is great but how could be adapted when the notes have different X and Y positions and style?
 
The function takes X and Y positions as parameters, pass in whatever you want for each note. Any other text properties that you want to control (text height, font, etc) can be turned into parameters similar to what was done for the noteText, Xposition, and Yposition.

www.nxjournaling.com
 
Ok, I will work on this, thanks for your help!!
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor