| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: Note mit Part Attributes versehen (1446 mal gelesen)
|
jevertz Mitglied
Beiträge: 15 Registriert: 05.04.2010 NX 8.5 WIN 7 64 MS VB 2010 Express
|
erstellt am: 14. Sep. 2012 12:43 <-- editieren / zitieren --> Unities abgeben:
Hallo Leute, ich versuche mittels vb.net einer note mitzuteilen, dass sie den Wert eines Part Attributes nimmt. Meine Part Property heisst "TestProperty". Ich dachte das geht so:
Code: Dim Texts() As String = Nothing Dim SingleNote As NXOpen.Annotations.Note = NothingFor Each obj As DisplayableObject In s.Parts.Display.Views.WorkView.AskVisibleObjects If TypeOf (obj) Is NXOpen.Annotations.Note Then SingleNote = CType(obj, NXOpen.Annotations.Note) ' Lesen des Note Textes geht: Texts = SingleNote.GetText Msgbox Texts(0) ' Setzen eines einfachen Strings auch: Texts(0) = "Hello World!" SingleNote.setText(Texts) ' Setzen einer Part Atttribute Reference allerdings führt zu einer Fehlermeldung: Texts(0) = "<WRef1*0@TestProperty>" SingleNote.setText(Texts) endif next ' Habs auch damit probiert, ebenfalls erfolglos: SingleNote.SetReferenceAttribute("Text", text(0), Update.Option.Now)
Wo liegt mein Denkfehler?. Liegt es an der Methode (SetReferenceAttribute) oder am String ("Text"), den ich zu setzen versuche? Habe vielfach recherchiert, aber keine Lösung gefunden. Hat jemand von Euch eine Idee? Vielen Dank und Liebe Grüsse Jörg
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RobertM Mitglied
Beiträge: 223 Registriert: 03.12.2008 noch NX 8.5 + TC Teamcenter 9.1.2.2 64-Bit
|
erstellt am: 14. Sep. 2012 20:01 <-- editieren / zitieren --> Unities abgeben: Nur für jevertz
Hallo Jörg, Einen Text zu benennen habe ich so gelöst:
Code: private void TextBlockAbsetzen(Point3d Point, String TextName, string[] TextBlock, double SchriftGr) { DraftingNoteBuilder builder = null; SimpleDraftingAid annotation = null; builder = workPart.Annotations.CreateDraftingNoteBuilder(annotation); builder.Text.TextBlock.SetText(TextBlock); builder.Origin.Anchor = OriginBuilder.AlignmentPosition.BottomLeft; builder.Origin.Origin.SetValue(null, null, Point); builder.Style.LetteringStyle.GeneralTextSize = SchriftGr; NXObject obj2 = builder.Commit(); // die Text.Eigenschaft benennen obj2.SetName(TextName); builder.Destroy(); }
Vielleicht kannst du was damit anfangen.------------------ Gruß Robert Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Duales Studium Bauingenieurwesen | Wir entwickeln und realisieren individuelle, durchdachte und langfristige Lösungen für den ruhenden Verkehr - oder kurz: Parkhäuser mit Weitblick. Dazu suchen wir zum 01. August 2025 interessierte, motivierte Abiturienten (m/w/d) für unser duales Studium mit dem Ausbildungsziel BACHELOR OF ENGINEERING (B.Eng.) in Kombination mit der Ausbildung zum Bauzeichner (IHK).
| Anzeige ansehen | Bauwesen |
|
jevertz Mitglied
Beiträge: 15 Registriert: 05.04.2010 NX 8.5 WIN 7 64 MS VB 2010 Express
|
erstellt am: 14. Sep. 2012 21:59 <-- editieren / zitieren --> Unities abgeben:
Hallo Robert, zumindest hat mich Dein Beitrag darauf gebracht das editieren der Note mittels Journal aufzuzeichnen. Zunächst geschockt von den 100 Zeilen Journalaufzeichnung habe ich das ganze ordentlich zusammenkürzen können. Hier meine Lösung:
Code: Public Shared Sub SetNoteText(ByVal DrawingPart As Part, ByVal SingleNote As Note, ByVal text As String) Dim draftingNoteBuilder1 As Annotations.DraftingNoteBuilder draftingNoteBuilder1 = DrawingPart.Annotations.CreateDraftingNoteBuilder(SingleNote) Dim text1(0) As String text1(0) = text draftingNoteBuilder1.Text.TextBlock.SetText(text1) Dim nXObject1 As NXObject nXObject1 = draftingNoteBuilder1.Commit() draftingNoteBuilder1.Destroy() End Sub
Jetzt kann eben text reiner ASCII Text sein oder auch eine Reference enthalten wie z.B. WRef1*0@EinAttribute> Vielleicht hilft Euch das ja sonst weiter. Gruss und bis ein ander mal Jörg
[Diese Nachricht wurde von jevertz am 14. Sep. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|