|
PTC Creo Elements/Programmierung : Programm-Anpassung (Bsp. Simplification)
clausb am 01.12.2015 um 12:56 Uhr (1)
Die Dialoge sind mit einem Lisp-Compiler in Binärcode übersetzt, zumindest die, die mit dem Produkt ausgeliefert werden.Auf der anderen Seite hat Lisp einiges an "Reflection"-Fähigkeiten, also Möglichkeiten, um Informationen über Datenstrukturen und Code zur Laufzeit zu ermitteln. Es ist also zumindest denkbar, etliches über den ausgeführten Code herauszufinden. Wäre mal eine hübsche Wochenendaufgabe ;-)In den meisten Fällen dürfte aber der Aufwand fürs "reverse engineering" deutlich höher sein, als einfac ...
|
In das Form PTC Creo Elements/Programmierung wechseln |
|
PTC Creo Elements/Programmierung : was gibt es bei defun zu beachten
clausb am 22.01.2016 um 14:03 Uhr (1)
Zunächst kannst Du mal die Hypothese abtesten, dass das Laden aus am_customize eventuell nicht klappt. Zwei einfache Testansätze: ":if-does-not-exist nil" einfach weglassen; sollte das Laden tatsächlich schiefgehen, wirst Du es dann an einer Fehlermeldung beim Hochfahren erkennen In der geladenen Lisp-Datei als allererste Zeile "(display 42)" einfügen. Wenn Du die 42 dann nach dem Hochfahren in der Output-Box siehst, weisst Du, dass der Code geladen wurde.Probier das mal aus, dann sehen wir weiter.-------- ...
|
In das Form PTC Creo Elements/Programmierung wechseln |
|
PTC Creo Elements/Programmierung : Problem beim ermitteln der Funktions-Dauer
clausb am 14.03.2016 um 10:10 Uhr (1)
Zitat:Original erstellt von AlexG:Zusätzlich ist es eine wunderbare Basis um pre-/post apply events auf alle möglichen Funktionsaufrufe zu erstellen.Wenn ich mich recht entsinne, kann man bei den KCL-Abkömmlingen (dazu gehört auch die Lisp-Implementierung in CoCreate Modeling) das (trace)-Makro mit :entry- und :exit-Forms versorgen. Weiss gerade nicht mehr auswendig, wie das geht, aber wenn das noch funktioniert, wäre es eine ganz simple Basis für das, was Du "pre/post apply events" nennst. Dazu bräuchte m ...
|
In das Form PTC Creo Elements/Programmierung wechseln |
|
PTC Creo Elements/Programmierung : Am Anfang 2 Klammern auf?
clausb am 27.09.2016 um 18:31 Uhr (1)
Das Code-Zitat stellt zwar eine gültige Lisp-Liste dar (mit einer inneren Liste als einzigem Element), ist aber nicht als Code ausführbar. Es wird also wie von AlexG vermutet ein unvollständig herauskopierter Teilabschnitt einer Funktion sein. Claus------------------CoCreate Modeling FAQ: http://www.clausbrod.de/CoCreateModeling/ - Blog: http://www.clausbrod.de/Blog
|
In das Form PTC Creo Elements/Programmierung wechseln |
|
PTC Creo Elements/Programmierung : lisp und java
clausb am 16.09.2017 um 20:25 Uhr (1)
Die Beschreibung ist mir etwas unklar. Ich nehme aber an, dass es um Lisp-Code, der letztlich in CoCreate Modeling läuft.Es gibt so einige Wege, wie Java-Code mit Lisp-Code in CoCreate Modeling interagieren könnte. Spontan fallen mir COM, DDE oder Interprozesskommunikation ein.------------------CoCreate Modeling FAQ: http://www.clausbrod.de/CoCreateModeling/ - Blog: http://www.clausbrod.de/Blog
|
In das Form PTC Creo Elements/Programmierung wechseln |
|
PTC Creo Elements/Programmierung : ActiveX-Control im Modeling einbinden?
clausb am 06.11.2017 um 19:17 Uhr (1)
In meiner Zeit bei CoCreate (laaange her) habe ich mal sowas ausprobiert: Aus Lisp heraus ein HTML-Control erzeugen und darin eine beliebige URL anzeigen lassen Control mittels UICT in einen Dialog oder andere UI-Komponenten einbetten und kontrollieren (anzeigen, positionieren, verstecken...)Da das Webcontrol per Default IE-Komponenten instantiiert, hätte man im dargestellten Inhalt auch ein ActiveX-Control referenzieren können. Im Prinzip wäre ich also optimistisch, dass das von Dir beschriebene Szenario ...
|
In das Form PTC Creo Elements/Programmierung wechseln |
|
PTC Creo Elements/Programmierung : Ordnerinhalt über LISP auslesen
clausb am 13.12.2017 um 19:27 Uhr (1)
Zitat:denke dazu brauche ich das auslesen eines Ordners. um zu wissen was drin ist.Dann gehe ich Zeile für Zeile durch um den wahren Dateiname zu bekommen.Wenn ich den habe soll der geöffnet werden.Wenn das mit dem öffnen bequem mit dem sd-display-url geht, von mir aus.Mich hat es nur interessiert wie es als Lisp-befehl aussehen würde.[/i]Ich denke, Du hast schon alle Informationen in dieser Diskussion bekommen, die Du brauchst: Directories nach passenden Dateinamen durchsuchen geht mit (directory). Bonusi ...
|
In das Form PTC Creo Elements/Programmierung wechseln |
|
PTC Creo Elements/Programmierung : Ist es möglich mehrere Textfelder in Zwischenablage kopieren?
clausb am 15.03.2018 um 09:57 Uhr (1)
Wenn ich mich recht entsinne, gibt es im IKIT keine offizielle Möglichkeit zum Zugriff auf das Clipboard.Ich sehe spontan drei mögliche Ansätze: Aufruf von clip.exe aus Lisp heraus .NET-API verwenden und damit Clipboard-APIs anderer Applikationen (z.B. IE) fernsteuern Mit Excel kann man auch per DDE kommunizieren. Dafür gibt es APIs in CoCreate Modeling, siehe http://www.clausbrod.de/cgi-bin/view.pl/CoCreateModeling/FaqDde und http://www.clausbrod.de/cgi-bin/view.pl/CoCreateModeling/MacroHelloExcel[Diese N ...
|
In das Form PTC Creo Elements/Programmierung wechseln |
|
PTC Creo Elements/Programmierung : Lisp und Oracle
clausb am 29.04.2018 um 17:44 Uhr (1)
Etwas Ähnliches habe ich in meiner Zeit bei CoCreate übers .NET-API geschrieben und für eine Demo verwendet. War nicht schwer, in wesentlichen habe ich nur Codebeispiele für VBScript nach Lisp übertragen.[Diese Nachricht wurde von clausb am 29. Apr. 2018 editiert.]
|
In das Form PTC Creo Elements/Programmierung wechseln |
|
PTC Creo Elements/Programmierung : Compile-File Funktion kennt er nicht
clausb am 22.06.2018 um 21:13 Uhr (1)
Die Version von Visual C++ für Deine Version von CoCreate Modeling findest Du in der Onlinehilfe zum Integration Kit ("Documentation for advanced users" / "Integration Kit" / "Introduction".Diesen und ein paar weitere allgemeine Hinweise zum Lisp-Compiler findest Du unter http://www.clausbrod.de/cgi-bin/view.pl/CoCreateModeling/OsdmFaqLispCompiler.Die Lizenzkosten musst Du bei PTC erfragen.Zur Ergänzung ist vielleicht noch diese Diskussion zum gleichen Thema im internationalen Userforum hilfreich: https:/ ...
|
In das Form PTC Creo Elements/Programmierung wechseln |
|
PTC Creo Elements/Programmierung : Abfrage Wer hat Lizenz in Gebrauch
clausb am 19.01.2009 um 08:23 Uhr (1)
Zitat:Original erstellt von der_Wolfgang:Überlegt hatte ich mir das auch... aber dafuer muesste man dann wget auf jedem Rechner haben.Nicht auf jedem - wahrscheinlich nur auf dem des CAD-Admins. Das sollte also keine wesentliche Einschränkung sein. Es ist nicht mal unwahrscheinlich, dass Tools wie wget auf einem solchen Rechner eh schon laufen.wget und Konsorten müssen aber in der Tat nicht sein. Wie Wolfgang beschreibt, ginge das auch aus Lisp heraus. Und ausserdem kann man den Inhalt von mit URL bezeic ...
|
In das Form PTC Creo Elements/Programmierung wechseln |
|
PTC Creo Elements/Programmierung : Debugger für Lisp - Creo Elements
clausb am 03.06.2019 um 22:48 Uhr (1)
Hier findest Du diverse Tipps zum Debuggen: http://www.clausbrod.de/cgi-bin/view.pl/CoCreateModeling/FaqLispDebugging------------------CoCreate Modeling FAQ: http://www.clausbrod.de/CoCreateModeling/ - Blog: http://www.clausbrod.de/Blog
|
In das Form PTC Creo Elements/Programmierung wechseln |
|
PTC Creo Elements/Direct Modeling : LISP Datei am Start ausführen - Warten auf Creo
clausb am 15.08.2019 um 10:55 Uhr (1)
Brechen wir das Problem aufs Elementare herunter.Code:(if cpart (do_something cpart) (display "Wird bei automatischem Start immer angezeigt"))Die (display)-Anweisung ist der else-Zweig des if-Statements. Wenn die Beobachtung ist, dass die (display)-Anweisung immer ausgeführt wird, bedeutet das also, dass es bei der Ausführung des Skripts kein "current part" gibt, was bedeutet, dass der Rückgabewert von (sd-inq-curr-part) offenbar NIL war. In diesem Fall wird (do_something) natürlich auch nicht ausg ...
|
In das Form PTC Creo Elements/Direct Modeling wechseln |