| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: Attribute auf Assoziative Kopie anwenden (2008 mal gelesen)
|
Hauki2905 Mitglied Softwareentwicklung CAD-CAM
Beiträge: 113 Registriert: 03.02.2011 NX 7.5; 8.0; 8.5, 9.0, 10 auf Win 8.1 x64
|
erstellt am: 27. Mai. 2014 12:54 <-- editieren / zitieren --> Unities abgeben:
Hallo Forum, ich beschäftige mich gerade mit dem schreiben von Attributen, dabei geht es konkret darum, ein eingefügtes Attribut im Kontext "Auf Assoziative Kopie anwenden" zu erzeugen. Ich habe dazu ein Journal aufgezeichnet, welches mit einem Mysteriösen Handle arbeitet, hinter dem ich noch kein echtes Objekt entdecken konnte.
Code: NXObject mNXObj = (NXObject)Part1.FindObject("HANDLE O-29");
Anschließend wir dann mit einem AttributeBuilder ein property erzeugt: Code: attributePropertiesBuilder1.SetAttributeObjects(objects17) ... Dim nXObject3 As NXObject nXObject3 = attributePropertiesBuilder1.Commit()
Hier jetzt meine Frage: Welche Rolle spielt dieses Handle? Gibt es eine Möglichkeit, dieses Objekt automatisch zu ermitteln (der Weg über das Naming geht natürlich nur in diesem speziellen Fall, sonst jedoch nicht). Gibt es eine andere Möglichkeit, Attribute in eine Komponente so zu schreiben, dass sie auch dann noch auslesbar sind, wenn das Anzeigezeil in der Baugruppe vom Root zu einer Subbaugruppe geändert wird (interaktiv funktioniert das mit "Auf assoziative Kopie anwenden"). Danke für eure Hilfe! Grüße Hauki Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hauki2905 Mitglied Softwareentwicklung CAD-CAM
Beiträge: 113 Registriert: 03.02.2011 NX 7.5; 8.0; 8.5, 9.0, 10 auf Win 8.1 x64
|
erstellt am: 12. Jun. 2014 10:38 <-- editieren / zitieren --> Unities abgeben:
Hallo Forum, hat wirklich niemand eine Idee? Wäre schön, wenn mir jemand helfen könnte. Ich bin selber bisher auch noch nicht weiter gekommen. Gibt es evtl. im UF-Bereich eine Möglichkeit, das zu machen? Danke! Grüße Hauki Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Henry84 Mitglied
Beiträge: 7 Registriert: 31.07.2016
|
erstellt am: 31. Jul. 2016 18:18 <-- editieren / zitieren --> Unities abgeben: Nur für Hauki2905
|
Poseida Mitglied Maschinebautechniker, Konstrukteur
Beiträge: 94 Registriert: 15.12.2010 Moldex 3D R13 NX 10 TC 11
|
erstellt am: 01. Aug. 2016 12:59 <-- editieren / zitieren --> Unities abgeben: Nur für Hauki2905
|
Henry84 Mitglied
Beiträge: 7 Registriert: 31.07.2016
|
erstellt am: 01. Aug. 2016 13:19 <-- editieren / zitieren --> Unities abgeben: Nur für Hauki2905
Hallo, nein kein Wave Link. Wenn du im Baugruppennavigator rechts Klick auf eine Komponente machst und Eingenschaften wählst. Gibt es auf der Registriekarte "Attribute", unter Kontext die Auswahl "Assoziative Kopie". Wenn du da ein Attribute schreibst gilt das für die Komponente aber nur in dieser Assembly. mfg henry 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: 02. Aug. 2016 14:45 <-- editieren / zitieren --> Unities abgeben: Nur für Hauki2905
Hallo zusammen, hier ein Vorschlag, wie man den rätselhaften Objekten beikommt: Journal Aufzeichnung starten Für jeden "Kontext" jeweils ein Attribut anlegen Aufzeichnung beenden Die, im Journal angesprochenen Objekte untersuchen, z.B. mit Session.Information.DisplayObjectsDetails(...) Wen man erst mal weiß, mit was man's zu tun hat, sollte die Suche auch ohne .FindObject(...) gelingen. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Henry84 Mitglied
Beiträge: 7 Registriert: 31.07.2016
|
erstellt am: 02. Aug. 2016 20:42 <-- editieren / zitieren --> Unities abgeben: Nur für Hauki2905
Hallo, vielen Dank, wenigstens mal eine Idee. Aber leider nicht mit viel Erfolg. Die Ausgabe bekomme ich: Informationen über Objekt # 1 Name P00-11006123-00 Besitzendes Teil P00-11006120-00-Bulkhead DASH6 gefolgt von dieser Fehlermeldung: NXOpen.NXException: Versuch, nicht darstellbares Objekt durch Anzeigeoperation darzustellen 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: 03. Aug. 2016 08:49 <-- editieren / zitieren --> Unities abgeben: Nur für Hauki2905
Als Misserfolg würde ich das nicht bewerten: Die Exception sagt lediglich aus, daß dieses Objekt (grafisch) nicht dargestellt werden kann. Bei vier Optionen bleiben noch drei weitere Kandidaten, andere Analysefunktionen... und wenn Du mehr wissen willst, helfen möglicherweise U's weiter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Henry84 Mitglied
Beiträge: 7 Registriert: 31.07.2016
|
erstellt am: 03. Aug. 2016 09:30 <-- editieren / zitieren --> Unities abgeben: Nur für Hauki2905
Mit drei weiteren Optionen meinst du die anderen funktionen von Session.Information.? Hab da gestern Abend schon bisschen rumprobiert aber nur noch was mit CAM gefunden. Mit U`s sind diese Unities gemeint? Dann hab ich welche geschickt. Mfg henry 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: 03. Aug. 2016 11:31 <-- editieren / zitieren --> Unities abgeben: Nur für Hauki2905
Zitat: Original erstellt von Henry84: Mit drei weiteren Optionen meinst du die anderen funktionen von Session.Information.?
Nein, damit sind die Optionen Im Properties-Dialog/Attribute unter Kontext gemeint. Option 1 / Attribut 1 produziert einen Fehler, was machen die Optionen/Attribute Nr. 2, 3 und 4 ? Siehe oben: Für jeden "Kontext" jeweils ein Attribut anlegen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Henry84 Mitglied
Beiträge: 7 Registriert: 31.07.2016
|
erstellt am: 03. Aug. 2016 19:00 <-- editieren / zitieren --> Unities abgeben: Nur für Hauki2905
Hier die Ausgaben: Kontext KomponenteInformationen über Objekt # 1 Name P00-11006121-00-WELDADAPTER DASH6 NPT Besitzendes Teil P00-11006120-00-Bulkhead DASH6 Komp.-Element in Teil P00-11006121-00-WeldAdapter DASH6 NPT Layer Layer 1 Typ Komponente Farbe 134 (Medium Royal) Schriftart Körper Breite Normal Geänderte Version 641 03 Aug 2016 18:38 (durch Benutzer Talke) Erzeugte Version 54 14 Jul 2016 15:25 (durch Benutzer H.Talke) Aktuelle Farbe 134 (Medium Royal) Komponenten Ref. Set Name MODEL
Kontext Assoziative Kopie Informationen über Objekt # 1 Name P00-11006121-00-WELDADAPTER DASH6 NPT Besitzendes Teil P00-11006120-00-Bulkhead DASH6 Anschließend die Fehlermeldung Kontext Reference Set
Informationen über Objekt # 1 Name MODEL Besitzendes Teil P00-11006121-00-WeldAdapter DASH6 NPT Layer 257 Typ Reference Set Farbe 36 (Grün) Schriftart Körper Breite 0.25 mm Geänderte Version 95 14 Jul 2016 15:24 (durch Benutzer H.Talke) Erzeugte Version 5 01 Jul 2014 13:31 (durch Benutzer r.ciurko) ------------------------------------------------------------ Graph für Objektabhängigkeiten: Reference Set - MODEL Verwendet von: Kein
Kontext Teil
Informationen über Objekt # 1 Besitzendes Teil P00-11006121-00-WeldAdapter DASH6 NPT
Anschließend geiche Fehlermeldung wie bei Assoziative Kopie 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: 03. Aug. 2016 22:53 <-- editieren / zitieren --> Unities abgeben: Nur für Hauki2905
Ok, also 2 von 4 geben sich entsprechend der gewählten Option auch als Komponente und ReferenceSet zu erkennen, die beiden anderen geben sich noch nicht geschlagen. Beim Part hätte ich mehr Infos erwartet => Versuch' mal 'ne andere Analyse: Zwar ganz einfach anzuwenden, aber bei manchen Objekttypen leider auch wenig aussagekräftig: ListingWindow.Writeline(obj.Tostring()) oder den Objekttypen ermitteln: uf_obj_ask_type_and_subtype(...) oder uf_obj_ask_extended_type_and_subtype(...) Das gibt zwar nicht so viel Info, aber den Objekttyp als Integer kriegt man i.d.R. damit raus. Mit dem Integer geht's dann in die uf_obj_types.h, da steht der Typ drin. Die Funktionsaufrufe sind je nach verwendeter Sprache unterschiedlich und müssen dem entsprechend aussehen. Das Header-File ist auswendig hingeschrieben, könnte z.B. auch uf_objtypes.h heißen. Mühsam nährt sich das Eichhörnchen Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Henry84 Mitglied
Beiträge: 7 Registriert: 31.07.2016
|
erstellt am: 05. Aug. 2016 17:42 <-- editieren / zitieren --> Unities abgeben: Nur für Hauki2905
Hallo, so die Analyse hat funktioniert. Hier die Ergebnisse: obj.ToString() -> NXObject 51878 uf_obj_ask_type_and_subtype() -> UF_occ_instance_type, UF_occ_instance_subtype uf_obj_ask_extended_type_and_subtype() -> UF_occ_instance_type, UF_occ_instance_subtype Mfg Henry 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: 06. Aug. 2016 11:58 <-- editieren / zitieren --> Unities abgeben: Nur für Hauki2905
Hallo Henry, hast Du die Methoden und Eigenschaften vom Component-Objekt in der NXOpen-Dokumentation mal geschaut? Für dieses Objekt gibt es ganze Rehe von Methoden: Code: SetInstanceUserAttribute(...)
Gruß Wladimir ------------------ Gruß Wladimir Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Henry84 Mitglied
Beiträge: 7 Registriert: 31.07.2016
|
erstellt am: 06. Aug. 2016 12:15 <-- editieren / zitieren --> Unities abgeben: Nur für Hauki2905
|
| Technischer Redakteur im Maschinenbau [m/w/d] | Sie stehen auf Familienunternehmen, die weltweit aktiv und trotzdem bodenständig sind? Auf Unternehmen, denen das Arbeitsklima, Wohlbefinden und die Gesundheit Ihrer Mitarbeiter genauso wichtig sind wie Marktführerschaft, Expansion und Bilanzen? Dann haben Sie eines gefunden: HAINBUCH. Seit sieben Jahrzehnten entwickeln, konstruieren und produzieren wir Spannzeuge, die anders und besser sind.... | Anzeige ansehen | Technische Dokumentation |
|
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: 15. Aug. 2016 13:56 <-- editieren / zitieren --> Unities abgeben: Nur für Hauki2905
Die ursprüngliche Frage: Zitat: Welche Rolle spielt dieses Handle? Gibt es eine Möglichkeit, dieses Objekt automatisch zu ermitteln
ist damit nicht beantwortet. Wer wissen will, wie man die Instance einer Komponente ermittelt, kann's mal mit den Methoden unter UF_ASSEM versuchen. Das Part kriegt man über <Component>.Prototype Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |