Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  Anzahl der Attribut indizes

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX
Autor Thema:  Anzahl der Attribut indizes (821 mal gelesen)
tolo
Mitglied
Konstrukteur


Sehen Sie sich das Profil von tolo an!   Senden Sie eine Private Message an tolo  Schreiben Sie einen Gästebucheintrag für tolo

Beiträge: 91
Registriert: 11.04.2007

NX 11.0

erstellt am: 13. Jul. 2016 09:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

Ich kann Userattribute als Array anlegen und sie dann mit deren Index ansprechen.
Wie kann ich die Anzahl der belegten Indizes ermitteln?

Danke

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas-Z
Mitglied
PLM-Administration


Sehen Sie sich das Profil von Thomas-Z an!   Senden Sie eine Private Message an Thomas-Z  Schreiben Sie einen Gästebucheintrag für Thomas-Z

Beiträge: 74
Registriert: 22.02.2011

erstellt am: 13. Jul. 2016 12:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für tolo 10 Unities + Antwort hilfreich

suchst du das?

DeinArray.GetLength(0)

------------------
Gruß Thomas

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tolo
Mitglied
Konstrukteur


Sehen Sie sich das Profil von tolo an!   Senden Sie eine Private Message an tolo  Schreiben Sie einen Gästebucheintrag für tolo

Beiträge: 91
Registriert: 11.04.2007

NX 11.0

erstellt am: 13. Jul. 2016 14:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Dazu müsste ich erst einmal das Attribut in ein Array umwandeln oder wie ist die Syntax um z.B. die Anzahl der Indizes des User-Attributs "ATR1" im Workpart zu bekommen?


Herzliche Grüße

Thomas

[Diese Nachricht wurde von tolo am 13. Jul. 2016 editiert.]

[Diese Nachricht wurde von tolo am 13. Jul. 2016 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

mseufert
Moderator
Freiberuflicher CAD/CAM Ingenieur


Sehen Sie sich das Profil von mseufert an!   Senden Sie eine Private Message an mseufert  Schreiben Sie einen Gästebucheintrag für mseufert

Beiträge: 2624
Registriert: 18.10.2005

HP Z420
WIN7 64 Win 10
UG NX6-1980
3D Printer Prusa MK2 S

erstellt am: 14. Jul. 2016 17:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für tolo 10 Unities + Antwort hilfreich

Keine Syntax, kein Array, simpler Denkfehler  :

Das Objekt vom Type AttributeInformation ist kein Array und enthält auch keines. Stattdessen gibt es mehrere AttributeInformation's mit dem selben Titel  . Also einfach zählen, wie oft dieser Titel auftaucht.

Gruß, Michael

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tolo
Mitglied
Konstrukteur


Sehen Sie sich das Profil von tolo an!   Senden Sie eine Private Message an tolo  Schreiben Sie einen Gästebucheintrag für tolo

Beiträge: 91
Registriert: 11.04.2007

NX 11.0

erstellt am: 15. Jul. 2016 09:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Michael,

so ähnlich mache ich es derzeit.
Ist aber meines Erachtens mal wieder keine saubere Programmierung:

Wenn das Attribut "AtrBsp" vorhanden ist und in diesem Beispiel 2 Instanzen hat, durchlaufe ich in einer Schleife dessen Instanzen (AtrBsp(0), AtrBsp(1), AtrBsp(2) usw.) und lese deren Werte mit GetUserAttribute("AtrBsp", NXObject.AttributeType.String, ii).StringValue aus. Komme ich nun zum ersten Instanz, die nicht mehr benutzt wird (in diesem Beispiel AtrBsp(2) ), wird aber weder ein Fehler noch ein leerer String "" ausgegeben, sondern der Wert der Instanz 0 (AtrBsp(0) )

Wenn also der Index > 0 und der Wert des AtrBsp(x) gleich dem Wert von AtrBsp(0) ist, so ist die Anzahl der Instanzen gleich x.

Hört sich relativ komplex an und nicht wirklich professionell, deshalb hatte ich meine Hoffnung auf eine bessere Syntax gelegt.

So etwa in die Richtung gesponnen:

meinArray = UserAttribute("AtrBsp").toArray
AnzahlIndizes = meinArray.length


Herzliche Grüße


Thomas

[Diese Nachricht wurde von tolo am 15. Jul. 2016 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



Technischer Zeichner (m/w/d) in Voll-/Teilzeit

Die KÖGL GmbH mit Sitz in Bubesheim bei Günzburg ist ein familiengeführtes Unternehmen, welches heute von drei Generationen geleitet wird. Wir zählen mit unseren über 185 Mitarbeitern zu den Marktführenden Spezialisten in der Herstellung u. Entwicklung von Betriebs-, Lager- u. Fahrzeugeinrichtungen.

Seit der Unternehmensgründung im Jahre 1964 verzeichnet KÖGL kontinuierliches Wachstum. In all diesen Jahren hat das Unternehmen die Struktur eines typischen Familienbetriebs beibehalten....

Anzeige ansehenTechnischer Zeichner, Bauzeichner
mseufert
Moderator
Freiberuflicher CAD/CAM Ingenieur


Sehen Sie sich das Profil von mseufert an!   Senden Sie eine Private Message an mseufert  Schreiben Sie einen Gästebucheintrag für mseufert

Beiträge: 2624
Registriert: 18.10.2005

HP Z420
WIN7 64 Win 10
UG NX6-1980
3D Printer Prusa MK2 S

erstellt am: 15. Jul. 2016 14:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für tolo 10 Unities + Antwort hilfreich

Hallo Thomas,

mach' doch einfach 'mal 'ne Schleife über alle AttributeInfos eines Objekts (ermitteln über <obj>.GEtUserAttributes) und mach' eine Ausgabe, die den Namen und den, in AttributeInfo abgelegten Index enthält. Ergebnis z.B.

Att1 -1
Att2 0
Att2 1
Att2 2
Att3 -1
Att4 -1

Das sogenannte Array wäre also das von Att2 mit drei Mitgliedern, der Rest sind einfache Attribute. Der Index, in dem Fall 0,1 oder 2 muss erst ermittelt werden. Mit GetUSerAttribute einafch einen Index anzugeben (zu raten  ), geht zwangsläufig schief.

Wenn man's so macht, ist das zwar, wie bei Attributen seit der ~NX8 üblich, etwas gewöhnungsbedürftig, aber m.E. doch sauber.

Also erst den Index ermitteln, dann das Attribut mit Index n abfragen.

Gruß, Michael

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz