| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: .net: in bg eine stufe nach oben gehen.. (1974 mal gelesen)
|
Sirus Ehrenmitglied CAD Applikationsentwickler
Beiträge: 1564 Registriert: 03.06.2004 SolidWorks2022
|
erstellt am: 31. Aug. 2010 15:58 <-- editieren / zitieren --> Unities abgeben:
hallo spezialisten kennt jemand ein .net-programm oder ansätze für folgenden ablauf: eine komponente in einer baugruppe ist "zum dargestelten teil" gemacht worden. es gibt verschiedene unterbaugruppen, baugruppen und evtl ist sogar noch eine zeichnung als weitere top-bg (master-model-konzept) geöffnet. ich möchte per knopfdruck jeweils eine stufe nach oben gehen, um nicht mühsam über den "ant" per zufall die richtige (leider nicht-sprechende nummern) bg zu finden. das problem liegt darin, die nächste obere nummer zu finden.... wer kann mir helfen ------------------ gruss urs 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: 31. Aug. 2010 18:12 <-- editieren / zitieren --> Unities abgeben: Nur für Sirus
Zitat: Original erstellt von Sirus:
das problem liegt darin, die nächste obere nummer zu finden....
Hallo Urs, eine Komponente hat das Property "DirectOwner", das könnte funktionieren. Gruß, Michael
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sirus Ehrenmitglied CAD Applikationsentwickler
Beiträge: 1564 Registriert: 03.06.2004
|
erstellt am: 01. Sep. 2010 12:01 <-- editieren / zitieren --> Unities abgeben:
hallo michael hallo @all vielen dank für dein feedback, das hört sich doch schon nach einem lösungsansatz an. leider werde ich nicht gross fündig, kannst du mir bitte noch etwas auf die spünge helfen, danke. wie kann ich das Property "DirectOwner" auslesen? ------------------ gruss urs Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gfx-toxic.de Moderator Konstruktion / Anwenderbetreuung
Beiträge: 501 Registriert: 09.06.2006 Teamcenter 11.3 / NX 11 Windows 10
|
erstellt am: 01. Sep. 2010 12:36 <-- editieren / zitieren --> Unities abgeben: Nur für Sirus
hi, Namespaces ► NXOpen.Assemblies ► Component ► DirectOwner meint Sirus denk ich. Schau mal in der net_ref.chm nach. gruß ------------------ Gruß Matthias ------------------------------------ ICQ: 163190295 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ThomasZwatz Ehrenmitglied V.I.P. h.c. cadadmin
Beiträge: 5397 Registriert: 19.05.2000
|
erstellt am: 01. Sep. 2010 12:48 <-- editieren / zitieren --> Unities abgeben: Nur für Sirus
|
Sirus Ehrenmitglied CAD Applikationsentwickler
Beiträge: 1564 Registriert: 03.06.2004 SolidWorks2022
|
erstellt am: 01. Sep. 2010 15:24 <-- editieren / zitieren --> Unities abgeben:
hallo matthias hallo @all vielen dank für deinen hinweis, leider ist das beispiel nicht in vb.net, und ich sehe noch nicht durch, kannts du mir evtl. weiterhelfen, oder ähnliche beispile nennen? ------------------ gruss urs 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: 01. Sep. 2010 16:34 <-- editieren / zitieren --> Unities abgeben: Nur für Sirus
Hallo Urs, die Suche nach "Assembly" ergibt 9 Seiten Ergebnisse, da sollte was dabei sein. Ansonsten mal auf support.ugs.com versuchen. Sobald Du die Instanz einer Komponente hast, ist der Rest einfach: Dim comp as Assemblies.Component dim owner as Assemblies.Component = comp.DirectOwner Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gfx-toxic.de Moderator Konstruktion / Anwenderbetreuung
Beiträge: 501 Registriert: 09.06.2006 Teamcenter 11.3 / NX 11 Windows 10
|
erstellt am: 02. Sep. 2010 12:30 <-- editieren / zitieren --> Unities abgeben: Nur für Sirus
Zitat: Original erstellt von ThomasZwatz: Wie kriegt man denn die feschen Dreieckerl in den Text rein ?Thomas
frag mich was leichteres =) copy und paste hab ich gemacht ►►►► ------------------ Gruß Matthias ------------------------------------ ICQ: 163190295 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sirus Ehrenmitglied CAD Applikationsentwickler
Beiträge: 1564 Registriert: 03.06.2004
|
erstellt am: 02. Sep. 2010 14:36 <-- editieren / zitieren --> Unities abgeben:
hallo zusammen >>...Sobald Du die Instanz einer Komponente hast, ist der Rest einfach... und wie finde ich die "Instanz einer Komponente"? ich weiss, es hört sich blöde an, aber ich bin nicht programmierer, ich erstelle viele journals mit "aufzeichnen", und "basteln".... vieleicht hat jemand lust mir zu helfen... ------------------ gruss urs Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gfx-toxic.de Moderator Konstruktion / Anwenderbetreuung
Beiträge: 501 Registriert: 09.06.2006 Teamcenter 11.3 / NX 11 Windows 10
|
erstellt am: 02. Sep. 2010 21:06 <-- editieren / zitieren --> Unities abgeben: Nur für Sirus
Code: using System; using NXOpen;namespace nixe { class Program { public static void Main(string[] args) { Session thesession = Session.GetSession(); NXOpen.UF.UFSession theufsession = NXOpen.UF.UFSession.GetUFSession(); UI theui = UI.GetUI(); Part workpart = thesession.Parts.Work;
//Das wir gebraucht das ich auch in der Zeichnungansicht auswählen kann theufsession.Ui.SetCursorView(0); //Definieren was man auswählen kann NXOpen.Selection.MaskTriple[] mask = new Selection.MaskTriple[1]; mask[0].Type = NXOpen.UF.UFConstants.UF_component_type; mask[0].Subtype = NXOpen.UF.UFConstants.UF_composite_subtype; mask[0].SolidBodySubtype = 0; //Auswahl der Komponente Starten NXOpen.Selection.SelectionScope scope = Selection.SelectionScope.AnyInAssembly; NXOpen.Selection.SelectionAction action = Selection.SelectionAction.ClearAndEnableSpecific; NXObject obj; Point3d cursor; theui.SelectionManager.SelectObject( "Bitte Komponente wählen", "Komponente wählen", scope, action, false, false, mask, out obj, out cursor); //Auswahl comp zuweisen NXOpen.Assemblies.Component comp = (NXOpen.Assemblies.Component)workpart.FindObject(obj.JournalIdentifier.ToString()); theui.NXMessageBox.Show("Direct Owner", NXMessageBox.DialogType.Information, comp.DirectOwner.ToString()); } } }
hi sirus, das wär jetzt wenn du in der baugruppe das teil zum aktiven teil machst. Woher soll den NX wissen in welchem Teil das Ding alles verbaut ist? Das Teil an sich weiss ja nicht in welchen zig Baugruppen es verbaut ist... Man könnte höchstes alle offenen Assemblies durchsuchen und schauen ob es irgendwo einen treffer gibt... ------------------ Gruß Matthias ------------------------------------ ICQ: 163190295 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sirus Ehrenmitglied CAD Applikationsentwickler
Beiträge: 1564 Registriert: 03.06.2004
|
erstellt am: 09. Sep. 2010 13:56 <-- editieren / zitieren --> Unities abgeben:
..du hast schon recht, ich suche ja nicht in allen baugruppen in denen das teil verbaut ist, sondern nur in dem nächsten oberen (direct owner) aus der ich von oben nach unten in das "dargestelte teil" gesprungen bin.... habe noch ein .net-beispiel bei siemens gefunden, evtl. lässt sich daraus was ableiten..... ------------------ gruss urs [Diese Nachricht wurde von Sirus am 14. Sep. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sirus Ehrenmitglied CAD Applikationsentwickler
Beiträge: 1564 Registriert: 03.06.2004 SolidWorks2022
|
erstellt am: 14. Sep. 2010 12:55 <-- editieren / zitieren --> Unities abgeben:
|
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: 17. Sep. 2010 13:50 <-- editieren / zitieren --> Unities abgeben: Nur für Sirus
Hallo Urs, in Deinem Ansatz steckt m.E. ein Denkfehler, den ich auch nicht vorher bedacht hatte. Wenn Du ein Part zum DisplayedPart machst, liegt das Part vor, nicht die Komponente. Dieses Part kann an mehreren Stellen in unterschiedlichen Parents verbaut sein. Daher auch die Auflistung im ANT, RMB, die mehr als einen Eintrag haben kann. Ein Part hat aber kein Parent, nur eine Komponente kann ein Parent haben. Zur Komponente wird das Part erst, wenn es irgendwo verbaut ist. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sirus Ehrenmitglied CAD Applikationsentwickler
Beiträge: 1564 Registriert: 03.06.2004
|
erstellt am: 21. Sep. 2010 11:30 <-- editieren / zitieren --> Unities abgeben:
|
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. Sep. 2010 09:26 <-- editieren / zitieren --> Unities abgeben: Nur für Sirus
Hallo Urs, da kann auch Siemens nicht viel machen. Ein und dasselbe Part kann eben hundert mal verbaut sein, eine Komponente ist einzigartig. Eine theoretische Möglichkeit wäre, sich beim "Make displayed Part" zu merken, wo man her kommt (von welchem Parent) bzw. welche Komponente man zum dargestellten Teil macht, evtl. über einen User Exit. Mit der Info gibt's dann auch wieder einen Weg zurück. Gruß, Michael 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: 18. Okt. 2010 15:08 <-- editieren / zitieren --> Unities abgeben: Nur für Sirus
Hallo Urs, hab' die genannte Idee mal in Bytes gewandelt, Ergebnis anbei. Damit's läuft, muß lediglich in der ugii_env.dat oder in einer StartBatch die Variable USER_CDISP gesetzt werden. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sirus Ehrenmitglied CAD Applikationsentwickler
Beiträge: 1564 Registriert: 03.06.2004
|
erstellt am: 18. Okt. 2010 15:14 <-- editieren / zitieren --> Unities abgeben:
hallo michael welche idee steckt drin, die 1. oder die 2.? was ist in der dll drin, ist der vb.net code geheim? was bedeutet USER_CDISP? ps: ich hab die 2. idee(herkunft hinterlegen) auch umgesetzt...
------------------ gruss urs 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: 18. Okt. 2010 16:54 <-- editieren / zitieren --> Unities abgeben: Nur für Sirus
Hallo Urs, Zitat: welche idee steckt drin, die 1. oder die 2.?
Nr. 2: Merken, was zuvor Displayed Part war. Zitat: was ist in der dll drin, ist der vb.net code geheim?
Know How und ein paar Zeilen Code: Ein User Exit für Change Displayed Part und die nicht-modale WinForm. Beides läuft nicht als Journal, daher kompiliert. Zitat: was bedeutet USER_CDISP?
Die Variable für den User Exit, siehe ugii_env.dat Zitat: ps: ich hab die 2. idee(herkunft hinterlegen) auch umgesetzt...
Als Journal oder kompiliert ? Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sirus Ehrenmitglied CAD Applikationsentwickler
Beiträge: 1564 Registriert: 03.06.2004
|
erstellt am: 19. Okt. 2010 07:48 <-- editieren / zitieren --> Unities abgeben:
|
rue1970 Mitglied Konstrukteur
Beiträge: 26 Registriert: 30.11.2009 NX 8.5.3.3 MP1 Teamcenter 8 (8.3.3.6) W7 (64bit)
|
erstellt am: 20. Okt. 2010 16:21 <-- editieren / zitieren --> Unities abgeben: Nur für Sirus
Hallo URS, (das problem liegt darin, die nächste obere nummer zu finden....) aus dem Grund lassem wir uns den db_Part_Namen anzeigen um nicht ganz ziellos auszuwählen. Ist das bei NX7.5 nicht mehr möglich? Ist dein Journal auch für NX 6 ? Gruß Thomas
[Diese Nachricht wurde von rue1970 am 20. Okt. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Entwicklungsingenieur (m/w/d) Maschinenbau | Was unsere Kunden von ihren Technologielösungen erwarten? Das nächste Level! Das gelingt unserem Team bei FERCHAU Tag für Tag. Wir suchen dich: als ambitionierte:n Mitarbeitende:n für einen unserer Kunden. Wir realisieren spannende Projekte für namhafte Kunden in allen Technologiebereichen und für alle Branchen und überzeugen täglich mit fundierter Expertise und fachlichem Know-how. Als Berufseinsteiger:in ... | Anzeige ansehen | Konstruktion, Visualisierung |
|
master001 Mitglied Projektingenieur
Beiträge: 454 Registriert: 25.02.2005
|
erstellt am: 21. Okt. 2010 20:08 <-- editieren / zitieren --> Unities abgeben: Nur für Sirus
Hallo Sirus, wie groß sind denn so Deine Baugruppen? Ich lass ein Programm meine Struktur ablaufen, um eine Tabelle mit Informationen zu füllen, wie Ausdrücke, übergeordneter BG und vieles mehr. Alternativ kannst du diese Information auch an die Teile ranschreiben. Diesen Weg kann ich nicht empfehlen, da das Beschreiben von Attributen auf eine Komponente recht zeit intensiv wird bei großen Baugruppen. Es müsste glaube ich noch eine Möglichkeit über dieses Informationsfenster geben, denn wenn Du Dir die Informationen einer Komponente anzeigen lässt dann wird dort auch das besitzende Teil aufgelistet. Gruß Patric
------------------ Internet: http://www.imtech.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |