Autor
|
Thema: Metafunktion programmieren (161 mal gelesen)
|
talpa Mitglied
 
 Beiträge: 324 Registriert: 19.08.2002 Catia V4.2.4 Catia V5R10SP5 SUN Blade 1000 SUN Solaris 2.8
|
erstellt am: 20. Jan. 2003 14:42 Unities abgeben:         
Hallo Allerseits!Ich habe gerade Versucht mittels dem PDF von Christian Rohling 'Metafunktion programmieren' (vgl. Didakt V4) mir einen eigenen Menüpunkt zu erstellen. Das hat leider nicht geklappt. Da ich, wie empfohlen, den Text in meine USRENV kopiert und zunächst auch unverändert gelassen habe, kann ich meiner Meinung nach Schreib- oder Syntaxfehler aussschließen. Ich habe den Text einmal mitten in die USRENV eingepflegt und einmal am Ende angehängt, oder muss der an eine bestimmte Position? Trotzdem finde ich meinen neuen Menüpunkt nicht, den ich übrigens in der 'List of available functions' gesucht habe (Tastenicon ziemlich rechts in der Dauermenüleiste). Wer kann mir helfen? Gruß, Talpa
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brauburger Mitglied
 
 Beiträge: 326 Registriert: 05.04.2001 HP_C3700_mit_HP-UX_11.0 CATIA_424-2 VPM_1.5_PTF26 / Test:_VPM_1.5_PTF31
|
erstellt am: 21. Jan. 2003 08:37 Unities abgeben:         
Hallo Talpa, ich würde jetzt gerne meinen Senf zu Deiner Frage geben, kenne aber das Beispiel nicht. Wo finde ich das "PDF von Christian Rohling 'Metafunktion programmieren' (vgl. Didakt V4)"? Dirk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
talpa Mitglied
 
 Beiträge: 324 Registriert: 19.08.2002 Catia V4.2.4 Catia V5R10SP5 SUN Blade 1000 SUN Solaris 2.8
|
erstellt am: 21. Jan. 2003 09:25 Unities abgeben:         
Hallo Dirk,den PDF findest Du auf der inoffziellen CATIA-Hilfeseite, die ein Mitglied von CAD.de erstellt hat: http://catia.cad.de/v4/didaktv4.htm Also dann, ich erwarte Deine Antwort spätestens zum Feierabend :-) Gruß, Talpa Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stefan Katz Mitglied

 Beiträge: 39 Registriert: 03.11.2001
|
erstellt am: 21. Jan. 2003 10:08 Unities abgeben:         
Hallo,es wäre auch denkbar, daß deine USERENV.dcls garnicht durchlaufen wird. Das hängt ganz davon ab, wie dein System installiert ist. Kannst Du aber abfragen mit: echo $CATMSTR Die Ausgabe dieser Abfrage sagt aus, welche *.dcls verwendet wird. Global könnte man die Änderung auch in die $CAT_CUST/dec/CATIA.dcls einpflegen. Mit Global meine ich, daß die Änderung für alle Projektumgebungen gilt. In beiden Fällen ist es ratsam den Systemverantwortlichen zu Rate zu ziehen. Gruß Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
talpa Mitglied
 
 Beiträge: 324 Registriert: 19.08.2002 Catia V4.2.4 Catia V5R10SP5 SUN Blade 1000 SUN Solaris 2.8
|
erstellt am: 21. Jan. 2003 10:37 Unities abgeben:         
Hallo Stefan,die USRENV wird durchlaufen, das habe ich schon überprüft. Vielen Dank aber für den anderen Tip. Dann kann ich mir das Ändern sämtlicher USRENV sparen. Allerdings werde ich das erst aufgreifen, wenn ich das Ganze in einer Projektumgebung zum laufen bringe... Sollte ich alles richtig gemacht haben, finde ich dann meinen "neuen" Befehl auch tatsächlich in der 'List of available functions'? Gruß, Talpa
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
talpa Mitglied
 
 Beiträge: 324 Registriert: 19.08.2002 Catia V4.2.4 Catia V5R10SP5 SUN Blade 1000 SUN Solaris 2.8
|
erstellt am: 21. Jan. 2003 13:33 Unities abgeben:         
Ich habe den Fehler gefunden!!!Es war doch ein Syntaxfehler. Ich habe zwar den Text aus dem PDF kopiert und in die USRENV mit Paste eingefügt, allerdings wollte ich das ganze für mich noch kommentieren. Aus diesem Grund habe ich zwar mit '/* blablabla' angefangen, dann aber vergessen, den Kommentar mit '*/' zu beenden. Jetzt geht es endlich. Vielen Dank an alle, die sich für mich Gedanken gemacht haben. Gruß, Talpa Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
talpa Mitglied
 
 Beiträge: 324 Registriert: 19.08.2002 Catia V4.2.4 Catia V5R10SP5 SUN Blade 1000 SUN Solaris 2.8
|
erstellt am: 21. Jan. 2003 14:23 Unities abgeben:         
OK, da habe ich mich doch zu früh gefreut. Es haben sich nämlich zwei neue Probleme ergeben:1. Problem Meine benutzdefinierte Befehlssammlung habe ich in mein Befehlstableau aufgenommen. Zu Versuchszwecken genau die aus dem Beispiel im PDF. Alle Befehle funktionieren. Nur bei Surf2-Segment und Surf2-Curve kommt es zu folgender Fehlermeldung (Text bezieht sich auf Surf2-Curve): "Cannot access item curve Err: Catcmd.meta_fct.sketch.article(x)='surf2+...+curve+...'" Klicke ich die Fehlermeldung mit 'OK' weg, kann ich den Befehl ausführen. Allerdings stört die Fehlermeldung doch etwas, da sie jedes mal bei Anwahl des Befehls wieder erscheint. 2. Problem Hallo Stefan, das bezieht sich auf Deinen Tip mit der CATIA.dcls. Ich habe sie analog der USRENV.dcls geändert. Wenn ich Catia jetzt starte bekomme ich im Catia-Start-Terminal eine Menge Fehlermeldungen die wie folgt lauten: "A parameter should be declared prior to valuation Check spelling of parameter name If spelling OK, you are missing parameter type: CATCMD.META_FCT.SKETCH.ITEM : TYPE; **Location of error: Current file name: ... Source line number: ... Source line: ..." Kannst Du mir dazu irgendetwas sagen? Ist die Syntax in der CATIA.dcls eine andere? Vielen Dank im voraus Gruß, Talpa Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
talpa Mitglied
 
 Beiträge: 324 Registriert: 19.08.2002 Catia V4.2.4 Catia V5R10SP5 SUN Blade 1000 SUN Solaris 2.8
|
erstellt am: 21. Jan. 2003 14:51 Unities abgeben:         
"Problem 1" habe ich soeben gelöst:Falsch: 'SURF2+SEGMENT' Richtig: 'SURF2+CREATE+SEGMENT' Falsch: 'SURF2+CURVE' Richtig: 'SURF2+CREATE+CURVE' Da 'SEGMENT' und 'CURVE' in CATIA Unterfunktionen von 'SURF2-CREATE' sind. Vielleicht sollte man den PDF entsprechend abändern? Jetzt hoffe ich nur noch, dass sich der Stefan noch zu meinem zweiten Problem meldet... Gruß, Talpa Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stefan Katz Mitglied

 Beiträge: 39 Registriert: 03.11.2001
|
erstellt am: 21. Jan. 2003 17:05 Unities abgeben:         
Hi Tapa,äh.... sorry, hatte grad keine Zeit. Dein Problem schockt mich etwas. Mir wäre nicht bekannt, daß in der CATIA.dcls ein anderer Syntax zu verwenden ist. Vergleicht man die Files, sieht man ja, daß die selbe Sprache gesprochen wird. Bist Du sicher, keinen Schreibfehler gemacht zu haben? Ein Versuch könntest Du machen, indem du Deine Deklaratione in eine seperate Datei schreibst, und diese mit include "reincourcet". Das geht so, du fügst in deine CATIA.dcls folgende Zeile ein: /* ----------------------------------------------------------- */ /* Include von Zusatzmenues Talpa 21.01.03 */ /* ----------------------------------------------------------- */ include( '$Deine_DATEI_MIT_DEM_DEKLARATIONEM.dcls' ) ; Allerdings glaube ich nicht daß das viel bringt. Gruß Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brauburger Mitglied
 
 Beiträge: 326 Registriert: 05.04.2001 HP_C3700_mit_HP-UX_11.0 CATIA_424-2 VPM_1.5_PTF26 / Test:_VPM_1.5_PTF31
|
erstellt am: 22. Jan. 2003 08:48 Unities abgeben:         
Hallo Talpa,leider habe ich keine automatische 'Email-Benachrichtigungen für Beiträge' erhalten, so daß ich erst heute morgen an cad.de gedacht habe. Zum Thema: ---------- CATIA-Deklarationen werden zuerst in den Directories, auf die $CATDEC zeigt und zuletzt im privaten File $CATMSTR gesucht. Hierbei muß die TypDefinition einer Deklaration immer vor der WertDefinition kommen. Die TypDefinitionen für Metafunktionen sind: /usr/catia422/cfg_v4r2m2p0/dec/CATCMD.dcls:CATCMD.META_FCT.NAME.* : STRING ; /usr/catia422/cfg_v4r2m2p0/dec/CATCMD.dcls:CATCMD.META_FCT.*.ITEM : ARRAY OF (14) STRING ; /usr/catia422/cfg_v4r2m2p0/dec/CATCMD.dcls:CATCMD.META_FCT.*.LABEL : ARRAY OF (14) STRING ; (Im Beispiel gilt $CATIA=/usr/catia422/cfg_v4r2m2p0) Das Directory $CATIA/dec ist das erste in der Liste von in $CATDEC aufgelisteten DeklarationsVerzeichnissen. Bitte checke die Dateien CATCMD.dcls in den von $CATDEC gelisteten Verzeichnissen. Deine eigenen Definitionen zur MetaFunktion gehören dann auch (falls sie nicht in $CATMSTR stehen sollen) in eine der CATCMD.dcls Dateien. Dirk
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
talpa Mitglied
 
 Beiträge: 324 Registriert: 19.08.2002 Catia V4.2.4 Catia V5R10SP5 SUN Blade 1000 SUN Solaris 2.8
|
erstellt am: 22. Jan. 2003 12:25 Unities abgeben:         
Hallo Stefan, hallo Dirk!Zunächst nochmal vielen Dank für eure Hilfe. Nach der Antwort von Stefan habe ich meine Syntax überprüft, glaube aber nicht, dass der Fehler dort liegt. Der Tip vom Dirk scheint mir in die richtige Richtung zu gehen, allerdings verstehe ich bis jetz nur Bahnhof. Da unsere Firma sehr klein ist, haben wir leider keinen Admin und ich versuche mich nebenbei ein bißchen damit zu beschäftigen. Fast alles, was ich weiß, kommt aus diesem Forum. Daher werde ich erstmal über die Deklarationsgeschichte nachgrübeln und mich spätestens dann wieder melden, wenn alles den Bach runtergegangen ist :-) Bis dann, Talpa Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brauburger Mitglied
 
 Beiträge: 326 Registriert: 05.04.2001 HP_C3700_mit_HP-UX_11.0 CATIA_424-2 VPM_1.5_PTF26 / Test:_VPM_1.5_PTF31
|
erstellt am: 22. Jan. 2003 15:00 Unities abgeben:         
Hallo Talpa,in welche CATIA.dcls wolltest Du die Deklarationen einpflegen? Im selben Directory muß es auch eine CATCMD.dcls geben. Meiner Meinung nach gehören Deine Deklarationen dort hin. Dirk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
talpa Mitglied
 
 Beiträge: 324 Registriert: 19.08.2002 Catia V4.2.4 Catia V5R10SP5 SUN Blade 1000 SUN Solaris 2.8
|
erstellt am: 23. Jan. 2003 09:36 Unities abgeben:         
Hallo Dirk,ich hatte Stefan so verstanden, dass ich meine Deklarationen direkt in die CATIA.dcls einfügen sollte. Das hat dann zu oben beschriebener Fehlermeldung geführt. Ich habe die Deklarationen jetzt in die CATCMD.dcls eingefügt und es funktioniert. Vielen Dank für Deine und Stefan's Hilfe!!! Allerdings würde ich gerne nachvollziehen können, was Du mir über den theoretischen Ablauf von CATIA-Deklarationen erklärt hast. Gibt es irgendwo eine verständliche Erklärung darüber, evtl. sogar in deutsch? Oder bleiben mir nur die "blauen Bücher"? Ciao, Talpa Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |