| | |
 | Simulation Prozess- und Datenmanagement Diskussionsrunde | monatlich Termin: in 3 Wochen |
|
Autor
|
Thema: NX Open: Teilebezeichnung auslesen (2125 / mal gelesen)
|
Inf301c Mitglied

 Beiträge: 10 Registriert: 19.11.2019
|
erstellt am: 19. Nov. 2019 12:23 <-- editieren / zitieren --> Unities abgeben:         
Guten Tag Ich lese zur Zeit mit visual basic die Nummer aller Teile in einer Baugruppe aus. Zusätzlich benötige ich aber auch die Bezeichnung dieser Teile. Code:
Public theSession As Session = Session.GetSession() Public lw As ListingWindow = theSession.ListingWindow Dim dispPart As Part = theSession.Parts.Display Dim c As ComponentAssembly = dispPart.ComponentAssembly lw.Open lw.WriteLine("Assembly: " & c.RootComponent.DisplayName) lw.Close
Dieser Code gibt mir jetzt die Nummer der Baugruppe. Wie erhalte ich aber die Bezeichnung? Alternativ würde auch der Objektname, den ich unter den Eigenschaften finde genügen. Dieser setzt sich aus Nummer, Index und Bezeichnung zusammen. Freundliche Grüße [Diese Nachricht wurde von Inf301c am 13. Dez. 2019 editiert.] [Diese Nachricht wurde von Inf301c am 13. Dez. 2019 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
matthias-p Moderator Konstruktion / Anwenderbetreuung
  
 Beiträge: 501 Registriert: 09.06.2006 Teamcenter 11.3 / NX 11 Windows 10
|
erstellt am: 20. Nov. 2019 07:43 <-- editieren / zitieren --> Unities abgeben:          Nur für Inf301c
|
geraldb Mitglied

 Beiträge: 40 Registriert: 13.09.2008
|
erstellt am: 20. Nov. 2019 07:57 <-- editieren / zitieren --> Unities abgeben:          Nur für Inf301c
Da die Informationen der Teile einer Baugruppe ausgelesen werden sollen würde ich den Weg über Attribute gehen bspw. so: Code:
String pName = c.GetUserAttributeAsString("DB_PART_NAME", NXObject.AttributeType.String, -1) lw.WriteLine("Assembly: " & c.RootComponent.DisplayName & ", PartName: " & pName)
Auslesen der Unterstufeninformationen:
Code:
Dim childNo As String = "" Dim childName As String = "" For Each comp As NXOpen.Assemblies.Component In c.RootComponent.GetChildren() childNo = comp.GetInstanceUserAttributeAsString("DB_PART_NO", NXObject.AttributeType.String, -1) childName = comp.GetInstanceUserAttributeAsString("DB_PART_NAME", NXObject.AttributeType.String, -1) lw.WriteLine("Childno: " & childNo & ", Childname: " & childName) Next
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
matthias-p Moderator Konstruktion / Anwenderbetreuung
  
 Beiträge: 501 Registriert: 09.06.2006 Teamcenter 11.3 / NX 11 Windows 10
|
erstellt am: 20. Nov. 2019 08:00 <-- editieren / zitieren --> Unities abgeben:          Nur für Inf301c
|

| | Bauingenieur - Hochbau / Stahlbau / CAD / Geotechnik (w/m/d) | Wir brennen für das, was wir tun. Unsere Vision: Die Welt von fossilen Brennstoffen befreien. Mit unseren innovativen Wasserstofftechnologien helfen wir großen Industrieunternehmen dabei, klimaneutral zu werden. Seit unserer Gründung im Jahr 2010 haben wir an das enorme Potenzial von grünem Wasserstoff geglaubt. Heute sind wir mit mehr als 650 Mitarbeitenden und einem einzigartigen Produktportfolio eines der weltweit führenden Elektrolyseunternehmen.... | | Anzeige ansehen | Feste Anstellung |
|
Inf301c Mitglied

 Beiträge: 10 Registriert: 19.11.2019
|
erstellt am: 22. Nov. 2019 10:46 <-- editieren / zitieren --> Unities abgeben:         
Vielen Dank! Genau das habe ich gesucht. Hätte vielleicht noch anmerken sollen, dass ich Teamcenter benutze, ja. Weiss jemand, wie so ein Script in Python aussehen würde? Ich schreibe es momentan in VisualBasic weil mehr Beispiele gefunden werden können, Endziel ist aber Python. Freundliche Grüsse Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |