| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: Komponente hinzufügen (4263 mal gelesen)
|
muellertz Mitglied Technischer Zeichner
Beiträge: 122 Registriert: 06.08.2010 NX 8.5.3.3 Teamcenter 8 Windows 7 64-bit
|
erstellt am: 25. Okt. 2010 08:05 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich suche ein Journal bzw. NXOpen wo ich Komponente in eine Baugruppe hinzufügen kann. Die Nummer der Komponente welche ich hinzufügen will soll im Journal bzw. NXopen eintragbar sein. Ich lade die Teile aus dem Teamcenter. In dem Journal bzw. NXopen darf keine Abfrage der Ladeoption sein. Es sollte die vorhandene Ladeoption die gerade eingestellt beibehalten werden und sich nicht verändern. Das Journal bzw. NXopen soll enden wenn die Vorschau der Komponente kommt. Wo man dann auswählen kann wie oft man das Teil einbaut und mit welchem Referenz-Set. Das man diese Option selber einstellen kann. Es wäre super, wenn ihr mir dabei helfen könntet und mir evtl. Beispiele geben könnt. ------------------ MFG Thomas NX 7.0.1.7 Teamcenter 8 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2700 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 25. Okt. 2010 10:00 <-- editieren / zitieren --> Unities abgeben: Nur für muellertz
Hallo Thomas, wie stellst Du dir diese Hilfe denn vor ? Willst Du selber programmieren ? Dann zeichne mal beim Add Component ein Journal auf und schau' Dir den Quelltext in einer Entwicklerumgebung, wie MS Visual Studio (die Express- Versionen gibt's kostenlos bei MS) an. Das hilft, in die Gänge zu kommen. Zitat: In dem Journal bzw. NXopen darf keine Abfrage der Ladeoption sein.
Wenn die Ladeoptionen nicht explizit geändert werden, bleiben sie so erhalten, wie in NX eingestellt, da brauchst Du Dich nicht drum zu kümmern. Zitat: Das Journal bzw. NXopen soll enden wenn die Vorschau der Komponente kommt.
Verwendung von NX- Dialogen zur Eingabe eigener Werte geht nicht, da wirst Du schon was eigenes brauchen. Hier hilft der Form Designer in Visual Studio oder, falls Du die Lizenz hast, der Block Styler von Siemens. Welchen Vorteil erhoffst Du mit einem separaten Programm? Ich kann im Moment nichts erkennen, was gegenüber der normalen Add Component- Funktion in NX Vorteile bringt ? Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
muellertz Mitglied Technischer Zeichner
Beiträge: 122 Registriert: 06.08.2010 NX 8.5.3.3 Teamcenter 8 Windows 7 64-bit
|
erstellt am: 25. Okt. 2010 11:03 <-- editieren / zitieren --> Unities abgeben:
Zitat: wie stellst Du dir diese Hilfe denn vor ? Willst Du selber programmieren ? Dann zeichne mal beim Add Component ein Journal auf und schau' Dir den Quelltext in einer Entwicklerumgebung, wie MS Visual Studio (die Express- Versionen gibt's kostenlos bei MS) an. Das hilft, in die Gänge zu kommen.
Nein ich will nicht selber Programmieren da mir dazu die Zeit fehlt, bzw. ich mich nicht so gut auskenne um mir da etwas selber zu erstellen. Und weil ich keine Vorkenntnisse mit MS VS habe. Zitat: Verwendung von NX- Dialogen zur Eingabe eigener Werte geht nicht, da wirst Du schon was eigenes brauchen. Hier hilft der Form Designer in Visual Studio oder, falls Du die Lizenz hast, der Block Styler von Siemens.
Ich meine auch keinen Dialog wo ich eine Nummer oder sowas eingebe. Ich wollte mir für jede Nummer ein neues Journal an. Wo diese Nummer im Journal drin steht. Zitat: Welchen Vorteil erhoffst Du mit einem separaten Programm? Ich kann im Moment nichts erkennen, was gegenüber der normalen Add Component- Funktion in NX Vorteile bringt ?
Der Vorteil ist das ich sowas wie eine Wiederverwendungsbibliothek machen will. z.B. "DIN Teile Schrauben" jede Schraube hat bei uns im Teamcenter eine Nummer und dieses Teil soll dann mit dem Journal in die BG eingebaut werden. Ich habe mal ein Journal aufgezeichnet. ("@DB/300561/0") dieser Abschnitt ist für die Teile Nummer die ich aus dem Teamcenter laden möchte.Und die Nummer wird dann bei jedem journal (jedes DIN Teil) geändert. Aber das geht leider nicht wie ich es will. Und würde mich über eine kleine Hilfe sehr freuen. Code: Option Strict Off Imports System Imports NXOpenModule NXJournal Sub Main Dim theSession As Session = Session.GetSession() Dim workPart As Part = theSession.Parts.Work Dim displayPart As Part = theSession.Parts.Display ' ---------------------------------------------- ' Menu: Assemblies->Components->Add Component... ' ---------------------------------------------- Dim markId1 As Session.UndoMarkId markId1 = theSession.SetUndoMark(Session.MarkVisibility.Visible, "Start") theSession.SetUndoMarkName(markId1, "Add Component Dialogfenster") Dim markId2 As Session.UndoMarkId markId2 = theSession.SetUndoMark(Session.MarkVisibility.Invisible, "Start") theSession.SetUndoMarkName(markId2, "Part file name Dialogfenster") ' ---------------------------------------------- ' Dialog Begin Part file name ' ---------------------------------------------- Dim markId3 As Session.UndoMarkId markId3 = theSession.SetUndoMark(Session.MarkVisibility.Invisible, "Part file name") theSession.DeleteUndoMark(markId3, Nothing) theSession.SetUndoMarkName(markId2, "Part file name") theSession.DeleteUndoMark(markId2, Nothing) theSession.Parts.SetNonmasterSeedPartData("@DB/300561/0") Dim basePart1 As BasePart Dim partLoadStatus1 As PartLoadStatus basePart1 = theSession.Parts.OpenBase("@DB/300561/0", partLoadStatus1) partLoadStatus1.Dispose() Dim nErrs1 As Integer nErrs1 = theSession.UpdateManager.DoUpdate(markId1) ' ---------------------------------------------- ' Menu: Tools->Journal->Stop Recording ' ---------------------------------------------- End Sub End Module
------------------ MFG Thomas NX 7.0.1.7 Teamcenter 8 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: 25. Okt. 2010 11:10 <-- editieren / zitieren --> Unities abgeben: Nur für muellertz
Würde die ein Makro nicht reichen? Einfach aufzeichnen, unterschiedlich abspeichern und fertig... Im Gegensatz zum Journal kannst du auch einen NX Dialog offen lassen. Mit Journal kannst du keinen NX Dialog aufrufen... Gruß ------------------ Gruß Matthias ------------------------------------ ICQ: 163190295 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
muellertz Mitglied Technischer Zeichner
Beiträge: 122 Registriert: 06.08.2010 NX 8.5.3.3 Teamcenter 8 Windows 7 64-bit
|
erstellt am: 25. Okt. 2010 13:21 <-- editieren / zitieren --> Unities abgeben:
Wenn ein Makro denn geht, wo er nicht die Ladeoption abfragt? Ich nutze Makros, aber die Ladeoption für Baugruppen fragt der dort immer ab. Ich will aber nicht, das er die Ladeoption für Baugruppen abfragt. Zur Not kann ich ja mal ein Makro reinstellen wenn es gewünscht wird. ------------------ MFG Thomas NX 7.0.1.7 Teamcenter 8 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2700 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 25. Okt. 2010 16:49 <-- editieren / zitieren --> Unities abgeben: Nur für muellertz
Hallo Thomoas, das aufgezeichnete Journal kommt nur bis zum Laden des Parts (basePart1 = theSession.Parts.OpenBase("@DB/300561/0", partLoadStatus1)), das Add Component fehlt. Nochmal vollständig aufzeichnen ? Daneben könnte der Namen des Parts noch ein Problem machen, da aus TC geladen. Das kann ich mangels TC leider nur vermuten. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ThomasZwatz Ehrenmitglied V.I.P. h.c. cadadmin
Beiträge: 5433 Registriert: 19.05.2000
|
erstellt am: 25. Okt. 2010 17:15 <-- editieren / zitieren --> Unities abgeben: Nur für muellertz
Zitat: Original erstellt von muellertz: ... Der Vorteil ist das ich sowas wie eine Wiederverwendungsbibliothek machen will. z.B. "DIN Teile Schrauben" jede Schraube hat bei uns im Teamcenter eine Nummer und dieses Teil soll dann mit dem Journal in die BG eingebaut werden. ...
Warum nicht die Standardfunktionalität (ReUseLibrary) verwenden ? Oder einfach einen Ordner mit den entsprechenden Teilen in Tc anlegen und in NX aus dem TcNavigator mittels DragNDrop rausziehen ? Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
muellertz Mitglied Technischer Zeichner
Beiträge: 122 Registriert: 06.08.2010 NX 8.5.3.3 Teamcenter 8 Windows 7 64-bit
|
erstellt am: 26. Okt. 2010 06:26 <-- editieren / zitieren --> Unities abgeben:
Zitat: das aufgezeichnete Journal kommt nur bis zum Laden des Parts (basePart1 = theSession.Parts.OpenBase("@DB/300561/0", partLoadStatus1)), das Add Component fehlt. Nochmal vollständig aufzeichnen ?
Ich will da aufhören, wo ich auswählen kann welches Referenz Set man auswählen kann und ob ich mehrere Teile hinzufügen will. Leider kommt beim abspielen des Journals nicht mal ein Fenster sondern es passiert nix. Zitat: Warum nicht die Standardfunktionalität (ReUseLibrary) verwenden ? Oder einfach einen Ordner mit den entsprechenden Teilen in Tc anlegen und in NX aus dem TcNavigator mittels DragNDrop rausziehen ?
Weil ich im Teamcenter für die jeweilige DIN Gruppe einen Ordner anlegen müsste und diese Teile dann in den jeweiligen Ordner reinschieben müsste. Der Aufbau der Bibliothek gefällt mir auch nicht sonderlich weil man keinen Überblick über die Teile (Abmessungen) hat. Ich habe mal ein vorhandenes Makro angebunden, leider fragt der da immer die Ladeoption ab. Wenn einer weiß, wie ich die wenigstents raus bekomme, sodas diese nicht abgefragt wird ohne Fehler wäre mir schon ein bisschen geholfen. Achja einfach die Zeile weglassen funktioniert nicht da kommt eine Fehlermeldung.
Code: NX 7.0.1.7 Macro Version 7.50 Macro List Language and Codeset: german 17 Created by muellertz on Wed Jul 28 12:24:09 2010 Part Name Display Style: $FILENAME Selection Parameters 1 2 0.173228 1 Display Parameters 0.950000 11.606299 7.196850 -1.000000 -0.620081 1.000000 0.620081 ***************** RESET MENU, 0, UG_ASSY_INSERT_COMPONENT UG_GATEWAY_MAIN_MENUBAR ! DIALOG_BEGIN "Add Component" 0 ! DA2 BEG_ITEM 393216 (1 BOOL 0) = 0 ! Part BEG_ITEM 1572864 (1 MULT 0) = 0 ! List (Items selected) BEG_ITEM 2752512 (1 MULT 0) = 0 ! List (Items selected) BEG_ITEM 4259840 (1 INTE 0) = 1 ! Count BEG_ITEM 5046272 (1 OPTM 0) = 2 ! Mate BEG_ITEM 5242880 (0 BOOL 0) = 0 ! Scatter BEG_ITEM 5832704 (1 OPTM 0) = 1 ! Repeat after Add BEG_ITEM 6422528 (0 STRN 0) = "" ! Name BEG_ITEM 6619136 (1 OPTM 0) = 2 ! Ganzes Teil BEG_ITEM 6815744 (1 OPTM 0) = 0 ! Original BEG_ITEM 7012352 (0 INTE 0) = 1 ! Layer BEG_ITEM 7208960 (1 OPTM 0) = 0 ! Target BEG_ITEM 7733248 (1 BOOL 0) = 1 ! Preview BEG_ITEM 8257538 (1 BOOL 0) = 1 ! Preview ASK_ITEM 393216 (1 BOOL 0) = 0 ! Part ASK_ITEM 393216 (1 BOOL 0) = 1 ! Part EVENT FOCUS_IN 0 0, 3735552, 0, 0, 0! Open EVENT ACTIVATE 0 0, 3735552, 0, 0, 0! <DLC> Open FOCUS CHANGE IN 1 EVENT FOCUS_IN -10 0, 5242880, 0, 0, 0! ASK_ITEM 5242880 (1 STRN 0) = "317008" ! DIALOG_BEGIN "Part file name" 0 ! Special BEG_ITEM 851968 (1 OPTM 0) = 0 ! Model BEG_ITEM 3670016 (1 OPTM 0) = 5 ! Letzte Suche BEG_ITEM 5242880 (1 STRN 0) = "" ! BEG_ITEM 5439488 (1 STRN 0) = "" ! Revision: BEG_ITEM 5636096 (0 STRN 0) = "" ! Name: BEG_ITEM 6029312 (1 OPTM 0) = 0 ! All BEG_ITEM 8060928 (1 STRN 0) = "" ! BEG_ITEM 9043968 (1 BOOL 0) = 0 ! Load Structure Only BEG_ITEM 9240576 (1 OPTM 0) = 1 ! Any Status; Working BEG_ITEM 9437184 (1 STRN 0) = "Today" ! Date BEG_ITEM 9633792 (1 BOOL 0) = 0 ! Set Unit Number BEG_ITEM 9830400 (1 INTE 0) = 0 ! Unit Number BEG_ITEM 10616834 (1 BOOL 0) = 1 ! Preview EVENT VALUE_CHANGED -10 0, 5242880, 0, 0, 0! ASK_ITEM 5242880 (1 STRN 0) = "4" ! EVENT VALUE_CHANGED -10 0, 5242880, 0, 0, 0! ASK_ITEM 5242880 (1 STRN 0) = "40" ! EVENT VALUE_CHANGED -10 0, 5242880, 0, 0, 0! ASK_ITEM 5242880 (1 STRN 0) = "405" ! EVENT VALUE_CHANGED -10 0, 5242880, 0, 0, 0! ASK_ITEM 5242880 (1 STRN 0) = "4056" ! EVENT VALUE_CHANGED -10 0, 5242880, 0, 0, 0! ASK_ITEM 5242880 (1 STRN 0) = "40566" ! EVENT VALUE_CHANGED -10 0, 5242880, 0, 0, 0! ASK_ITEM 5242880 (1 STRN 0) = "317008" ! EVENT ACTIVATE -10 0, 5242880, 0, 0, 0! ASK_ITEM 5242880 (1 STRN 0) = "317008" ! FOCUS CHANGE IN 1 OK -10 0 ! OK Callback ASK_ITEM 5242880 (1 STRN 0) = "317008" ! DIALOG_END -2, 0 ! Part file name: OK
------------------ MFG Thomas NX 7.0.1.7 Teamcenter 8 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2700 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 26. Okt. 2010 08:20 <-- editieren / zitieren --> Unities abgeben: Nur für muellertz
Thomas, wie oben schon gesagt kannst Du im Journal bzw. NXOpen, bis auf wenige Ausnahmen, keinen NX-Dialog verwenden. Was Du willst und was machbar ist sind zwei Paar Stiefel. Die Alternativen eines eigenen Dialogs sind ebenfalls schon genannt. Zum Macro: Im Macro werden alle sog. Items eines Dialogs abgefragt, Items bzw. Ladeoptionen weglassen ist hier nicht. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|