Hallo Zusammen,
ich habe ein eher spezielles Anliegen.
Unser Kunde verlangt von uns bei den Schnitten in den Zeichnungen eine Zusatzangabe . Dabei muss neben dem Schnittname (neben dem Schnittpfeil auf der Schnittlinie) noch einseitig das Zeichnungsfeld, in dem sich die Schnittansicht befindet eingetragen sein.
D.h. z.B. Label Schnittpfeil Links: "A", und Label Schnittpfeil Rechts: "A-F10"
Da mir manuell keine Möglichkeit dafür bekannt ist habe ich mir vom Konzept her folgendes Makro zusammenkopiert (Fehlerbehaftet):
Option Strict Off
Imports System
Imports NXOpen
Module Module1
Sub Main()
Dim theSession As Session = Session.GetSession()
Dim workPart As Part = theSession.Parts.Work
If IsNothing(theSession.Parts.Work) Then
'active part required
Return
End If
Dim lw As ListingWindow = theSession.ListingWindow
lw.Open()
Dim markId1 As Session.UndoMarkId
For Each theNote As Annotations.Note In workPart.Notes
'lw.WriteLine("type: " & theNote.GetType.ToString)
Dim noteText() As String
noteText = theNote.GetText
For Each txtLine As String In noteText
'lw.WriteLine(txtLine)
If txtLine.Contains("@VWLETTER_DISP") Then '...
Function StripModifiers(ByVal TextString As String) As String
TextString = Replace(TextString, "<W&Ref1*0@VWLETTER_DISP>-C10", "<W&Ref1*0@VWLETTER_DISP>-E10")
Return TextString
Exit For
End Function
End If
Next
'lw.WriteLine("")
Next
lw.Close()
End Sub
End Module
Da ich mich nicht besonders mit den Makros auskenne sind sicherlich einige Fehler enthalten, aber vom Grundkonzept sollte evtl. das eine oder andere brauchbar sein denke ich.
Das Endresultat des Strings sollte folgendermaßen ausschauen: <W&Ref1*0@VWLETTER_DISP>-E10 (mehr muss nicht verändert werden)
In der Vorlagezeichnung die wir bekommen haben schaut die Info zum Label wie folgt aus (als Beispiel):
OBJECT SPECIFIC INFORMATION
------------------------------------------------------------
Object Origin XC = 869.281 X = 869.281
YC = 452.037 Y = 452.037
ZC = 0.000 Z = 0.000
Character Size = 5.000
Character Aspect = 1.000
Space Factor = 0.000
Line Factor = 1.000
Text Angle = 0.000
Text Origin XC = 869.281 X = 869.281
YC = 449.494 Y = 449.494
ZC = 0.000 Z = 0.000
Text String <W&Ref1*0@VWLETTER_DISP>-C10
Text References
Ref1*0
Attribute Title VWLETTER_DISP
Attribute Owner Exact Section View : SX@48
Attribute Value C1
------------------------------------------------------------
Object Dependency Graph:
Section Line Label - ID 1163629
Used by:
None
------------------------------------------------------------
Ich hoffe, dass mir jemand von euch kurz aushelfen kann.
Besten Dank!
[Diese Nachricht wurde von Engineer303 am 22. Sep. 2015 editiert.]
[Diese Nachricht wurde von Engineer303 am 22. Sep. 2015 editiert.]
[Diese Nachricht wurde von Engineer303 am 22. Sep. 2015 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP