Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  Attributenwert in einer Baugruppe auslesen

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:  Attributenwert in einer Baugruppe auslesen (4396 mal gelesen)
Lukas1983
Mitglied



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

Beiträge: 30
Registriert: 04.05.2009

erstellt am: 27. Mai. 2009 17:25    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 möchte die Attributte der einzelnen Komponenten in einer Baugruppe auslesen. Den Titel bekomme ich mit:

Component rootComp = theSession.Parts.Display.ComponentAssembly.RootComponent;
        Component[] childComps = rootComp.GetChildren();

        foreach (NXOpen.Assemblies.Component comps in rootComp.GetChildren())
        {
            NXObject.AttributeInformation[] attributeInformations =
            comps.GetAttributeTitlesByType(NXObject.AttributeType.String);

jetzt möchte ich aber noch den Wert, der zu dem Titel gehört rausbekommen.

Beispiel: Titel: Material;Value: E335
Titel habe ich, wie komme ich an Value ran?

Danke

Gruß
Lukas

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

Siassei
Mitglied
MB - Student


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

Beiträge: 490
Registriert: 08.07.2007

SWX
NX 3 und höher ;)
Windows and UNIX<P>C, C++, Java, Phyton,...</P>

erstellt am: 27. Mai. 2009 17:59    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 Lukas1983 10 Unities + Antwort hilfreich

Servus,

mit comp.GetStringAttribute(ai.Title)

Code:
public static void asdf(Part p)
{
    Component rootComp = Session.GetSession().Parts.Display.ComponentAssembly.RootComponent;
    Component[] childComps = rootComp.GetChildren();

    foreach (Component c in childComps)
    {
        NXObject.AttributeInformation[] attributeInformations =
        comps.GetAttributeTitlesByType(NXObject.AttributeType.String);

        foreach (NXObject.AttributeInformation ai in attributeInformations)
        {
            c.GetStringAttribute(ai.Title);
        }
    }
}


------------------
Hopfen und Mals
Gott erhalts 

Programming is similar to sex. If you make a mistake, you have to support it for the rest of your life.

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

Lukas1983
Mitglied



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

Beiträge: 30
Registriert: 04.05.2009

erstellt am: 27. Mai. 2009 18:12    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

es funktioniert!!!

Vielen Dank

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

Lukas1983
Mitglied



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

Beiträge: 30
Registriert: 04.05.2009

erstellt am: 28. Mai. 2009 14:19    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 habe leider ein nächstes Problem:
Es geht um die Constraints. Ich bekomme den Typ und gegebenfalls die Parameter aber ich kann nicht die betreffenden Bauteile rauslesen.

