| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
| |
 | Enorm reduzierte Komplexität der Freigabeworkflows in Teamcenter bei Vitra International AG , ein Anwenderbericht
|
Autor
|
Thema: UG Programmierung (2175 mal gelesen)
|
memaster Mitglied

 Beiträge: 12 Registriert: 10.08.2004
|
erstellt am: 11. Aug. 2004 09:13 <-- editieren / zitieren --> Unities abgeben:         
Hallo ich soll ein Programm (oder Makro) erstellen mit dem man in UG V16 Dateien öffnet (alle Dateien in einem Ordner) und diese als jpg Bilder speichtert. Ich habe keine Erfahrung in der Bediehnung von UG besitze aber fundierte C-Kenntnisse. Kann mir jemand sagen wie ich die Sache angehen kann? Gibt es irgendwo Beispielprogramme? mfg me
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Walter Hogger Moderator Maschinenbauingenieur
       
 Beiträge: 3990 Registriert: 06.10.2000 UG V2 bis UG V18 NX1 bis NX2008 ("NX19")
|
erstellt am: 11. Aug. 2004 14:16 <-- editieren / zitieren --> Unities abgeben:          Nur für memaster
Hallo memaster, zu UG gibt es mehrere Programmiersprechen (z.B. GRIP und User Function, KF). User Funktion ist im Wesentliche C oder C++ mit tasusenden von Programmaufrufen für UG-Aktivitäten. D.h. du hast quasi eine Library für UG-Aktionen dabei. Die Programmiersprachen sind nicht kostenlos, im Gegenteil, man muß für einen Runtime-Modul "blechen" (damit man die erstellten Programme benutzen kann) und für die Development-Umgebung (Erstellen von Programmen) nochmal separat (GRIP extra und User Function extra!). Dann braucht man natürlich noch einen C-Compilor, Ahnung von der C-Programmierung und (ganz wichtig!), Ahnung von den Möglichkeiten innerhalb von UG. Wir haben uns den User Funktion Bereich noch nicht geleistet ... er rechnet sich schlichtweg nicht! Man bräuchte so große oder zahlreiche Projekte, damit man die Investitionen wieder hereinbringt, daß dies in der Praxis kaum möglich ist. Schade! Aus meiner Meinung wird damit UG stark abgewertet, da dringend nötige Verbesserungen nicht programmiert werden, weil die finanziellen Hürden für potentielle Anbieter zu hoch sind. Das war mein Problem ... jetzt zu deinem! Ja, dein Vorhaben ist möglich. Es gibt Sprachworte zum Öffnen von Parts, zu exportieren oder zum Plotten. Wenn du von JPG-Bildern sprichst, assoziiere ich damit "Thumbnails" (kleine, unscharfe Bildchen), für exakte CAD-Bilder (z.B. Plots) nimmt man meist HPGL, PostScript, Tiff oder PDF-Formate. Ich habe da schon einiges in GRIP gemacht, wenn du etwas näher erläuterst, wie das Wunschergebnis aussehen soll (Dateigröße, Bildqualität, "Zoombarkeit") kann ich dir ggf. noch ein paar Tipps geben. Gruß
------------------ Walter Hogger Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD_Warrior Mitglied Konstrukteur

 Beiträge: 11 Registriert: 01.04.2003
|
erstellt am: 12. Aug. 2004 09:43 <-- editieren / zitieren --> Unities abgeben:          Nur für memaster
Hallo Walter, das stimmt so nicht ganz. Mit einer normalen Visual Studio 6.0 Entwicklungsumgebung kannst du UG-Zusatzapplikationen in C oder C++ programmieren bis der Arzt kommt ohne daß du, abgesehen von der Entwicklungsumgebung selbst, keine weiteren Kosten hast. Der Microsoft-Compiler reicht vollkommen aus. Ich habe in den vergangen Monaten zahlreiche Zusatztools in C und C++ entwickelt. Das einzige was du ohne das SDK von UG nicht kannst, ist GRIP programmieren (macht aber, wenn du C oder C++ programmieren kannst ohnehin keinen Sinn) und den UI-Styler verwenden. Dialoge und Masken müssen dann eben über die MFC programmiert werden. Anfänglich war das ein wenig umständlicher aber im nachhinein betrachtet hat man jedoch auch wesentlich mehr Möglichkeiten mit der MFC. Gruß CAD Warrior Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Walter Hogger Moderator Maschinenbauingenieur
       
 Beiträge: 3990 Registriert: 06.10.2000 UG V2 bis UG V18 NX1 bis NX2008 ("NX19")
