Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  NXOPEN CAM: Suche ersten ProgrammName

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
Autor Thema:   NXOPEN CAM: Suche ersten ProgrammName (243 mal gelesen)
DerFräser
Mitglied
Programmierer


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

Beiträge: 101
Registriert: 09.07.2006

NX11 NX-CAM
TeamCenter 11

erstellt am: 23. Jul. 2019 15:06    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


FindeProgramm.png

 
Hallo,

wie kann man den ProgrammName finden (methode;objekt??)

hier das Listing vom Journal:

' ----------------------------------------------
'  Menü: Einfügen->Programm...
' ----------------------------------------------
Dim markId1 As NXOpen.Session.UndoMarkId = Nothing
markId1 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Visible, "Programm erzeugen")

Dim nCGroup1 As NXOpen.CAM.NCGroup = CType(workPart.CAMSetup.CAMGroupCollection.FindObject("NC_PROGRAM"), NXOpen.CAM.NCGroup)

Dim nCGroup2 As NXOpen.CAM.NCGroup = Nothing
nCGroup2 = workPart.CAMSetup.CAMGroupCollection.CreateProgram(nCGroup1, "BHF_Favoriten_NX/11", "PROGRAM", NXOpen.CAM.NCGroupCollection.UseDefaultName.False, "RX123456")

Dim markId2 As NXOpen.Session.UndoMarkId = Nothing
markId2 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Invisible, "Start")

Dim programOrderGroupBuilder1 As NXOpen.CAM.ProgramOrderGroupBuilder = Nothing
programOrderGroupBuilder1 = workPart.CAMSetup.CAMGroupCollection.CreateProgramOrderGroupBuilder(nCGroup2)

theSession.SetUndoMarkName(markId2, "Programm-Dialogfenster")

Dim taggedObject1 As NXOpen.TaggedObject = Nothing
taggedObject1 = programOrderGroupBuilder1.StartUdeSet.UdeList.FindItem(0)

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

geraldb
Mitglied



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

Beiträge: 27
Registriert: 13.09.2008

erstellt am: 23. Jul. 2019 19: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 Nur für DerFräser 10 Unities + Antwort hilfreich

Hast Du im Journal-Quellcode mal nach dem Namen "RX123456" gesucht? Dieser findet sich recht schnell.
Tipp: zu Beginn des Journal-Quellcodestudiums alle Zeilen welche irgendwas mit "UndoMark" enthalten entfernen. Das räumt kräftig auf und die relevanten Passagen bleiben übrig. Leider fehlt hier und da jedoch der ein oder andere Codeschnipsel welcher eben nicht aufgezeichnet wird.

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

DerFräser
Mitglied
Programmierer


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

Beiträge: 101
Registriert: 09.07.2006

NX11 NX-CAM
TeamCenter 11

erstellt am: 25. Jul. 2019 14: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

Hallo,

ich habe etwas gefunden...

Jetzt weiß ich noch nicht wie ich in der Collection(group [NXOpen.CAM.NCGroup]) auf das erste Objekt zugreifen kann.
Mein Behelf ist die Schleife mit "Exit For" abzubrechen und das Programm in "Nicht verwendetes Elemente" finde ich auch nicht(siehe Bild oben)    

Im Journal:

Dim theSession As Session = Session.GetSession()
Dim setup As NXOpen.CAM.CAMSetup = workPart.CAMSetup
Dim groups As NXOpen.CAM.NCGroupCollection = setup.CAMGroupCollection


For Each group As NXOpen.CAM.NCGroup In groups
    'Text und Variablen im Infofenster ausgeben:
    theSession.ListingWindow.Open()      
    theSession.ListingWindow.WriteLine("Ausgabe: " & group.Name & " : " & group.GetType().ToString)
    theSession.ListingWindow.Close()
    Exit For
Next


MfG   

[Diese Nachricht wurde von DerFräser am 25. Jul. 2019 editiert.]

[Diese Nachricht wurde von DerFräser am 25. Jul. 2019 editiert.]

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

geraldb
Mitglied



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

Beiträge: 27
Registriert: 13.09.2008

erstellt am: 25. Jul. 2019 19:11    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 DerFräser 10 Unities + Antwort hilfreich

Für das erste Item einfach mal rudimentär versuchen: groups(0). Kann mir allerdings vorstellen dass die Auflistung im Strukturbaum nicht zwingend der Reihenfolge in groups entspricht, d.h. man müßte einen weiteren Parameter bzw. Eigenschaft abfragen.

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: 2390
Registriert: 18.10.2005

HP Z420
WIN XP32 / WIN7 64
UG NX6-11
SUN Ultra 60
Solaris 7
CADDS5
3D Printer Prusa MK2 S

erstellt am: 25. Jul. 2019 19: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 DerFräser 10 Unities + Antwort hilfreich

Hallo Fräser,

die Schleife würde m.E. besser so aussehen: 

Code:
Dim lw as ListingWindow = theSession.ListingWindow
lw.Open()

For Each group As NXOpen.CAM.NCGroup In groups
    'Text und Variablen im Infofenster ausgeben:
   
    lw.WriteLine("Ausgabe: " & group.Name & " : " & group.GetType().ToString)

    If group.Name = "tralala" Then Exit For
Next   

lw.Close()


Daneben bin ich nicht sicher, in welcher Collection der Programmname steckt, könnte z.B. auch in der CAMOperationCollection sein. Schau' einfach mal, welche Collections es im Setup sonst noch gibt.

Gruß, Michael

------------------
Ein Mensch wird laut, wenn er was will;
wenn er's erst hat, dann wird er still;
Das "Danke" ist, nach alter Sitte,
Weit selt'ner als das "Bitte, Bitte".

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

DerFräser
Mitglied
Programmierer


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

Beiträge: 101
Registriert: 09.07.2006

NX11 NX-CAM
TeamCenter 11

erstellt am: 26. Jul. 2019 07: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


ProgFolge.png

 
Zitat:
Original erstellt von geraldb:
Für das erste Item einfach mal rudimentär versuchen: groups(0). Kann mir allerdings vorstellen dass die Auflistung im Strukturbaum nicht zwingend der Reihenfolge in groups entspricht, d.h. man müßte einen weiteren Parameter bzw. Eigenschaft abfragen.

groups(0) geht nicht...
Die Reihenfolge vom CAM-Programmansicht ist gleich der Reihefolge in NXOpen.CAM.NCGroup (siehe Bild)


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

DerFräser
Mitglied
Programmierer


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

Beiträge: 101
Registriert: 09.07.2006

NX11 NX-CAM
TeamCenter 11

erstellt am: 26. Jul. 2019 07:35    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

Zitat:
Original erstellt von mseufert:
Hallo Fräser,

die Schleife würde m.E. besser so aussehen:  

Code:
Dim lw as ListingWindow = theSession.ListingWindow
lw.Open()

For Each group As NXOpen.CAM.NCGroup In groups
    'Text und Variablen im Infofenster ausgeben:
    
    lw.WriteLine("Ausgabe: " & group.Name & " : " & group.GetType().ToString)

    If group.Name = "tralala" Then Exit For
Next   

lw.Close()


Daneben bin ich nicht sicher, in welcher Collection der Programmname steckt, könnte z.B. auch in der CAMOperationCollection sein. Schau' einfach mal, welche Collections es im Setup sonst noch gibt.

Gruß, Michael


Hallo mseufert,
es gibt nur noch die OperationCollection, die hat alle Einträge der Arbeitsgänge aber ohne Programmnummer...
Die Reihenfolge und das "Exit For" gefällt mir gut.

Leider kann ich keine Unities vergeben Probleme mit Umlauten beim Benutzername...

MfG 

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: 2390
Registriert: 18.10.2005

HP Z420
WIN XP32 / WIN7 64
UG NX6-11
SUN Ultra 60
Solaris 7
CADDS5
3D Printer Prusa MK2 S

erstellt am: 27. Jul. 2019 18:35    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 DerFräser 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von DerFräser:

Leider kann ich keine Unities vergeben Probleme mit Umlauten beim Benutzername...


... und dennoch sind welche angekommen ... besten Dank 

------------------
Ein Mensch wird laut, wenn er was will;
wenn er's erst hat, dann wird er still;
Das "Danke" ist, nach alter Sitte,
Weit selt'ner als das "Bitte, Bitte".

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)2019 CAD.de | Impressum | Datenschutz