Beispiel:
Distance = 4 das habe ich.
Fläche Kolben - Fläche Pleuel das brauche ich. ich habe versucht mit:

      foreach (NXOpen.Assemblies.Component comps in rootComp.GetChildren())

      foreach (NXOpen.Positioning.ComponentConstraint con in comps.GetConstraints())
            {   
      foreach (NXOpen.Positioning.ConstraintReference refenz in con.GetReferences())

aber ohne erfolg:-(

Und da noch eine Frage: Gibt es irgendwo eine vernünftige Beschreibung von den Klassen und Methoden in NX Open. Ich habe bis jetzt nur das NXOpen.Net API Reference aber das ist nicht mehr als eine Auflistung von allen Klassen ohne Beschreibung und Beziehungen.

Danke für die Hilfe

Gruß
Lukas

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

Siassei
Mitglied
MB - Student


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

Beiträge: 490
Registriert: 08.07.2007

SWX
NX 3 und höher ;)
Windows and UNIX<P>C, C++, Java, Phyton,...</P>

erstellt am: 28. Mai. 2009 17:26    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 Lukas1983 10 Unities + Antwort hilfreich

Servus,

Zitat:
Es geht um die Constraints. Ich bekomme den Typ und gegebenfalls die Parameter aber ich kann nicht die betreffenden Bauteile rauslesen.

ja, da sehe ich auch nichts anderes. Vielleicht weiss da Seifert mehr.
Ansonsten musst du mit UF arbeiten.
Schaue dir mal "NXOpen.UF.UFAssem.Constraint" an. Dort kannst du die Informationen auslesen.

Zitat:
Und da noch eine Frage: Gibt es irgendwo eine vernünftige Beschreibung von den Klassen und Methoden in NX Open. Ich habe bis jetzt nur das NXOpen.Net API Reference aber das ist nicht mehr als eine Auflistung von allen Klassen ohne Beschreibung und Beziehungen.

Nicht das ich wüsste. Da würde Siemens den Konkurenten Informationen geben. Das möchte man lieber selber machen und viel Geld kassieren 

Gruß
  Thomas

------------------
Hopfen und Mals
Gott erhalts 

Programming is similar to sex. If you make a mistake, you have to support it for the rest of your life.

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: 28. Mai. 2009 19:52    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 Lukas1983 10 Unities + Antwort hilfreich


net_ref.gif

 
Zitat:
Original erstellt von Lukas1983:
Ich habe bis jetzt nur das NXOpen.Net API Reference aber das ist nicht mehr als eine Auflistung von allen Klassen ohne Beschreibung und Beziehungen.

Hallo Lukas,

ob die Methode "GetGeometry", sh. Anhang, das liefert, was Du brauchst, kannst Du ja mal versuchen. Ansonsten einfach weitersuchen, lesen und ausprobieren, was in der .NET API Reference drinsteht. Darin findest Du zwar nicht die mundgerechte Antwort, dafür ist diese Doku sicher nicht gemacht.  Aber jedenfalls deutlich mehr als eine Auflistung ohne Beschreibung...

Gruß, Michael

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

Lukas1983
Mitglied



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

Beiträge: 30
Registriert: 04.05.2009

erstellt am: 02. Jun. 2009 13:45    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 noch mal,

ich habe wieder ein neues Problem(das mit den Referenzen habe ich erstmal auf die Seite geschoben):
Ich durchsuche einen Part nach Features und bekomme eine liste mit:

Code:

foreach (NXOpen.Features.Feature feature in p.Features.GetFeatures())

ich suche dann mit feature.FeatureType nach einer Bohrung.

Bei dem Versuch den Durchmesser und den PMI Eintrag, der mit dieser Bohrung verknüpft ist, auszulesen scheitere ich.

Könnt Ihr mit da noch ein mal helfen?
DANKE
Gruß
Lukas

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

Tömme
Mitglied
Teamcenter Administrator


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

Beiträge: 195
Registriert: 19.12.2007

TC 11.5.0 mit NX12

erstellt am: 03. Jun. 2009 12:56    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 Lukas1983 10 Unities + Antwort hilfreich

du scheinst sehr viele fragen zu haben.

versuch dich doch mal mehr mit der API doku vertraut zu machen, wenn man erstmal ein gespür dafür entwickelt hat, wo was steht, die ist echt hilfreich.

zusätzlich solltest du dir mal die samples im NX5 ordner angucken und bei UGSAnswer in der kategorie open samples suchen (suchbegriff visual basic net blablabla). dort habe ich glaubeich schonmal etwas über pmi usw. gefunden.
die beispiele dort sind echt gold wert 

------------------
hab doch garnix gemacht .. außer den server neugestartet .. war das etwa falsch? 

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

Siassei
Mitglied
MB - Student


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

Beiträge: 490
Registriert: 08.07.2007

SWX
NX 3 und höher ;)
Windows and UNIX<P>C, C++, Java, Phyton,...</P>

erstellt am: 03. Jun. 2009 19:57    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 Lukas1983 10 Unities + Antwort hilfreich

Zitat:
die beispiele dort sind echt gold wert

Frage: Hast du die benötigte Lizenz?

Gruß,
  Thomas

------------------
Hopfen und Mals
Gott erhalts 

Programming is similar to sex. If you make a mistake, you have to support it for the rest of your life.

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

Lukas1983
Mitglied



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

Beiträge: 30
Registriert: 04.05.2009

erstellt am: 04. Jun. 2009 12:51    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 habe mir die Beispiele angeschaut aber es hat mich nicht wirklich weiter gebracht Das Problem ist, dass ich Maschinenbauer bin und habe nur wenig Ahnung von Programmierung. ( Schreibe gerade eine Diplomarbeit und da muss ich eine kleine Anwendung schreiben, die ein Paar Informationen aus dem CAD Modell auslesen kann)

Könntet ihr mir vielleicht bischen präziser helfen?
Vielen Dank

Gruß
Lukas

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

Lukas1983
Mitglied



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

Beiträge: 30
Registriert: 04.05.2009

erstellt am: 04. Jun. 2009 16:01    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 noch mal.

ich habe ein Beispiel auf den UGS Support Seite gefunden(siehe unten), das die von mir benötigte Klasse enthält. Leider an der Stelle:

Code:
Hole hole = (Hole)feat;

stürzt das Programm mit der Fehler (Obwohl es ja ein Orginalbeispiel von http://uganswer.ugs.com  ist) :"Unable to cast object of type 'NXOpen.Features.BodyFeature' to type 'NXOpen.Features.Hole'"ab.

Hat jemand schon so ein Problem? Wie kann ich es umgehen?

Code:
using System;
using NXOpen;
using NXOpen.Features;
using NXOpen.UF;

static class edit_color_of_all_simple_hole_faces
{
    public static void Main()
    {
       
        Session theSession = Session.GetSession();
        Part workPart = theSession.Parts.Work;
        int nFaces = 0;
        int ii = 0;
        ListingWindow lw = theSession.ListingWindow;
        lw.Open();
       
        // Get faces of all SIMPLE HOLE features
        FeatureCollection featColl = workPart.Features;
        foreach (Feature feat in featColl) {
            if (feat.FeatureType == "SIMPLE HOLE") {
               
                Hole hole = (Hole)feat;
                Face[] faces = hole.GetFaces();
                nFaces = nFaces + faces.Length;
               
                // Now copy Face array to DisplayableObject array
                DisplayableObject[] objects = new DisplayableObject[faces.Length];
                for (ii = 0; ii <= faces.Length - 1; ii++) {
                    objects[ii] = faces[ii];
                }
               
                // Finally apply the color to that faces
                DisplayModification displayModification1 = default(DisplayModification);
                displayModification1 = theSession.DisplayManager.NewDisplayModification();
                displayModification1.ApplyToAllFaces = false;
                displayModification1.NewColor = 173;
                displayModification1.Apply(objects);
                displayModification1.Dispose();
            }
        }
       
       
        lw.WriteLine("Changed color of " + nFaces + " faces.");
       
    }
}


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

Siassei
Mitglied
MB - Student


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

Beiträge: 490
Registriert: 08.07.2007

SWX
NX 3 und höher ;)
Windows and UNIX<P>C, C++, Java, Phyton,...</P>

erstellt am: 04. Jun. 2009 23:55    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 Lukas1983 10 Unities + Antwort hilfreich

Servus Lukas,

kannst du Programmieren oder spielst du nur damit? Wer die Sprache nicht kann, solls am besten gleich lassen.

Mit "is" kannst du Überprüfen, ob sich ein Typ in XYZ wandeln lässt. Ein Cast mit "as" wirft keine Fehlermeldung. Falls es nicht möglich ist, bekommst du ein null geliefert.

Code:
Hole hole = feat as Hole;
if(hole == null)
  // Fehler

// Was weiß ich


Gruß,
  Thomas

------------------
Hopfen und Mals
Gott erhalts 

Programming is similar to sex. If you make a mistake, you have to support it for the rest of your life.

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

Supermario
Mitglied



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

Beiträge: 305
Registriert: 27.02.2004

UG NX10
TCUA

erstellt am: 07. Jun. 2009 00:20    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 Lukas1983 10 Unities + Antwort hilfreich

Das finde ich nicht fair! Ob ein Programmierer fragt oder ein Anfänger, ist doch doch nicht wichtig. Im Forum werden Antworten gesucht, keine Kommentare über den Inhalt der Frage oder das können!

Finde ich nicht gut!

Gruß Mario

------------------
Gruß Mario

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

Supermario
Mitglied



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

Beiträge: 305
Registriert: 27.02.2004

UG NX10
TCUA

erstellt am: 07. Jun. 2009 00:22    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 Lukas1983 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Supermario:
Das finde ich nicht fair! Ob ein Programmierer fragt oder ein Anfänger, ist doch doch nicht wichtig. Im Forum werden Antworten gesucht, keine Kommentare über den Inhalt der Frage oder das Wissen!

Finde ich nicht gut!

Gruß Mario


------------------
Gruß Mario

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



Senior Systemingenieur (m/w/d) Mechanik

AVL ist eines der weltweit führenden Mobilitäts-Technologieunternehmen für Entwicklung, Simulation und Testen in der Automobilindustrie und in anderen Branchen. Das Unternehmen liefert Konzepte, Lösungen und Methoden in Bereichen wie Fahrzeugentwicklung und -integration, E-Mobilität, Fahrerassistenzsysteme und autonomes Fahren (ADAS/AD) und Software für eine grüne, sichere und bessere Welt der Mobilität....

Anzeige ansehenMechatronik
Siassei
Mitglied
MB - Student


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

Beiträge: 490
Registriert: 08.07.2007

SWX
NX 3 und höher ;)
Windows and UNIX<P>C, C++, Java, Phyton,...</P>

erstellt am: 07. Jun. 2009 15:22    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 Lukas1983 10 Unities + Antwort hilfreich

Ich entschuldige mich für den Kommentar.

------------------
Hopfen und Mals
Gott erhalts 

Programming is similar to sex. If you make a mistake, you have to support it for the rest of your life.

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