|
erstellt am: 12. Aug. 2004 11:22 <-- editieren / zitieren --> Unities abgeben:          Nur für memaster
Hallo Warrior, ich habe schon mehrfach gehört, dass man mit guten Kenntnissen seines C-Compilors die User Function Umgebung umgehen kann. Angeblich ist das aber laut UGS-Lizenzvertrag illegal. Weisst du da mehr darüber, das würde mich brennend interessieren! Gruß ------------------ Walter Hogger Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD_Warrior Mitglied Konstrukteur

 Beiträge: 11 Registriert: 01.04.2003
|
erstellt am: 12. Aug. 2004 17:56 <-- editieren / zitieren --> Unities abgeben:          Nur für memaster
Hallo Walter, das mit dem Lizenzvertrag ist anscheinend wirklich ein Problem. Wie genau jedoch die rechtliche Situation ist weiß ich ehrlich gesagt auch nicht. Bei einem Interessanten Gespräch mit einem selbständigen UG-Anwender habe ich erfahren, dass die EULA so streng gestrickt sind, dass man als Selbständiger das Resultat aus der Arbeit mit UG (also die Konstruktion an sich) rechtlich gesehen gar nicht verkaufen dürfte. Ich konnte das eigentlich gar nicht glauben, soll aber wirklich so sein. Mit der Programmierung von Zusatztools ist das wohl so ähnlich. Ich würde jedoch mal so sagen. Wenn man Tools für eigene Zwecke programmiert kriegt das ohnehin keiner mit und man erzielt eigentlich keinen finanziellen Vorteil daraus. Abgesehen davon, dass man sich einen Wettbewerbsvorteil verschafft. Im Grunde werden keine Systemmodule genutzt welche man nicht gekauft hat. Die Tatsache, dass dies möglich ist, sehe ich nicht als mein Problem an. Gruß CAD Warrior Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
memaster Mitglied

 Beiträge: 12 Registriert: 10.08.2004
|
erstellt am: 12. Aug. 2004 19:31 <-- editieren / zitieren --> Unities abgeben:         
Hallo Microsoft Visual Studio 6.0 habe ich installiert. Wie kann ich nun mein Tool erstellen. Kann mir jemand vieleicht ein Beispielprogramm oder eine gute Anleitung senden. Ich möchte ein Programm erstellen mit dem man in UG V16 Dateien öffnet (alle Dateien in einem Ordner) und diese als HQ-Image speichtert. mfg me Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Eisele Mitglied

 Beiträge: 54 Registriert: 06.06.2002 ENOVIA MatrixOne
|
erstellt am: 13. Aug. 2004 07:49 <-- editieren / zitieren --> Unities abgeben:          Nur für memaster
Hallo Memmaster, ein gute Quelle für Programm- und Anwendungsbeispiel sind die UG-OPEN-Samples in UG-Answer. Anbei ein Beispiel, das ich einiger Zeit dort gefunden habe. Ich habe es bis jetzt noch nicht probiert. Meine Erfahrung mit anderen Beispielen ist aber positiv. Viele Grüße
Eisele Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
memaster Mitglied

 Beiträge: 12 Registriert: 10.08.2004
|
erstellt am: 13. Aug. 2004 10:22 <-- editieren / zitieren --> Unities abgeben:         
|
memaster Mitglied

 Beiträge: 12 Registriert: 10.08.2004
|
erstellt am: 13. Aug. 2004 14:23 <-- editieren / zitieren --> Unities abgeben:         
Hallo Ich habe das ganze mal Probiert und auch bei MS V C++ das Verzeichnis für die Biblioteken angegeben. Nun bekomme ich aber immer noch die folgenden Linker Fehler wie diese: Cpp1.obj : error LNK2001: Nichtaufgeloestes externes Symbol _UF_terminate Cpp1.obj : error LNK2001: Nichtaufgeloestes externes Symbol _UF_initialize Cpp1.obj : error LNK2001: Nichtaufgeloestes externes Symbol _UF_UI_write_listing_window Was kann ich dagegen tun? Mit freundlichen Grüßen me
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Eisele Mitglied

 Beiträge: 54 Registriert: 06.06.2002 ENOVIA MatrixOne
|
erstellt am: 13. Aug. 2004 14:54 <-- editieren / zitieren --> Unities abgeben:          Nur für memaster
Hallo Memmaster, bei mir funktioniert es astrein. Folgende Vorgehensweise: - interne Applikation erstellt mit dem Ug-Open Wizard (in VC6). - vordefinierten Code gelöscht, und den Beispiel-Code eingefügt. - Compiliert und gelinkt. Die Dll wurde erstellt ohne Fehler. Prüfe doch bitte die Linkereinstellungen. Vielleicht fehlt bei Dir der letzte Verweis (siehe Bild). Viele Grüße
Eisele Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
memaster Mitglied

 Beiträge: 12 Registriert: 10.08.2004
|
erstellt am: 13. Aug. 2004 16:30 <-- editieren / zitieren --> Unities abgeben:         
|
Eisele Mitglied

 Beiträge: 54 Registriert: 06.06.2002 ENOVIA MatrixOne
|
erstellt am: 13. Aug. 2004 16:47 <-- editieren / zitieren --> Unities abgeben:          Nur für memaster
|
memaster Mitglied

 Beiträge: 12 Registriert: 10.08.2004
|
erstellt am: 13. Aug. 2004 16:53 <-- editieren / zitieren --> Unities abgeben:         
Hallo Nun bekomme ich noch folgende Meldung in UG (bei dem Beispielprogramm): Invalid file name error -5 at line 123 in c:\me\uggo\uggo.cpp uc4576(part_fspec, 2, dspec, part_name); The source CMSG struct is corrupt error 1135003 at line 124 in c:\me\uggo\uggo.cpp uc4578(part_name, 2, part_name); Filespec out of range error -172 at line 125 in c:\me\uggo\uggo.cpp uc4575(dspec, ftype, part_name, fspec); A part must be loaded to use this function error 1105012 at line 84 in c:\me\uggo\uggo.cpp UF_OBJ_cycle_objs_in_part(part, UF_solid_type, &body); Was bedeutet das? Was kann ich dagegen tun? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
memaster Mitglied

 Beiträge: 12 Registriert: 10.08.2004
|
erstellt am: 13. Aug. 2004 17:07 <-- editieren / zitieren --> Unities abgeben:         
|
memaster Mitglied

 Beiträge: 12 Registriert: 10.08.2004
|
erstellt am: 01. Sep. 2004 13:07 <-- editieren / zitieren --> Unities abgeben:         
Hallo wie gesagt läuft alles sehr gut in UG V16, nun möchte ich das Makro in NX nutzen und bekomme die Fehlermeldung: Part file is a newer version of UG than this one error 641003 UF_PART_open(part_name, &part, &status); Was kann ich dagegen tun? Gibt es seit NX eine neue öffnen-Funktion? mfg me Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
konradw Mitglied CAD Key User
  
 Beiträge: 981 Registriert: 07.03.2000 NX12
|
erstellt am: 01. Sep. 2004 13:38 <-- editieren / zitieren --> Unities abgeben:          Nur für memaster
|
Walter Hogger Moderator Maschinenbauingenieur
       
 Beiträge: 3990 Registriert: 06.10.2000 UG V2 bis UG V18 NX1 bis NX2008 ("NX19")
|
erstellt am: 01. Sep. 2004 14:23 <-- editieren / zitieren --> Unities abgeben:          Nur für memaster
Hallo Memaster, die Meldung ist eigentlich eindeutig. Du versuchst mit V16 ein Part zu öffnen, welches in einer höheren UG-Version (V17, V18, NX oder NX2) erstellt oder gespeichert wurde. Das klappt nicht! Es hat nix mit Macros oder User Function zu tun, das geht auch "händisch" nicht. Die schlechte Aufwärtskompatibilität von User Function Programmen ist übrigens der Grund, warum wir GRIP bevorzugen. GRIP-Programme aus der V10 laufen, ohne Änderung (!), in den allermeisten Fällen auch jetzt noch. Das sind immerhin schon über 11 Jahre (1993 kam die V10 auf den Markt), in dieser Branche ein langer Zeitraum. Auf neuen Plattformen (HP-UX, Windows, etc.) ist jedoch auch bei GRIP eine einmalige Compilierung nötig. Gruß
------------------ Walter Hogger Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
memaster Mitglied

 Beiträge: 12 Registriert: 10.08.2004
|
erstellt am: 01. Sep. 2004 14:27 <-- editieren / zitieren --> Unities abgeben:         
|