| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: Erstellung neuer Teile mittels KF (1128 mal gelesen)
|
guckmalda Mitglied Student
Beiträge: 30 Registriert: 01.07.2005 NX 4.0.4.2 MP01 auf WinXP pro SP2
|
erstellt am: 10. Jan. 2006 15:49 <-- editieren / zitieren --> Unities abgeben:
Hallo Leute, hab mal wieder ne neue Herausforderung. Ich möchte mittels KF neue Unterbaugruppen in eine Hauptbaugruppe einfügen. Dabei muss ich die Teile erstellen, speichern und einbauen. Diesen Schritt möchte ich jedoch über eine einzelne Funktion realiseren und keine neue Instanz erzeugen müssen. Wenn ich eine Klasse für diese Arbeit nutze habe ich damit kein Problem. Beim Nutzen von ug_part_save bekomme ich einen Fehler, der besagt, dass die Regel "part_name" nicht ausgeführt werden kann. Wenn ich mir das in der Hilfe anschaue und mal die dfa-Dateien analysiere, fällt mir auf, dass es nur von ug_partfile kommen kann, da nur dort dieses Attribut Nachfolgend ist ein Ausschnitt aus meiner Klasse für das Teile erstellen. Bitte beachtet Smilies werden automatisch für : ) gesetzt! Liest sich etwas doof, kann ich aber nicht ändern! (oder doch?) (list ) demandorder: { create:, save:, LN:, savevalue: }; (list parameter ) savevalue: {part_name, partentpartname,save_count}; (boolean ) create: ug_createNewPart(part_path:+part_name:,1); (integer parameter modifiable ) save_count: 0; (boolean ) save: if save_count:=0 then @{ ug_part_save(part_path:+part_name ; ug_setcachevalue(1,self:,save_count); } else true; (child ) LN: { Class; ug_partfile; Part_Name, part_name:; PartentPartFileName, parentpartname:; Directory, part_path:; }; Danach werden dieser baugruppe automatisch Komponenten hinzugefügt, dies funktioniert problemlos. Nun speichere ich die gesamte Baugruppe und verlasse NX3. Danach bricht der Ladevorgang mit einem System-Fehler (Bug) ab. Öffne ich die Baugruppe mit Ladeoptionen - Keine Komponenten laden - dann funktioniert alles problemlos und ich kann die Unterbaugruppen per Hand fehlerfrei laden. Woran kann das denn liegen? Kann ich den Ladevorgang irgendwie steuern? Ich meine damit den Ablauf: Teil A laden - KF-Regeln des Teil A ausführen und erst danach Unterelemente der Baugruppe A laden.
Wenn jemand einen Fehler in der Vorgehensweise endeckt, dann bitte auch posten, jegliche Hilfe ist willkommen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
guckmalda Mitglied Student
Beiträge: 30 Registriert: 01.07.2005 NX 4.0.4.2 MP01 auf WinXP pro SP2
|
erstellt am: 10. Jan. 2006 17:21 <-- editieren / zitieren --> Unities abgeben:
|
älg Mitglied CADmin
Beiträge: 403 Registriert: 17.06.2003
|
erstellt am: 11. Jan. 2006 07:24 <-- editieren / zitieren --> Unities abgeben: Nur für guckmalda
|
guckmalda Mitglied Student
Beiträge: 30 Registriert: 01.07.2005 NX 4.0.4.2 MP01 auf WinXP pro SP2
|
erstellt am: 11. Jan. 2006 13:25 <-- editieren / zitieren --> Unities abgeben:
Hallo Das zweite Problem ist gelöst! Beim ersten hab ich aber noch Schwierigkeiten - ug_part_save funktioniert einfach nicht wie es in der Hilfe erklärt wird. In einem PR im UGS-Forum wurde von einer Erweiterung der Hilfe mit NX3.0.3.2 in puncto ug_part_save geredet! Habt ihr dazu ein Update der Hilfe bemerkt? Ich suche diese neue Beschreibung zu ug_part_save dringend! Danke guckmalda Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
älg Mitglied CADmin
Beiträge: 403 Registriert: 17.06.2003
|
erstellt am: 11. Jan. 2006 14:42 <-- editieren / zitieren --> Unities abgeben: Nur für guckmalda
|
guckmalda Mitglied Student
Beiträge: 30 Registriert: 01.07.2005 NX 4.0.4.2 MP01 auf WinXP pro SP2
|
erstellt am: 11. Jan. 2006 17:50 <-- editieren / zitieren --> Unities abgeben:
Das zweite Problem lag darin, dass bei Nutzung von ug_createinstance aufgepasst werden sollte, dass man nicht child erstellt, das eine Klasse aufruft, in der eine Liste folgenden Aussehens drin ist: (list ) irgendwas: loop{ for $i in irgendeine_liste:; collect ug_createinstance(....); }; Selbst wenn man in dieser Klasse, diese irgendeine_liste mit savevalue speichern will, speichert kf diese liste einfach nicht. Man sollte die ug_creatinstance immer in der Klasse ablaufen lassen, in der auch die Attribute, auf die sie zugreift, berechnet werden und nicht, wie ich fälschlicherweise angenommen habe, diese in eine sub-Klasse zu packen. Damit korrespondiert auch Problem 1. Ich bekomme mit (list) savevalue: {liste1:,liste2:}; die Inhalte der liste1: und liste2: einfach nicht gespeichert. Nach speichern und schließen der Teile sind die Informationen in diesen Listen für immer verschollen. Beim erneuten Öffnen sind die Inhalte der Listen die vordefinierten in der Klasse, aber nicht die vorher befüllten. Wenn ich mich etwas unverständlich ausdrücke, entschuldige das bitte, aber nach 11 Stunden auf der Arbeit ist dies nicht ganz ungewöhnlich. Vielleicht fällt dir ja was ein dazu. Danke im voraus. guckmalda Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
guckmalda Mitglied Student
Beiträge: 30 Registriert: 01.07.2005 NX 4.0.4.2 MP01 auf WinXP pro SP2
|
erstellt am: 12. Jan. 2006 09:25 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von älg: Alle Parameter ohne Doppelpunkt ?!
Ja, alle Parameter ohne Doppelpunkt (nur Namen), sonst funktioniert das ganze nicht. Die Liste savevalue sollte uncached sein, dass auch sicher gestellt wird, dass alles gespeichert wird. Damit hat sich dann auch meine letzte Frage erledigt, es lag genau daran, dass ich Referenzen (mit Doppelpunkt) und keine Namen drin hatte! guckmalda Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Konstrukteur (m/w/d) Maschinen- und Anlagenbau | Menschen und Technologien zu verbinden, den Perfect Match für unsere Kunden zu gestalten, immer die richtigen Expert:innen für die jeweilige Herausforderung zu finden - das ist unser Anspruch bei FERCHAU und dafür suchen wir dich: als ambitionierte:n Mitarbeitende:n für einen unserer Kunden. Wir realisieren spannende Projekte für namhafte Kunden in allen Technologiebereichen und für alle Branchen und überzeugen täglich mit fundierter Expertise und fachlichem Know-how.... | Anzeige ansehen | Konstruktion, Visualisierung |
|
rhonanpaldur Mitglied Dipl.-Ing. MB, Druckmaschinen
Beiträge: 76 Registriert: 30.10.2007 NX 3.0.3 NX 5.0.2
|
erstellt am: 24. Jan. 2008 20:31 <-- editieren / zitieren --> Unities abgeben: Nur für guckmalda
Zitat: Beim Nutzen von ug_part_save bekomme ich einen Fehler, der besagt, dass die Regel "part_name" nicht ausgeführt werden kann.
Geht mir gerade in NX 5 genauso. Hat jemand ug_part_save mal zum laufen bekommen? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |