今天要讲的是在制图模块中,制图页上往往需要写很多的信息,比如明细栏中的设计者姓名,材质,设计日期等信息。
替换文字信息的方式,我们可以采用NXOPEN录制宏的方式进行程序开发。
下面就是通过NXOPEN录制宏以后生成的代码:
NXOpen.Session theSession = NXOpen.Session.GetSession();
NXOpen.Part workPart = theSession.Parts.Work;
NXOpen.Part displayPart = theSession.Parts.Display;
NXOpen.Session.UndoMarkId markId1;
markId1 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Visible, "起点");
NXOpen.Annotations.Note note1 = ((NXOpen.Annotations.Note)workPart.FindObject("ENTITY 25 1 1"));
NXOpen.Annotations.DraftingNoteBuilder draftingNoteBuilder1;
draftingNoteBuilder1 = workPart.Annotations.CreateDraftingNoteBuilder(note1);
draftingNoteBuilder1.Text.TextBlock.CustomSymbolScale = 1.0;
draftingNoteBuilder1.Origin.SetInferRelativeToGeometry(true);
theSession.SetUndoMarkName(markId1, "注释 对话框");
draftingNoteBuilder1.Origin.SetInferRelativeToGeometry(true);
NXOpen.Annotations.LeaderData leaderData1;
leaderData1 = workPart.Annotations.CreateLeaderData();
leaderData1.Arrowhead = NXOpen.Annotations.LeaderData.ArrowheadType.FilledArrow;
leaderData1.VerticalAttachment = NXOpen.Annotations.LeaderVerticalAttachment.Center;
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);
string[] text1 = new string[1];
text1[0] = "被替换了";
draftingNoteBuilder1.Text.TextBlock.SetText(text1);
NXOpen.NXObject nXObject1;
nXObject1 = draftingNoteBuilder1.Commit();
替换之前,如下图所示:
中键画框文字为“替换文字”。
程序运行之后的效果,如下图所示:
文字信息从“替换文字”变为“被替换了”。
这个结果依然是很哇塞。
本篇文章到此结束,我们下篇文章见。88