Пример #1
0
        /// <summary>
        /// 创建注释
        /// </summary>
        public static NXOpen.Tag CreateNode(string text, Snap.Position origin)
        {
            var result = NXOpen.Tag.Null;

            if (!EDMTableInfo.IsHasChinese(text))
            {
                var theUFSession = NXOpen.UF.UFSession.GetUFSession();
                theUFSession.Drf.CreateNote(1, new string[] { text }, origin.Array, 0, out result);
            }
            else
            {
                Session theSession  = Session.GetSession();
                Part    workPart    = theSession.Parts.Work;
                Part    displayPart = theSession.Parts.Display;
                NXOpen.Annotations.SimpleDraftingAid   nullAnnotations_SimpleDraftingAid = null;
                NXOpen.Annotations.DraftingNoteBuilder draftingNoteBuilder1;
                draftingNoteBuilder1 = workPart.Annotations.CreateDraftingNoteBuilder(nullAnnotations_SimpleDraftingAid);
                draftingNoteBuilder1.Origin.OriginPoint = origin;
                draftingNoteBuilder1.Origin.Anchor      = NXOpen.Annotations.OriginBuilder.AlignmentPosition.MidCenter;
                draftingNoteBuilder1.Text.SetEditorText(new string[] { text });
                var obj = draftingNoteBuilder1.Commit() as NXOpen.Annotations.Note;
                draftingNoteBuilder1.Destroy();
                result = obj == null ? NXOpen.Tag.Null : obj.Tag;
            }

            return(result);
        }
Пример #2
0
        /// <summary>
        /// 创建注释
        /// </summary>
        public static NXOpen.Tag CreateNode(string text, Snap.Position origin)
        {
            var     result      = NXOpen.Tag.Null;
            Session theSession  = Session.GetSession();
            Part    workPart    = theSession.Parts.Work;
            Part    displayPart = theSession.Parts.Display;

            NXOpen.Annotations.SimpleDraftingAid   nullAnnotations_SimpleDraftingAid = null;
            NXOpen.Annotations.DraftingNoteBuilder draftingNoteBuilder1;
            draftingNoteBuilder1 = workPart.Annotations.CreateDraftingNoteBuilder(nullAnnotations_SimpleDraftingAid);
            draftingNoteBuilder1.Origin.OriginPoint = origin;
            draftingNoteBuilder1.Origin.Anchor      = NXOpen.Annotations.OriginBuilder.AlignmentPosition.MidCenter;
            draftingNoteBuilder1.Text.SetEditorText(new string[] { text });
            var obj = draftingNoteBuilder1.Commit() as NXOpen.Annotations.Note;

            draftingNoteBuilder1.Destroy();
            result = obj == null ? NXOpen.Tag.Null : obj.Tag;
            return(result);
        }
Пример #3
0
        public static bool InsertNote(string text, Point3d textLocation, string FontSize)
        {
            try
            {
                Session theSession  = Session.GetSession();
                Part    workPart    = theSession.Parts.Work;
                Part    displayPart = theSession.Parts.Display;
                // ----------------------------------------------
                //   Menu: Insert->Annotation->Note...
                // ----------------------------------------------
                NXOpen.Session.UndoMarkId markId1;
                markId1 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Visible, "Start");
                NXOpen.Annotations.SimpleDraftingAid   nullAnnotations_SimpleDraftingAid = null;
                NXOpen.Annotations.DraftingNoteBuilder draftingNoteBuilder1;
                draftingNoteBuilder1 = workPart.Annotations.CreateDraftingNoteBuilder(nullAnnotations_SimpleDraftingAid);
                draftingNoteBuilder1.Origin.Plane.PlaneMethod = NXOpen.Annotations.PlaneBuilder.PlaneMethodType.XyPlane;
                draftingNoteBuilder1.Origin.SetInferRelativeToGeometry(false);
                draftingNoteBuilder1.Origin.SetInferRelativeToGeometry(true);
                draftingNoteBuilder1.Origin.Anchor = NXOpen.Annotations.OriginBuilder.AlignmentPosition.MidCenter;

                //text文字
                string[] text1 = new string[1];
                //text1[0] = "<C2>" + text + "<C>";
                text1[0] = text;
                draftingNoteBuilder1.Text.TextBlock.SetText(text1);

                draftingNoteBuilder1.Style.LetteringStyle.GeneralTextSize = Convert.ToDouble(FontSize);

                theSession.SetUndoMarkName(markId1, "Note Dialog");
                draftingNoteBuilder1.Origin.Plane.PlaneMethod = NXOpen.Annotations.PlaneBuilder.PlaneMethodType.XyPlane;
                draftingNoteBuilder1.Origin.SetInferRelativeToGeometry(true);
                //NXOpen.Annotations.LeaderData leaderData1;
                //leaderData1 = workPart.Annotations.CreateLeaderData();
                //leaderData1.StubSize = 5.0;
                //leaderData1.Arrowhead = NXOpen.Annotations.LeaderData.ArrowheadType.FilledArrow;
                //draftingNoteBuilder1.Leader.Leaders.Append(leaderData1);
                //leaderData1.StubSide = NXOpen.Annotations.LeaderSide.Inferred;
                double symbolscale1;
                symbolscale1 = draftingNoteBuilder1.Text.TextBlock.SymbolScale;
                double symbolaspectratio1;
                symbolaspectratio1 = draftingNoteBuilder1.Text.TextBlock.SymbolAspectRatio;
                draftingNoteBuilder1.Origin.SetInferRelativeToGeometry(true);
                draftingNoteBuilder1.Origin.SetInferRelativeToGeometry(true);
                NXOpen.Annotations.Annotation.AssociativeOriginData assocOrigin1;
                assocOrigin1.OriginType = NXOpen.Annotations.AssociativeOriginType.Drag;
                NXOpen.View nullView = null;
                assocOrigin1.View           = nullView;
                assocOrigin1.ViewOfGeometry = nullView;
                NXOpen.Point nullPoint = null;
                assocOrigin1.PointOnGeometry         = nullPoint;
                assocOrigin1.VertAnnotation          = null;
                assocOrigin1.VertAlignmentPosition   = NXOpen.Annotations.AlignmentPosition.TopLeft;
                assocOrigin1.HorizAnnotation         = null;
                assocOrigin1.HorizAlignmentPosition  = NXOpen.Annotations.AlignmentPosition.TopLeft;
                assocOrigin1.AlignedAnnotation       = null;
                assocOrigin1.DimensionLine           = 0;
                assocOrigin1.AssociatedView          = nullView;
                assocOrigin1.AssociatedPoint         = nullPoint;
                assocOrigin1.OffsetAnnotation        = null;
                assocOrigin1.OffsetAlignmentPosition = NXOpen.Annotations.AlignmentPosition.TopLeft;
                assocOrigin1.XOffsetFactor           = 0.0;
                assocOrigin1.YOffsetFactor           = 0.0;
                assocOrigin1.StackAlignmentPosition  = NXOpen.Annotations.StackAlignmentPosition.Above;
                draftingNoteBuilder1.Origin.SetAssociativeOrigin(assocOrigin1);

                //text擺放位置
                draftingNoteBuilder1.Origin.Origin.SetValue(null, nullView, textLocation);

                draftingNoteBuilder1.Origin.SetInferRelativeToGeometry(true);
                NXOpen.Session.UndoMarkId markId2;
                markId2 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Invisible, "Note");
                NXObject nXObject1;
                nXObject1 = draftingNoteBuilder1.Commit();
                theSession.DeleteUndoMark(markId2, null);
                theSession.SetUndoMarkName(markId1, "Note");
                theSession.SetUndoMarkVisibility(markId1, null, NXOpen.Session.MarkVisibility.Visible);
                draftingNoteBuilder1.Destroy();


                // ----------------------------------------------
                //   Menu: Tools->Journal->Stop Recording
                // ----------------------------------------------
            }
            catch (System.Exception ex)
            {
                UI.GetUI().NXMessageBox.Show("Message", NXMessageBox.DialogType.Error, ex.Message);
                return(false);
            }
            return(true);
        }