| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: Category für Part Attribut mit GRIP setzen? (2145 mal gelesen)
|
Scuba Mitglied
Beiträge: 13 Registriert: 28.10.2004 NX9 / NX10 / Windows7 64bit
|
erstellt am: 17. Jul. 2015 16:24 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich möchte mit einem kleinen GRIP Programm ein Part Attribut setzen, was soweit auch funktioniert. Allerdings muss dies in der Category "DB Part" angelegt werden (Siehe File, Properties). Und genau das ist die Frage - wie realisiere ich das mit GRIP ? Anbei mein GRIP Programm zum erzeugen des Part Attributs: $$ Add a part attribute $$ $$ Category : DB Part $$ Title : PTC_WM_IS_DRAWING $$ Type : String $$ Value : true STRING/WGMDRW(2,60) WGMDRW(1)='PTC_WM_IS_DRAWING' ASATT/PART,WGMDRW &ATTVL(PART,'PTC_WM_IS_DRAWING')='true' MESSG/'Part Attribut wurde hinzugefuegt' JUMP/STOP: STOP: HALT Hat jemand einen Tipp hierzu?? 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: 17. Jul. 2015 18:11 <-- editieren / zitieren --> Unities abgeben: Nur für Scuba
Hallo Scuba, da wirst Du m.E. mit GRIP nix machen können, da es seit einiger Zeit nicht mehr weiterentwickelt wird. Die Attribute wurden dagegen in den letzten Versionen immer wieder erweitert, da kamen u.a. die Kategorien dazu. Vermutlich wird also ASATT/ die Kategorien nicht kennen. Gruß, Michael
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Scuba Mitglied
Beiträge: 13 Registriert: 28.10.2004 NX9 / NX10 / Windows7 64bit
|
erstellt am: 19. Jul. 2015 14:29 <-- editieren / zitieren --> Unities abgeben:
Hallo Michael, danke für die Info, ich habe mir sowas schon gedacht, aber auf einen "undokumentierten Trick" gehofft. Was ist denn aus Deiner Sicht die beste und universellste Sprache um in NX Anpassungen (z.B. diese) durchzuführen? Danke und Gruß Scuba Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Walter Hogger Moderator Maschinenbauingenieur
Beiträge: 3990 Registriert: 06.10.2000
|
erstellt am: 20. Jul. 2015 09:12 <-- editieren / zitieren --> Unities abgeben: Nur für Scuba
Hallo Scuba, ich hab's zwar nicht probiert, aber ich denke doch, dass es noch klappt. GRIP wird zwar nicht mehr großartig weiterentwickelt, aber es wird auf Stand gehalten, d.h., wenn man Attribute in GRIP zuweisen kann, wird eine Änderung in diesem Bereich in GRIP üblicherweise immer noch angepasst. Die Zuweisungssyntax lautet: ASATT/PART,'Attributscategorie','Attributsstring' hier etwa: ASATT/PART,'PTC_WM_IS_Drawing','true oder ein sonstiger String' Gruß
------------------ Walter Hogger 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: 20. Jul. 2015 10:23 <-- editieren / zitieren --> Unities abgeben: Nur für Scuba
|
Scuba Mitglied
Beiträge: 13 Registriert: 28.10.2004 NX9 / NX10 / Windows7 64bit
|
erstellt am: 20. Jul. 2015 14:13 <-- editieren / zitieren --> Unities abgeben:
Hallo Walter, vielen Dank für den Tipp, aber das Attribut kann damit leider nicht einer speziellen Category (z.B. DB Part) zugewiesen werden. Aus meiner Sicht müßte der ASATT Befehl erweitert werden (Siehe unten). Z.Zt. funktioniert das leider nicht. Dies wäre erforderlich: ASATT/PART,'AttributeCategory','AttributeTitle','AttributeValue' Bsp.: ASATT/PART,'DB Part','PTC_WM_IS_Drawing','true' Trotzdem vielen Dank. Gruß Scuba
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Walter Hogger Moderator Maschinenbauingenieur
Beiträge: 3990 Registriert: 06.10.2000
|
erstellt am: 20. Jul. 2015 16:19 <-- editieren / zitieren --> Unities abgeben: Nur für Scuba
Hallo Scuba, nach dem die Category optional ist, könnte sie nur zum besseren Filtern gedacht sein ... dachte ich. Aber du hast es vermutlich schon versucht. Leider habe ich keine GRIP-Lizenz mehr zur Hand um's zu probieren. Übrigens die Part-Attribute konnten früher nur Strings als Wert annehmen, Zahlenwerte, Datum, Boolean und so war nur den Objektattributen vorbehalten. Deine ASATT-Zeile scheint mir etwas überladen zu sein. Gruß Gruß ------------------ Walter Hogger 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: 20. Jul. 2015 20:35 <-- editieren / zitieren --> Unities abgeben: Nur für Scuba
Bezüglich GRIP und ASATT noch eine Idee: Erst mit der "alten" Syntax ein Attribut anlegen, dann Daumen drücken und versuchen, ob eine andere Syntax das bestehende Attribut in die Kategorie reinschiebt. Wenn so was geht, sollte es in einer möglichst aktuellen GRIP-Doku aufgeführt sein. Falls der Stohhalm reisst, wäre meine Empfehlung ein Journal auf Basis von .NET. Ob man dann mit C# oder VB arbeitet, ist persönlicher Geschmack und macht funktional keinen Unterschied. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Scuba Mitglied
Beiträge: 13 Registriert: 28.10.2004 NX9 / NX10 / Windows7 64bit
|
erstellt am: 22. Jul. 2015 09:33 <-- editieren / zitieren --> Unities abgeben:
Hallo Micheal, hallo Walter, nochmals danke für die Tipps, ich denke ich werde mal einen Kollegen aus der Programmierung ansprechen und mich mit den "neuen" Techniken vertraut machen. Gruß Scuba Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Merlin2001 Mitglied Sr. Software Engineer
Beiträge: 24 Registriert: 13.05.2011
|
erstellt am: 30. Jul. 2015 12:42 <-- editieren / zitieren --> Unities abgeben: Nur für Scuba
Hallo Scuba, ich habe dir als Startpunkt mal ein kleines Journal (in VisualBasic) geschrieben: Code:
Imports System Imports NXOpenModule SetUserAttributeWithCategory ' Einstiegspunkt für das Journal Sub Main(ByVal args() As String) ' Referenz zur aktuellen Session und dem aktuellen Workpart holen Dim nxSession As NXOpen.Session = NXOpen.Session.GetSession() Dim workPart As NXOpen.Part = nxSession.Parts.Work '~~~~~~~~~~~~ Definieren der Attribut-Details ~~~~~~~~~~~~ ' Neues AttributeInformation-Objekt erzeugen, um die Eigenschaften des neuen ' Attributs festzulegen Dim newAttributeInfo As New NXOpen.NXObject.AttributeInformation
' Der Attributtyp muss unbedingt festgelegt werden (bspw. Boolean, Time etc.) ' (Wird der Attributtyp nicht festgelegt, löst die Methode 'SetUserAttribute' ' (siehe unten) einen Fehler aus.) newAttributeInfo.Type = NXObject.AttributeType.String ' Der Attributtitel muss auch unbedingt festgelegt werden ' (Wenn es bereits ein Attribut mit diesem Titel gibt, wird es überschrieben/aktualisiert) newAttributeInfo.Title = "Benennung" ' Je nach Typ gibt es verschiedene *Value-Eigenschaften bspw. BooleanValue, TimeValue etc. ' (Als Beispielwert habe ich das aktuelle Datum und die Zeit genommen - damit kannst du das ' Überschreiben direkt sehen, weil der Wert sich jedes Mal ändert) newAttributeInfo.StringValue = DateTime.Now.ToString() ' So kann die Kategorie festgelegt werden (ist die Kategorie nicht vorhanden, wird sie erzeugt) newAttributeInfo.Category = "Kategorie" ' ~~~~~~~~~~~~ Speichern des Attributs im Workpart ~~~~~~~~~~~~ workPart.SetUserAttribute(newAttributeInfo, Update.Option.Later)
End Sub End Module
(Ansicht mit Syntax-Highlighting: https://dotnetfiddle.net/Sjpv23 ) Hoffe das hilft dir beim Einstieg!
Viele Grüße Marcus P.S.: Als Quellcode-Editor würde ich dir Notepad++ empfehlen, falls du Visual Studio Express (kostenlos, auch für kommerziellen Einsatz) nicht installieren möchtest. Dann kannst du zumindest auf Syntax-Highlighting zurückgreifen, auch wenn dann die allerallerallerbeste Funktion (IntelliSense) fehlt. (Wichtig: Visual Studio Community ist nur unter bestimmten Bedingungen kostenlos kommerziell verwendbar, Visual Studio Express ist dagegen uneingeschränkt kommerziell verwendbar.) Edit 2015-08-24: Imports, Link zu formatiertem Quelltext und Quellcode-Editor-Empfehlung hinzugefügt.
[Diese Nachricht wurde von Merlin2001 am 24. Aug. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Scuba Mitglied
Beiträge: 13 Registriert: 28.10.2004 NX9 / NX10 / Windows7 64bit
|
erstellt am: 14. Aug. 2015 18:30 <-- editieren / zitieren --> Unities abgeben:
Hallo Marcus, sorry für die späte Antwort, aber wir haben Urlaubszeit und da verzögert sich das Eine oder Andere schon mal. Damit hätte ich nicht gerechnet - von daher vielen Dank! Sobald sich das "Urlaubsvertretungscaos" gelegt hat, werde ich es gleich ausprobieren. Danke und Gruß Scuba Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Merlin2001 Mitglied Sr. Software Engineer
Beiträge: 24 Registriert: 13.05.2011
|
erstellt am: 24. Aug. 2015 11:05 <-- editieren / zitieren --> Unities abgeben: Nur für Scuba
|
| Artikel-Konstrukteur/in (m/w/d) | Armaturen aus dem Sauerland ? Karriere in aller Welt KLUDI ? das sind vor allem unsere 900 Mitarbeiterinnen und Mitarbeiter an Standorten in elf Ländern. Ihre vielfältigen Talente, Fähigkeiten und Erfahrungen machen unsere Stärke und unsere Leidenschaft aus. KLUDI ? das sind aber auch unsere Premiumprodukte und vielfach ausgezeichneten Innovationen. In über 100 Ländern machen sie den Menschen das Leben ein Stück einfacher, sicherer und komfortabler.... | Anzeige ansehen | Konstruktion, Visualisierung |
|
Scuba Mitglied
Beiträge: 13 Registriert: 28.10.2004 NX9 / NX10 / Windows7 64bit
|
erstellt am: 27. Aug. 2015 11:06 <-- editieren / zitieren --> Unities abgeben:
Hallo Marcus, nochmal vielen Dank für die Initialzündung Richtung Journal. Für den ersten Schritt habe ich einfach den schon bekannten Notepad++ Editor verwendet - alles hat sofort funktioniert. Viele Grüße Scuba Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |