| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: Verwendung des DisplayedParts in der Sitzung abfragen (1372 mal gelesen)
|
ThomasZwatz Ehrenmitglied V.I.P. h.c. cadadmin
Beiträge: 5397 Registriert: 19.05.2000
|
erstellt am: 16. Mai. 2013 17:07 <-- editieren / zitieren --> Unities abgeben:
Ich möchte eine Abfrage in ein dotNET Programm einbauen, ob das DisplayedPart in keiner übergeordneten Baugruppe in der Sitzung geladen ist. Das Äquivalent zu der interaktiven Abfrage im Baugruppennavigator #MB3#DisplayParents ( die muss dann leer sein ... ). Im dotNET ReferenceGuide werd ich da nicht recht fündig ... hat da vielleicht jemand einen Hint ? Thanx EDIT: Bild dazu ... [Diese Nachricht wurde von ThomasZwatz am 16. Mai. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2624 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-1980 3D Printer Prusa MK2 S
|
erstellt am: 16. Mai. 2013 18:00 <-- editieren / zitieren --> Unities abgeben: Nur für ThomasZwatz
Hallo Thomas, ff. Vorschlag: 1. Displayed Part ermitteln. 2. Die PartCollection exklusiv DP durchsuchen, ob dort DP als Komponente (Child) auftaucht Auf die Rekursion, die im Zusammenhang mit Assemblies sonst verwendet wird, kannst Du m.E. an der Stelle verzichten, da alle Parts in der Collection drin sein sollten. Gruß, Michael
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
strolchy Mitglied
Beiträge: 1 Registriert: 17.05.2013
|
erstellt am: 17. Mai. 2013 01:56 <-- editieren / zitieren --> Unities abgeben: Nur für ThomasZwatz
|
wladlaw Mitglied Ingenieur
Beiträge: 72 Registriert: 11.01.2012 Siemens NX
|
erstellt am: 17. Mai. 2013 20:27 <-- editieren / zitieren --> Unities abgeben: Nur für ThomasZwatz
|
ThomasZwatz Ehrenmitglied V.I.P. h.c. cadadmin
Beiträge: 5397 Registriert: 19.05.2000
|
erstellt am: 17. Mai. 2013 23:12 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von wladlaw: ...wenn ich fragen darf, was möchtest Du mit dieser Abfrage erreichen?
Ich möchte ein Programm erstellen, das in einer NXmgr Sitzung die ComponentNames aller Komponenten einer Baugruppen gleich der item_id setzt, sofern sie nicht bereits übereinstimmen. Dieses Programm soll nur auf ausdrücklichen Anwenderwunsch auf das dp losgelassen werden, nicht als UserExit. In der Folge wird der Anwender aufgefordert, das dp zu speichern ( und damit ein Schreiben der BOM-view auszulösen ). Die Core Funktionalität ist hier ( bzw. einleitend hier ) beschrieben. Bevor ich das mache möchte ich aber u.a. prüfen, dass das dp in der Sitzung nicht in irgendeiner anderen Assembly ( oder auch Zeichnung ) selbst als Komponente enthalten ist. Das hat den Grund dass ich festgestellt habe dass es ansonsten Unregelmässigkeiten bei OccurenceNotes auf der BOMline geben kann, ( das ist zumindest beim CALLOUT Attribut so) - sprich: Sie werden nicht gespeichert. [Diese Nachricht wurde von ThomasZwatz am 17. Mai. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wladlaw Mitglied Ingenieur
Beiträge: 72 Registriert: 11.01.2012 Siemens NX
|
erstellt am: 18. Mai. 2013 10:52 <-- editieren / zitieren --> Unities abgeben: Nur für ThomasZwatz
Zitat: Original erstellt von ThomasZwatz: Bevor ich das mache, möchte ich aber u.a. prüfen, dass das dp in der Sitzung nicht in irgendeiner anderen Assembly ( oder auch Zeichnung ) selbst als Komponente enthalten ist.
Hallo Thomas, dass heißt, Du möchtest zuerst feststellen, dass die dargestellte Teil für die NX-Sitzung ganz oben in der Hierarchie steht? Und wenn es nicht so, gibst Du Anwender einen Hinweis? An dieser Stelle würde ich folgendes probieren: zuerst feststellen ob für diese Teil ein RootComponent gibt (Session.Psrts.Display.ComponentAssembly.RootComponent). Wenn dies gibt, dann, wie Michael schon geschrieben hat, überprüfe ich ob RootComponent.OwningPart.Tag in der Liste von Session.Parts gibt. Vielleicht hilft es Dir weiter...
------------------ Gruß Wladimir Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jürgen75 Mitglied
Beiträge: 46 Registriert: 04.10.2005 NX7.5, NX8 TC2007, TC8.3
|
erstellt am: 22. Mai. 2013 14:04 <-- editieren / zitieren --> Unities abgeben: Nur für ThomasZwatz
Hi Thomas, wie wär's hiermit: int UF_ASSEM_where_is_part_used(tag_t part, tag_t * * parent_parts)
Hatte ich vor kurzem per Zufall gefunden - hab's aber nie eingebaut. Kann also keine Erfahrungswerte liefern. Liest sich aber in der Doku so, als würde das DIE Methode sein, welche Du grad suchst... Grüße, Jürgen
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Gebäudetechnikplaner:in Fachrichtung Sanitär 80?100 % | View job here Gebäudetechnikplaner:in Fachrichtung Sanitär 80?100 % - Voll- oder Teilzeit
- Zürich, Schweiz
- Hybrid
- Ohne Berufserfahrung
- 10.04.24
Für unseren Bereich Gebäudetechnik (HLKKSE) suchen wir eine:n neue:n Kolleg:in, die/der für unsere Kunden und Kundinnen Projekte der Sanitärtechnik plant und koordiniert ? von der ersten Idee bis zur Übergabe der Anlage.... | Anzeige ansehen | Gebäude-, Versorgungs-, Sicherheitstechnik |
|
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2624 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-1980 3D Printer Prusa MK2 S
|
erstellt am: 22. Mai. 2013 21:14 <-- editieren / zitieren --> Unities abgeben: Nur für ThomasZwatz
Hallo zusammen, hab's kurz mit VB .NET getestet: Funktioniert einwandfrei und bezieht tatsächlich alle Parts in der Session - nicht nur die im dargestellten Assembly - in die Suche ein. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |