| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
| |
 | MAIT übernimmt Kundenstamm von GMCAD, eine Pressemitteilung
|
Autor
|
Thema: LISP: CoCreate Modeling V17.00; Package MEI (1938 mal gelesen)
|
DieGraetsche Mitglied Informatiker

 Beiträge: 61 Registriert: 28.09.2007 WinXp Prof SP3 4 GB RAM OSDM 2008; 2009(V17.00)
|
erstellt am: 26. Apr. 2010 14:56 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen, Ich habe mir heute den neuen OneSpace (V17.00) von der PTC-Seite geladen. Beim testen meiner LISP-Funktionen (mit V16.00 erstellt) ist mir nun aufgefallen, dass nicht mehr alle Funktionen sauber funktionieren! Sehr schlecht. Beim Versuch auf die Funktion "identify-cluster-by-sysid" zuzugreifen, erhalte ich den Fehler (siehe screenshot), das die Funktion undefiniert ist. Ich habe den OneSpace gestartet und dann in der Commandline folgende zeilen eingegeben 1. (display (use-package :MEI)) => T 2. (display (MEI::identify-cluster-by-sysid "9045048542346238467")) -> ERROR Hat einer von euch vielleicht eine Info von PTC welche Funktionen nicht mehr verfügbar sind oder ersetzt wurden in der Version 17.00 des CoCreate Modeling? Besten Dank für eure Hilfe, DieGraetsche
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Patrick Weber Mitglied Konstruktionstechniker, Admin
  
 Beiträge: 659 Registriert: 20.11.2006
|
erstellt am: 26. Apr. 2010 17:17 <-- editieren / zitieren --> Unities abgeben:          Nur für DieGraetsche
Information? Nein. Vermutung? Ja. Versuche mal SD-IDENTIFY-CLUSTER-BY-SYSID aus dem #<FRAME2 package>. Oder exportiere alle aktuell verfügbaren Symbole in eine Datei und suche darin nach identify-cluster o.ä. Einfach Copy&Paste ins Modeling
Code: (let* (s p file-stream (lst ()) (foo-all-packages (list-all-packages))) (dolist (p foo-all-packages) (push (format nil "~a" p) lst) (do-symbols (s p) (push s lst)) ) (setf file-stream (open "c://symbole.txt" :direction :output)) (dolist (a (reverse lst)) (format file-stream "~a~%" a)) (close file-stream) )
Nicht der goldene Weg, aber trotzdem einen Versuch wert! ^_^ Mangels vorhandener V17 kann ich dir nicht viel weiter helfen. ------------------ Grüße aus Sachsen pw €dit: Sch3155 Smilies im Code >_< [Diese Nachricht wurde von Patrick Weber am 26. Apr. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Michael Kahle Mitglied Programmierer

 Beiträge: 75 Registriert: 10.05.2002
|
erstellt am: 26. Apr. 2010 18:44 <-- editieren / zitieren --> Unities abgeben:          Nur für DieGraetsche
So halbwegs sicher sind eigentlich immer nur dokumentierte Funktionen im OLI-package, alle anderen koennen dem Fortschritt zum Opfer fallen.. Recht maechtig ist auch die Lisp-Funktion apropos, z.B. (apropos 'identify-cluster) (--> gibt nichts) oder (apropos 'by-sysid) (--> gibt sd-inq-clusters-by-sysid) Keine Ahnung wie offiziell (dokumentiert) und bestaendig diese ist (weil ja kein OLI davor steht), aber koennte sein, das dies die vermisste Funktion ist. ------------------ Viele Gruesse, Michael - http://www.ultra-hip.de -- Spam goes nospam@ptc.com and spam@postini.com ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DieGraetsche Mitglied Informatiker

 Beiträge: 61 Registriert: 28.09.2007 WinXp Prof SP3 4 GB RAM OSDM 2008; 2009(V17.00)
|
erstellt am: 27. Apr. 2010 09:47 <-- editieren / zitieren --> Unities abgeben:         
Besten dank erst mal für eure Antworten. Ich habe mal den Tip von Patrick gemacht. -> Die Datei wurde super erstellt. Die Funktion SD-IDENTIFY-CLUSTER-BY-SYSID gibt es auch im OSDM 17. Ich habe folgendes ausgeführt. Code:
(setf pStartObj "/p1") (setf pObj (oli::sd-pathname-to-obj pStartObj)) (setf MySysId (oli::sd-inq-obj-contents-sysid pObj)) (setf myobj (OLI::SD-INQ-CLUSTERS-BY-SYSID MySysId)) (cond ((NOT myobj) ) (T (oli::sd-display-message "jetzt den Filename auslesen!") (display (oli::INQUIRE-CLUSTER-FILENAME myobj)) ) )
Wenn ich diesen Code ausführe, dann kommt er bis zum Auslesen des CLUSTER-FILENAME. Hier erscheint dann die Meldung: LISP error: (#S(DSM::SIMPLE-ENTITY DSM::SIMPLE-ENTITY-PTR 506689312)) is not of type DSM::SIMPLE-ENTITY.
Hat jemand noch eine Idee, wie ich nun hier weiterkomme? Vielen Dank nochmal für eure super schnelle Unterstützung. Viele Grüße, DieGraetsche Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 27. Apr. 2010 14:38 <-- editieren / zitieren --> Unities abgeben:          Nur für DieGraetsche
|
DieGraetsche Mitglied Informatiker

 Beiträge: 61 Registriert: 28.09.2007 WinXp Prof SP3 4 GB RAM OSDM 2008; 2009(V17.00)
|
erstellt am: 27. Apr. 2010 15:36 <-- editieren / zitieren --> Unities abgeben:         
Hallo Claus, Besten dank für deine Antwort. Ok das habe ich verstanden. Ich habe mal die Funktion (setf myobj (OLI::SD-INQ-CLUSTERS-BY-SYSID MySysId)) durch (setf myobj (OLI::SD-IDENTIFY-CLUSTER-BY-SYSID MySysId)) getauscht. Leider sagt mir hier der OneSpace nun, das diese Funktion nicht definiert ist. Wie kann das sein? Ich habe extra die Sysmbol.txt aus dem Eintrag von Patrick Weber mit der Version 17 erzeugt. Hier ist auch noch die Funktion SD-IDENTIFY-CLUSTER-BY-SYSID drin. Benutzen kann ich diese aber nicht! Hat jemand von euch eine Idee, warum das so ist? Gibt es evtl. bereits eine Patch? Viele Dank und Gruß, dieGraetsche Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 27. Apr. 2010 17:14 <-- editieren / zitieren --> Unities abgeben:          Nur für DieGraetsche
|
Patrick Weber Mitglied Konstruktionstechniker, Admin
  
 Beiträge: 659 Registriert: 20.11.2006
|
erstellt am: 27. Apr. 2010 19:10 <-- editieren / zitieren --> Unities abgeben:          Nur für DieGraetsche
Zitat: Original erstellt von DieGraetsche: Ich habe extra die Sysmbol.txt aus dem Eintrag von Patrick Weber mit der Version 17 erzeugt. Hier ist auch noch die Funktion SD-IDENTIFY-CLUSTER-BY-SYSID drin.
Nach Auffinden der "Funktion" (des Symbols), suchst du rückwärts nach dem Sharp-Zeichen "#". In diesem Package ist die gesuchte "Funktion" enthalten. Beispiel aus v16:
Code: #<FRAME2 package> ... IDENTIFY-CLUSTER-BY-SYSID ... SD-IDENTIFY-CLUSTER-BY-EID ... SD-IDENTIFY-CLUSTER-BY-SYSID ... #<xyz package>
------------------ Grüße aus Sachsen pw Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DieGraetsche Mitglied Informatiker

 Beiträge: 61 Registriert: 28.09.2007 WinXp Prof SP3 4 GB RAM OSDM 2008; 2009(V17.00)
|
erstellt am: 28. Apr. 2010 09:17 <-- editieren / zitieren --> Unities abgeben:         
Hallo Patrick, Ich habe in der Symbol.txt gesucht. Habe die Funktion: SD-IDENTIFY-CLUSTER-BY-SYSID In den Packages #<COMMON-LISP-USER package> und #<OLI package> gefunden. Ich habe auch mal die symbol.txt angehängt. vielleicht übersehe ich noch was. Danke und Gruß, Die Graetsche
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Patrick Weber Mitglied Konstruktionstechniker, Admin
  
 Beiträge: 659 Registriert: 20.11.2006
|
erstellt am: 28. Apr. 2010 09:30 <-- editieren / zitieren --> Unities abgeben:          Nur für DieGraetsche
Du hast nichts übersehen. Du solltest dir vielleicht überlegen, bei CoCreate selbst nach der korrekten (hoffentlich vorhandenen ) Nachfolgefunktion nachzufragen. In der Doku steht dazu ja absolut nüx. ------------------ Grüße aus Sachsen pw Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |